Explore Adjust, the industry leader in mobile measurement and fraud prevention, and make your data-driven business successful.

Adjust is the mobile attribution provider which brings all the business data to gather a powerful insight. You can check the code for Adjust destination on GitHub for Android and iOS. By making marketing simpler, smarter and more secure, we empower data-driven marketers to succeed.

Getting Started

As an initial step, check whether the platform you are working on is supported by Adjust Destination.







☁️ Cloud-mode




  1. From your dashboard add Adjust as a destination.

  2. Do not add native Adjust SDK to your project as it will prevent you from successful integration.

  3. Depending on your platform of integration follow the steps below to add Adjust to your project.


If you are on iOS platform, simply add the following line to your CocoaPods Podfile

pod 'Rudder-Adjust'

After adding the dependency, you must register the RudderAdjustFactory with your RudderClient initialization as a factory of RudderConfig. To do this, import this in your AppDelegate.m file.

#import <Rudder-Adjust/RudderAdjustFactory.h>

Then change the SDK intialization as following.

RudderConfigBuilder *builder = [[RudderConfigBuilder alloc] init];
[builder withEndPointUrl:@"YOUR_DATA_PLANE_URL"];
[builder withFactory:[RudderAdjustFactory instance]];
[builder withLoglevel:4];
[RudderClient getInstance:@"YOUR_WRITE_KEY" config:[builder build]];


If you are on Android platform, simply add the following line to your app/build.gradle file under dependencies section.

implementation ''

After adding the dependency you must register the RudderAdjustFactory with your RudderClient initialization as a factory of RudderConfig . To do this, import this in your Application class.


Then change the SDK initialization as following.

rudderClient = RudderClient.getInstance(


To add Adjust Native SDK via Rudder follow our Adjust Native SDK document.


When you call identify for tracking user data, Rudder will call Adjust's addSessionPartnerParameter method to set anonymousId and/or userId so that, the value is passed from Adjust to subsuquent calls.

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


When you call track Rudder maps the eventName with the pre-defined list of custom-events from Adjust. You must define the map of Adjust eventToken to eventName in the dashboard. If you don't define the mapping Adjust will not accept the event. We will add all the properties as callbackParameter in the Adjust event.

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

For revenue event, add the fields total and currency to properties and it will be mapped to Adjust's revenue event.

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


if you call reset method, Rudde will call resetSessionCallbackParameters of Adjust SDK.

[[RudderClient sharedInstance] reset];

Install Attribution

Adjust native SDK handles install attribution out of the box with Rudder. For testing Install Attribution and troubleshooting follow this.

Additional Features

Environment and Logging

Adjust Environment depends on the RudderLogLevel. RudderLogLevel.DEBUG or higher will set the environment to Sandbox and logLevel to VERBOSE and for anything below that environment will be set to Production and logLevel to ERROR.