Adjust Cloud Mode Integration
Send events to Adjust in RudderStack cloud mode.
After you have successfully instrumented Adjust as a destination in RudderStack, follow this guide to correctly send your events to Adjust in cloud mode.
Find the open source transformer code for this destination in the GitHub repository.
Supported events
In cloud mode, RudderStack supports sending the following events to Adjust:

RudderStack does not support
Identify events in the cloud mode integration — these events are only available in device mode.
Track
The track
call lets you record 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 using Adjust’s server-to-server event endpoint.
A sample track
call is shown below:
rudderanalytics.track("Product Purchased", {
revenue: 20.99,
currency: "USD",
quantity: 10
});
Callback parameters
RudderStack sends all custom properties in your track
calls as callback parameters to Adjust. However, revenue
and currency
are excluded from callback parameters as they’re handled separately.
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. See the FAQ for more information on adding a partner in Adjust.
RudderStack uses the property mappings specified in the RudderStack Parameters to Partner Parameters dashboard setting to check if a key is present in the track
event properties and maps it to the corresponding Adjust partner parameter object.

- Adjust will reject any properties apart from mappings specified in the RudderStack Parameters to Partner Parameters dashboard setting.
- The partner parameters only accept the String data type. RudderStack automatically converts numeric values into strings before sending the data to Adjust.
Suppose you set the following mappings in the RudderStack dashboard:
RudderStack property | Adjust partner parameter |
---|
revenue | price |
quantity | quantity |
A sample track
call with the above properties is shown below:
rudderanalytics.track("purchase", {
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"
}
}
}
Revenue tracking
To send revenue tracking events to Adjust, add revenue
and currency
to your event properties:
rudderanalytics.track("purchase", {
revenue: 2.99,
currency: "USD"
});
If you don’t specify the currency
property, RudderStack defaults to USD
.
Device requirements
For cloud mode to work correctly, your events must include the following device information:
- Device type: Must be either
android
or an Apple family device (iOS, iPadOS, etc.) - Device ID: Required for identifying the device
- Advertising ID: Optional but recommended for better attribution
Property mapping
The following table highlights the mapping between RudderStack fields and Adjust parameters:
RudderStack property | Adjust parameter | Description |
---|
context.device.type Required | Platform detection | Must be android or Apple family device (for example, iOS ) |
context.device.id Required | android_id (Android)
idfv (Apple) | Device identifier for attribution |
context.device.advertisingId | gps_adid (Android)
idfa (Apple) | Advertising ID for better attribution |
context.device.attTrackingStatus | att_status | App Tracking Transparency status |
context.device.adTrackingEnabled | tracking_enabled | Ad tracking enabled status |
context.ip or request_ip | ip_address | IP address for geo-targeting |
properties.revenue | revenue | Revenue amount for purchase events |
properties.currency | currency | Currency code (defaults to USD ) |
properties.* | callback_params | All other properties as callback parameters |
properties.* (mapped) | partner_params | Mapped properties as partner parameters |

Note that:
revenue
and currency
are excluded from callback_params
as they’re handled separately.- Partner parameters only accept String data type — RudderStack automatically converts numeric values to strings before sending them to Adjust.
Troubleshooting
Issue | Resolution |
---|
Events failing with “Device type/id not present” error | Verify that you’re providing the type and id in the context.device field. |
Events not appearing in Adjust dashboard | - Verify that your event is mapped to an Adjust event token in the dashboard settings.
- Check that the event token exists in your Adjust dashboard.
- Ensure your App Token is correctly configured.
|
Questions? Contact us by Email or on
Slack