Segment integration
You can integrate the Adjust SDK with the Segment SDK in one of the following ways:
Independent SDK solution - The Adjust SDK works independently from the Segment SDK. Using this solution makes it easier for you to implement additional Adjust SDK features, such as deep links.
To learn how to complete setting up this integration in the Adjust and Segment dashboards, see Set up Segment independent integration.Wrapped SDK solution - The Segment SDK can wrap the Adjust SDK, connecting both SDKs in your app with minimal effort required. This lets you manage Adjust SDK deployment through the Segment SDK, and allows Adjust and Segment to track events in their respective systems. This solution uses SDK events and so is more robust for SKAdNetwork optimization.
To learn how to complete setting up this integration in the Adjust and Segment dashboards, see Set up Segment SDK-SDK integration.
With both solutions, you need to define your events in the Segment dashboard.
If you need to send events with custom parameters to your networks, for example to support dynamic retargeting, set up these events in the Segment SDK and Adjust SDK separately. Do not link these events in the Segment dashboard to the Adjust destination.
Independent SDK solution setup
1. Segment SDK setup
In the Segment SDK, you define your track
API call events. Each event records a single user action. The Segment SDK makes corresponding event tracking calls to the Adjust SDK in Cloud Mode.
- Integrate the Segment SDK (iOS | Android | React Native).
.context.device.id
or .context.device.type
in the track
payload. The Segment SDK automatically retrieves these attributes from the device. Manually passing these attributes can cause integration issues.
- Create
track
calls for each event that you want to track in your app (iOS | Android | React Native).- Optional: You can pass custom key value pairs into the
properties
object. The Segment SDK will pass these properties into the Adjust SDK event tracking call as Callback Parameters. Adjust Partner Parameters are not supported.
- Optional: You can pass custom key value pairs into the
2. Adjust SDK setup
- Integrate the Adjust SDK in your app (iOS | Android SDK).
- Pass the following parameters to the Adjust SDK as Session Partner Parameters (iOS | Android). In order for these parameters to be available on install or start of a session, you need to use Delay Start (iOS | Android).
Wrapped SDK solution setup
The Segment SDK initializes the Adjust SDK. Adjust then tracks installs and/or sessions automatically. The app then makes track
calls in the Segment SDK, which makes corresponding event tracking calls in the Adjust SDK in Device Mode.
Segment sometimes sends events in Cloud Mode even when using Device Mode. This is a known issue. This causes Adjust to receive events from the Adjust SDK and the S2S integration, often on the same event token.
Add the Adjust integration in the Segment SDK (iOS | Android).
- (iOS) Add any additional iOS frameworks to your app.
- (Android) Add the following to your app:
Create
track
calls for each event that you want to track in your app (iOS | Android | React Native).- Optional: You can pass custom key value pairs into the
properties
object. The Segment SDK will pass these properties into the Adjust SDK event tracking call as Callback Parameters. Adjust Partner Parameters are not supported.
- Optional: You can pass custom key value pairs into the