DestinationsAnalyticsAdjust

Adjust

Send server-to-server (S2S) events to Adjust for mobile measurement and attribution analytics. Zeotap syncs event data from your warehouse directly to the Adjust S2S API, enabling offline conversion tracking, revenue reporting, and custom event attribution.

Prerequisites

  • An Adjust account with an active app
  • Your Adjust App Token (found in your app settings)
  • An Event Token for the event you want to track (created in the Adjust dashboard)
  • An S2S Authentication Token with the Events scope (generated under Protection > S2S Security)

Authentication

Adjust uses S2S Security Token authentication for server-to-server requests.

  1. In the Adjust dashboard, navigate to Protection > S2S Security
  2. Enable S2S authentication if not already active
  3. Click Generate Token and give it a descriptive name
  4. Select the Events scope (and optionally Sessions, Ad revenue)
  5. Copy the generated token
  6. Enter the token in Zeotap as the S2S Token

Configuration

FieldTypeRequiredDescription
App TokenTextYesThe Adjust app token identifying your application

Target Settings

FieldTypeRequiredDescription
Event TokenTextYesThe Adjust event token for the event you want to track

Supported Operations

Sync Modes

ModeSupported
InsertYes
Upsert
Update
Mirror

Adjust is an append-only event tracking API. Only the Insert sync mode is supported because events cannot be updated or deleted after submission.

Audience Sync Modes

Adjust does not support audience or segment membership management. Audience syncs are not available for this destination.

Features

  • Field Mapping: Yes
  • Schema Introspection: No

Required Mapping Fields

FieldDescription
device_idA device advertising identifier (IDFA, Google Advertising ID, Android ID, etc.)

Default Destination Fields

FieldTypeDescription
device_idstringDevice advertising identifier (maps to idfa, gps_adid, or adid depending on device_id_type)
device_id_typestringType of device identifier: idfa, gps_adid, android_id, idfv, or adid
created_attimestampWhen the event occurred (ISO 8601 or UNIX timestamp)
ip_addressstringIPv4 address of the device
user_agentstringDevice user agent string
revenuenumberRevenue amount in full currency units (minimum 0.001)
currencystringCurrency code (e.g. USD, EUR) for revenue events
environmentstringsandbox or production (defaults to production)
callback_paramsjsonJSON object of string key-value pairs for raw data exports
partner_paramsjsonJSON object of string key-value pairs shared with network partners

How It Works

  1. Zeotap reads rows from your configured model or audience
  2. Each row is mapped to Adjust S2S event parameters using your field mapping
  3. The device_id field is sent as the appropriate device identifier parameter (idfa, gps_adid, android_id, idfv, or adid) based on the device_id_type field
  4. Events are sent individually via POST to https://s2s.adjust.com/event with application/x-www-form-urlencoded content type
  5. Each request includes the app_token, event_token, s2s=1 flag, and the Bearer token in the Authorization header
  6. Failed events are retried up to 3 times with exponential backoff

Rate Limits

Adjust does not publish explicit rate limits for the S2S API. Zeotap sends events sequentially to avoid overwhelming the endpoint. If you experience throttling (HTTP 429 responses), Zeotap automatically retries with exponential backoff and respects Retry-After headers.

Best Practices

  • Always provide device_id_type alongside device_id to ensure the correct identifier parameter is used. Without it, the ID defaults to adid (Adjust device ID).
  • Include timestamps via the created_at field to ensure accurate event attribution. Events must be submitted chronologically per device.
  • Submit events within 58 days of when they occurred. Adjust rejects events older than 58 days.
  • Use sandbox environment for testing before switching to production.
  • Map revenue and currency together when tracking revenue events. Both fields are required for revenue attribution.
  • Include ip_address when available for geo-attribution accuracy. Only IPv4 addresses are supported.

Troubleshooting

Events not appearing in Adjust dashboard

Verify your App Token and Event Token are correct. Check that the event token belongs to the app associated with the app token. Events may take a few minutes to appear in the dashboard.

401 Unauthorized errors

Your S2S token is invalid or expired. Generate a new token in the Adjust dashboard under Protection > S2S Security and ensure it has the Events scope enabled.

Missing device identifier errors

Every event requires at least one device identifier. Ensure your field mapping includes device_id and consider providing device_id_type to specify the identifier format.

Revenue not tracked

Both revenue and currency fields must be mapped for revenue events. The revenue value must be at least 0.001 in full currency units (e.g., 1.50 for $1.50, not 150 cents).

Events rejected as too old

Adjust rejects events older than 58 days. Ensure your created_at timestamp is within this window. If not provided, Adjust uses the server receipt time.

Sandbox events appearing in production

Check that the environment field is set to sandbox for test data. If omitted, Adjust defaults to production.