adjust-icon

Send event information

The Adjust SDK provides an AdjustEvent2dx object which can be used to structure and send event information from your app to Adjust’s servers.

Instantiate an AdjustEvent2dx object

Method signature
AdjustEvent2dx(std::string eventToken);

To send event information with the Adjust SDK, you need to instantiate an AdjustEvent2dx object. This object contains variables that are sent to Adjust when an event occurs in your app.

To instantiate an event object, create a new AdjustEvent2dx instance and pass the following parameters:

AdjustEvent2dx adjustEvent = AdjustEvent2dx("abc123");
Adjust2dx::trackEvent(adjustEvent);

Send an event

Method signature
static void trackEvent(AdjustEvent2dx event);

You can associate your Adjust event tokens to actions in your app to record them. To record an event:

  • Create a new Adjust event instance and pass your event token as a string argument.
  • Call the trackEvent method with your event instance as an argument.
AdjustEvent2dx adjustEvent = AdjustEvent2dx("abc123");
Adjust2dx::trackEvent(adjustEvent);

Example

This example shows how to record an event with the token g3mfiw whenever a user interacts with a button.

bool HelloWorld::init() {
auto position =
Vec2(origin.x + visibleSize.width / 2,
origin.y + visibleSize.height - label->getContentSize().height
+ offset
- divide * (++index));
makeButton(mainmenu, "Track Event", position,
CC_CALLBACK_1(HelloWorld::onTrackEvent, this));
}
//...
void HelloWorld::onTrackEvent(cocos2d::Ref *pSender) {
auto adjustEvent = AdjustEvent2dx("g3mfiw");
Adjust2dx::trackEvent(adjustEvent);
}
Event log
Path: /event
ClientSdk: cocos2d-x4.38.0
Parameters:
android_uuid 781f17d5-5048-4fae-a4e5-77b58bab62b9
api_level 34
41 collapsed lines
app_token 2fm9gkqubvpc
app_version 1.0
attribution_deeplink 1
callback_params {"key":"value","foo":"bar"}
connectivity_type 1
country US
cpu_type arm64-v8a
created_at 2024-01-25T14:13:16.151Z+0100
currency EUR
device_manufacturer Google
device_name sdk_gphone64_arm64
device_type phone
display_height 2205
display_width 1080
environment sandbox
event_buffering_enabled 0
event_count 3
event_token g3mfiw
gps_adid 5962dfc1-3a53-4692-850b-22c4bf4311a5
gps_adid_attempt 2
gps_adid_src service
hardware_name UE1A.230829.036
language en
mcc 310
mnc 260
needs_response_details 1
os_build UE1A.230829.036
os_name android
os_version 14
package_name com.adjust.examples
partner_params {"key":"value","foo":"bar"}
revenue 0.25
screen_density high
screen_format long
screen_size normal
session_count 2
session_length 23
subsession_count 1
time_spent 23
tracking_enabled 1
ui_mode 1

Record event revenue

Method signature
void setRevenue(double amount, std::string currency);

You can record revenue associated with an event by setting the revenue and currency properties on your event instance. Use this feature to record revenue-generating actions in your app.

To set these properties, call the setRevenue method and pass the following arguments:

  • amount (double): The amount of revenue generated by the event
  • currency (string): The ISO 4217 code of the event currency.
AdjustEvent2dx adjustEvent = AdjustEvent2dx("abc123");
adjustEvent.setRevenue(0.01, "EUR");
Adjust2dx::trackEvent(adjustEvent);

Example

This example shows how to record an event with the token g3mfiw whenever a user interacts with a button. The function sets the revenue property of this event to 0.25 and the currency property to EUR.

bool HelloWorld::init() {
position =
Vec2(origin.x + visibleSize.width / 2,
origin.y + visibleSize.height - label->getContentSize().height
+ offset
- divide * (++index));
makeButton(mainmenu, "Track Revenue Event", position,
CC_CALLBACK_1(HelloWorld::onTrackRevenueEvent, this));
}
//...
void HelloWorld::onTrackRevenueEvent(cocos2d::Ref *pSender) {
auto adjustEvent = AdjustEvent2dx("g3mfiw");
adjustEvent.setRevenue(0.25, "EUR");
adjustEvent.setTransactionId("DUMMY_TRANSACTION_ID");
Adjust2dx::trackEvent(adjustEvent);
}
Event log
Path: /event
ClientSdk: cocos2d-x4.38.0
Parameters:
environment sandbox
event_count 3
event_token abc123
revenue 0.25
currency EUR

