Adjust

Send your event data from RudderStack to Adjust.

Adjust is an industry-leading mobile attribution provider that allows you to bring all your business data together to get powerful insights from it.

RudderStack supports Adjust as a destination to which you can seamlessly send your event data.

info
Find the open source transformer code for this destination in the GitHub repository. You can also refer to the specific repositories for the Android and iOS implementations.

Getting started

Before configuring Adjust as a destination in RudderStack, verify if the source platform is supported by Adjust by referring to the table below:

info
To learn more about the difference between cloud mode and device mode in RudderStack, refer to the RudderStack Connection Modes guide.

Once you have confirmed that the platform supports sending events to Adjust, follow these steps:

  1. From your RudderStack dashboard, add the source. Then, from the list of destinations, select Adjust.
  2. Assign a name to the destination and click Continue.

Connection settings

To successfully configure Adjust as a destination, you will need to configure the following settings:

  • APP Token: Enter your Adjust app token. For more information on obtaining your Adjust app token, refer to the FAQ section below.
  • Send to Production Environment on Adjust: Enable this setting to send the data to the production environment in Adjust. By default, RudderStack sends the data to the Adjust sandbox environment.
  • Client-side Events Filtering: This setting lets you specify which events should be blocked or allowed to flow through to Adjust. This setting is applicable only when sending events to Adjust via device mode. For more information, refer to the Client-side Events Filtering guide.
  • Map events to Adjust Event Tokens: This setting lets you map the RudderStack events to Adjust’s event tokens. For more information on creating an event token in Adjust, refer to the FAQ section below.
  • RudderStack Parameters to Partner Parameters: This setting lets you map your event properties to specific Adjust partner parameters.
  • Delay Time before SDK initialization: This setting is applicable only for sending events via device mode. You can use it to initiate a delay in loading the SDK for the first time. For more information, refer to the Adjust documentation.
  • Use device mode to send events: Enable this setting for the Android/iOS SDK to send events to Adjust via device mode.
warning
Do not add native Adjust SDK to your project as it will prevent you from integrating it successfully.

Add a device mode integration

Follow these steps to add Adjust to your project depending on your integration platform:

Identify

RudderStack’s identify call lets you identify a visiting user and associate them to their actions.

RudderStack sends the user information in the identify call to Adjust’s addSessionPartnerParameter method to set the userId (or anonymousId, in case userId is absent), so that the user information is passed to the subsequent calls.

A sample identify call is shown below:

[[RudderClient sharedInstance] identify:@"developer_user_id"
                                 traits:@{@"foo": @"bar", @"foo1": @"bar1"}];

Track

The track call lets you record the user actions along with any properties associated with them.

When you make a track call, RudderStack maps the event name with the corresponding Adjust custom event in the dashboard using Adjust’s trackEvent method.

warning
Make sure you have defined the event mapping in the Map events to Adjust Event Tokens dashboard setting. Adjust will reject any events apart from these mappings.
info
The event token must already be created and present in the Adjust dashboard. For more information on creating a new event token, refer to the FAQ section below.

Sending callback parameters

RudderStack sends all custom properties in your track calls as callback parameters.

A sample track call is shown below:

[[RudderClient sharedInstance] track:@"test_event"
                          properties:@{@"key":@"value", @"foo": @"bar"}];

Sending partner parameters

You can also send custom properties in your track calls as partner parameters to Adjust. Adjust then sends those parameters to the external partners you have set up in your Adjust dashboard.

info
For more information on adding a partner in Adjust, refer to the FAQ section below.
warning
Make sure you have defined the property mapping in the RudderStack Parameters to Partner Parameters dashboard setting. Adjust will reject any properties apart from these mappings.

RudderStack uses the property mappings specified in the RudderStack Parameters to Partner Parameters setting to check if a key is present in the track event properties and maps it to the corresponding Adjust partner parameter object.

info
The partner parameters only accept the String data type.

Suppose a customer sets the following mapping in the RudderStack dashboard:

RudderStack propertyAdjust partner parameter
revenueprice
quantityquantity

A sample track call with the above properties is shown below:

[[RudderClient sharedInstance] track:@"purchase"
                          properties:@{@"revenue":@20.99,
                          @"currency": @"USD",
                          @"quantity": @10}];

The corresponding Adjust payload highlighting the parameters is shown below:

"params": {
  "android_id": "3f034872-5e28-45a1-9eda-ce22a3e36d1a",
  "gps_adid": "3f034872-5e28-45a1-9eda-ce22a3e36d1a",
  "att_status": 3,
  "tracking_enabled": true,
  "currency": "USD",
  "ip_address": "[::1]",
  "s2s": 1,
  "app_token": "t1yurrb968zk",
  "event_token": "tf4gm5",
  "environment": "production",
  "partner_params": {"price":"20.99","quantity":"10"}
},
info
RudderStack converts numeric values into strings before sending the data to Adjust.

Sending revenue tracking events

To send revenue tracking events to Adjust, your can add total and currency to your event properties:

[[RudderClient sharedInstance] track:@"purchase"
                          properties:@{@"total":@2.99, @"currency": @"USD"}];

Reset

You can use RudderStack’s reset method to call resetSessionCallbackParameters of the Adjust SDK to reset the user ID and the associated traits.

A sample reset call is shown below:

[[RudderClient sharedInstance] reset];

App install attribution

Adjust’s native SDK handles app install attribution out of the box with RudderStack.

warning
This feature is not supported when sending events via cloud mode.
info
For testing install attribution and troubleshooting tips, refer to the Adjust documentation.

Adjust environment dependency on log level

RudderStack sends data to the Adjust environment depending on the RudderLogLevel set in the SDK, as listed in the below table:

RudderLogLevelAdjust EnvironmentAdjust SDK LogLevel
DEBUG / VERBOSESandboxVERBOSE
NONE/ ERROR / WARN/ INFOProductionERROR
info

For more information on RudderLogLevel, refer to the following SDK documentation:

FAQ

Where can I find the Adjust app token?

To get your Adjust app token, follow these steps:

  1. Log into your Adjust dashboard.
  2. Find your app and select the app options caret (^):
Adjust app token
  1. You will find your app token listed here.
Adjust app token

How can I create a new event token in Adjust?

To create a new event token, follow these steps:

  1. Log into your Adjust dashboard.
  2. Find your app and select the app options caret (^):
Adjust app token
  1. Go to All Settings > Events:
Adjust event token
  1. Under CREATE NEW EVENT, enter the name of the event token and click CREATE.

How can I set up new partners in Adjust?

Adjust lets you provide additional data to certain integrated partners. To set up a new partner in Adjust, follow these steps:

  1. Log into your Adjust dashboard.
  2. Find your app and select the app options caret (^):
Adjust app token
  1. Go to All Settings > Partner Setup > ADD PARTNERS:
Adjust partner setup
  1. Select the partner from the list and click the + option on the right to add.
  2. Enter the relevant details to complete the configuration and click SAVE to complete the setup.

Questions? Contact us by email or on Slack