adjust-icon

Send event information

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

Instantiate an AdjustEvent object

Method signature
constructor(eventToken: string)

To send event information with the Adjust SDK, you need to instantiate an AdjustEvent 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 AdjustEvent instance and pass the following parameters:

var adjustEvent = new AdjustEvent("abc123");
//...
Adjust.trackEvent(adjustEvent);

Send an event

Method signature
trackEvent: (adjustEvent: AdjustEvent) => void

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.
var adjustEvent = new AdjustEvent("abc123");
Adjust.trackEvent(adjustEvent);

Example

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

function _onPress_trackSimpleEvent() {
var adjustEvent = new AdjustEvent("g3mfiw");
Adjust.trackEvent(adjustEvent);
}
//...
<>
<View style={styles.container}>
<TouchableHighlight
style={styles.button}
onPress={_onPress_trackSimpleEvent}
>
<Text>Send Simple Event</Text>
</TouchableHighlight>
</View>
</>;
Event log
Path: /event
ClientSdk: reactnative4.38.1
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
public setRevenue(revenue: number, currency: string): void

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:

  • revenue (number): The amount of revenue generated by the event
  • currency (string): The ISO 4217 code of the event currency.
var adjustEvent = new AdjustEvent("abc123");
//...
adjustEvent.setRevenue(0.01, "EUR");
//...
Adjust.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.

function _onPress_trackRevenueEvent() {
var adjustEvent = new AdjustEvent("g3mfiw");
adjustEvent.setRevenue(0.25, "EUR");
Adjust.trackEvent(adjustEvent);
}
//...
<>
<View style={styles.container}>
<TouchableHighlight
style={styles.button}
onPress={_onPress_trackRevenueEvent}
>
<Text>Send Revenue Event</Text>
</TouchableHighlight>
</View>
</>;
Event log
Path: /event
ClientSdk: reactnative4.38.1
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

Deduplicate revenue events

Method signature
public setTransactionId(transactionId: string): void

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.

var adjustEvent = new AdjustEvent("abc123");
//...
adjustEvent.setTransactionId("{transactionId}");
//...
Adjust.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 uniqueId to 5e85484b-1ebc-4141-aab7-25b869e54c49 using the setTransactionId method.

function _onPress_trackRevenueEvent() {
var adjustEvent = new AdjustEvent("g3mfiw");
var uniqueId = "5e85484b-1ebc-4141-aab7-25b869e54c49";
adjustEvent.setTransactionId(uniqueId);
Adjust.trackEvent(adjustEvent);
}
//...
<>
<View style={styles.container}>
<TouchableHighlight
style={styles.button}
onPress={_onPress_trackRevenueEvent}
>
<Text>Send Revenue Event</Text>
</TouchableHighlight>
</View>
</>;
Event log
Path: /event
ClientSdk: reactnative4.38.1
Parameters:
environment sandbox
event_count 3
event_token abc123
transaction_id 5e85484b-1ebc-4141-aab7-25b869e54c49

Add callback parameters

Method signature
public addCallbackParameter(key: string, value: string): void

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.

var adjustEvent = new AdjustEvent("abc123");
//...
adjustEvent.addCallbackParameter("key", "value");
//...
Adjust.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
function _onPress_trackCallbackEvent() {
var adjustEvent = new AdjustEvent("g3mfiw");
adjustEvent.addCallbackParameter("event_token", "g3mfiw");
adjustEvent.addCallbackParameter("revenue_amount", "0.05");
Adjust.trackEvent(adjustEvent);
}
//...
<>
<View style={styles.container}>
<TouchableHighlight
style={styles.button}
onPress={_onPress_trackCallbackEvent}
>
<Text>Send Callback Event</Text>
</TouchableHighlight>
</View>
</>;
Event log
Path: /event
ClientSdk: reactnative4.38.1
Parameters:
callback_params {"event_token":"g3mfiw","revenue_amount":"0.05"}
environment sandbox
event_count 1
event_token g3mfiw

Add partner parameters

Method signature
public addPartnerParameter(key: string, value: string): void

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.

var adjustEvent = new AdjustEvent("abc123");
//...
adjustEvent.addPartnerParameter("key", "value");
//...
Adjust.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
function _onPress_trackPartnerEvent() {
var adjustEvent = new AdjustEvent("g3mfiw");
adjustEvent.addPartnerParameter("product_id", "29");
adjustEvent.addPartnerParameter("user_id", "835");
Adjust.trackEvent(adjustEvent);
}
//...
<>
<View style={styles.container}>
<TouchableHighlight
style={styles.button}
onPress={_onPress_trackPartnerEvent}
>
<Text>Send Partner Event</Text>
</TouchableHighlight>
</View>
</>;
Event log
Path: /event
ClientSdk: reactnative4.38.1
Parameters:
partner_params {"product_id":"29","user_id":"835"}
environment sandbox
event_count 1
event_token g3mfiw

Add a callback identifier

Method signature
public setCallbackId(callbackId: string): void

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.

var adjustEvent = new AdjustEvent("abc123");
//...
adjustEvent.setCallbackId("your_callback_id");
//...
Adjust.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.

function _onPress_trackUniqueCallbackEvent() {
var adjustEvent = new AdjustEvent("g3mfiw");
var callbackId = "f2e728d8-271b-49ab-80ea-27830a215147";
//...
adjustEvent.setCallbackId(callbackId);
//...
Adjust.trackEvent(adjustEvent);
}
//...
<>
<View style={styles.container}>
<TouchableHighlight
style={styles.button}
onPress={_onPress_trackUniqueCallbackEvent}
>
<Text>Send Unique Callback Event</Text>
</TouchableHighlight>
</View>
</>;
Event log
Path: /event
ClientSdk: reactnative4.38.1
Parameters:
environment sandbox
event_count 3
event_token g3mfiw
callback_id f2e728d8-271b-49ab-80ea-27830a215147