Purchase verification

Added in v3.37.0

If you’ve enabled purchase verification, you must send additional information with your purchase events to verify them. When Adjust’s servers receive this information in an event object, they forward it to Apple to verify the purchase.

Set a unique order ID

Method signature
void setTransactionId(std::string transactionId);

You can pass an optional identifier to avoid recording duplicate events. The SDK stores the last ten identifiers and skips revenue events with duplicate transaction IDs.

To set the identifier, call the setTransactionId method and pass your transaction ID as a string argument.

AdjustEvent2dx adjustEvent = AdjustEvent2dx("abc123");
adjustEvent.setRevenue(0.01, "EUR");
adjustEvent.setTransactionId("transactionID");
Adjust2dx::trackEvent(adjustEvent);

Example

This example shows how to record an event with the token g3mfiw whenever a user interacts with a button. The function sets the orderId to 5e85484b-1ebc-4141-aab7-25b869e54c49 using the setOrderId method.

bool HelloWorld::init() {
position =
Vec2(origin.x + visibleSize.width / 2,
origin.y + visibleSize.height - label->getContentSize().height
+ offset
- divide * (++index));
makeButton(mainmenu, "Track Unique Event", position,
CC_CALLBACK_1(HelloWorld::onTrackUniqueEvent, this));
}
//...
void HelloWorld::onTrackUniqueEvent(cocos2d::Ref *pSender) {
auto adjustEvent = AdjustEvent2dx("g3mfiw");
adjustEvent.setRevenue(0.25, "EUR");
adjustEvent.setTransactionId("5e85484b-1ebc-4141-aab7-25b869e54c49");
Adjust2dx::trackEvent(adjustEvent);
}
Event log
Path: /event
ClientSdk: cocos2d-x4.38.0
Parameters:
environment sandbox
event_count 3
event_token g3mfiw
transaction_id 5e85484b-1ebc-4141-aab7-25b869e54c49

Add callback parameters

Method signature
void addCallbackParameter(std::string key, std::string value);

If you register a callback URL in the Adjust dashboard, the SDK sends a GET request to your callback URL when it records an event.

You can configure callback parameters to send to your servers. Once you configure parameters on an event, the SDK appends them to your callback URL. You can use this information to analyze your users’ in-app behavior with your BI system.

Add callback parameters to your event by calling the addCallbackParameter method with string key-value arguments. You can add multiple parameters by calling this method multiple times.

AdjustEvent2dx adjustEvent = AdjustEvent2dx("abc123");
adjustEvent.addCallbackParameter("key", "value");
adjustEvent.addCallbackParameter("foo", "bar");
Adjust2dx::trackEvent(adjustEvent);

The Adjust SDK measures the event and sends a request to your URL with the callback parameters. For example, if you register the URL https://www.mydomain.com/callback, your callback looks like this:

https://www.mydomain.com/callback?key=value&foo=bar

If you’re using CSV uploads, make sure to add the parameters to your CSV definition.

Adjust supports many placeholders which you can use to pass information from the SDK to your URL. For example, the {idfa} placeholder for iOS and the {gps_adid} placeholder for Android. The {publisher_parameter} placeholder presents all callback parameters in a single string.

Example

This example shows how to record an event with the token g3mfiw whenever a user interacts with a button. The following callback parameters are added:

  • The event_token
  • The revenue_amount generated by the event

The resulting callback URL looks like this:

http://www.mydomain.com/callback?event_token=g3mfiw&revenue_amount=0.05
bool HelloWorld::init() {
position =
Vec2(origin.x + visibleSize.width / 2,
origin.y + visibleSize.height - label->getContentSize().height
+ offset
- divide * (++index));
makeButton(mainmenu, "Track Callback Event", position,
CC_CALLBACK_1(HelloWorld::onTrackCallbackEvent, this));
}
//...
void HelloWorld::onTrackCallbackEvent(cocos2d::Ref *pSender) {
auto adjustEvent = AdjustEvent2dx("g3mfiw");
adjustEvent.setRevenue(0.25, "EUR");
adjustEvent.addCallbackParameter("event_token", "g3mfiw");
adjustEvent.addCallbackParameter("revenue_amount", "0.05");
Adjust2dx::trackEvent(adjustEvent);
}

You can check the parameters were sent to Adjust by checking for callback_params in your logs.

Event log
Path: /event
ClientSdk: cocos2d-x4.38.0
Parameters:
callback_params {"event_token":"g3mfiw","revenue_amount":"0.05"}
environment sandbox
event_count 1
event_token g3mfiw

Add partner parameters

Method signature
void addPartnerParameter(std::string key, std::string value);

You can send extra information to your network partners by adding partner parameters.

Adjust sends partner parameters to external partners you have set up. This information is useful for more granular analysis and retargeting purposes. Adjust’s servers forward these parameters once you have set them up and enabled them for a partner.

Add partner parameters to your event by calling the addPartnerParameter method with string key-value arguments. You can add multiple parameters by calling this method multiple times.

AdjustEvent2dx adjustEvent = AdjustEvent2dx("abc123");
adjustEvent.addPartnerParameter("key", "value");
adjustEvent.addPartnerParameter("foo", "bar");
Adjust2dx::trackEvent(adjustEvent);

Example

This example shows how to record an event with the token g3mfiw whenever a user interacts with a button. The following partner parameters are added:

  • The product_id of the associated product
  • The user_id of the user who triggered the event
bool HelloWorld::init() {
position =
Vec2(origin.x + visibleSize.width / 2,
origin.y + visibleSize.height - label->getContentSize().height
+ offset
- divide * (++index));
makeButton(mainmenu, "Track Partner Event", position,
CC_CALLBACK_1(HelloWorld::onTrackPartnerEvent, this));
}
//...
void HelloWorld::onTrackPartnerEvent(cocos2d::Ref *pSender) {
auto adjustEvent = AdjustEvent2dx("g3mfiw");
adjustEvent.setRevenue(0.25, "EUR");
adjustEvent.addPartnerParameter("product_id", "29");
adjustEvent.addPartnerParameter("user_id", "835");
Adjust2dx::trackEvent(adjustEvent);
}

You can check the parameters were sent to Adjust by checking for partner_params in your logs.

Event log
Path: /event
ClientSdk: cocos2d-x4.38.0
Parameters:
partner_params {"product_id":"29","user_id":"835"}
environment sandbox
event_count 1
event_token g3mfiw

Add a callback identifier

Method signature
void setCallbackId(std::string callbackId);

You can add a custom string identifier to each event you want to measure. Adjust’s servers can report on this identifier in event callbacks. This enables you to keep track of which events have been successfully measured.

Set up this identifier by calling the setCallbackId method with your ID as a string argument.

AdjustEvent2dx adjustEvent = AdjustEvent2dx("abc123");
adjustEvent.setCallbackId("Your-Custom-Id");
Adjust2dx::trackEvent(adjustEvent);

Example

This example shows how to record an event with the token g3mfiw whenever a user interacts with a button. In this example, the callbackId is set to f2e728d8-271b-49ab-80ea-27830a215147.

bool HelloWorld::init() {
position =
Vec2(origin.x + visibleSize.width / 2,
origin.y + visibleSize.height - label->getContentSize().height
+ offset
- divide * (++index));
makeButton(mainmenu, "Track Partner Event", position,
CC_CALLBACK_1(HelloWorld::onTrackCallbackIdEvent, this));
}
//...
void HelloWorld::onTrackCallbackIdEvent(cocos2d::Ref *pSender) {
auto adjustEvent = AdjustEvent2dx("g3mfiw");
adjustEvent.setCallbackId("f2e728d8-271b-49ab-80ea-27830a215147");
Adjust2dx::trackEvent(adjustEvent);
}
Event log
Path: /event
ClientSdk: cocos2d-x4.38.0
Parameters:
environment sandbox
event_count 3
event_token g3mfiw
callback_id f2e728d8-271b-49ab-80ea-27830a215147