Basic event setup
All event tracking begins with creating an event token in the Adjust dashboard. (If you want to track in-app purchases or transactions, you will need to set up revenue event tracking.) After you've created your Adjust event tokens, you can implement event tracking. Adjust event tracking can occur client side—within the Adjust SDK—or through a seamless server-to-server integration. 

Note: In our advanced setup, you can then further customize your integration by setting up unique events (that are only tracked once per device) or assigning custom user details to each event trigger.

To track in-app events in Adjust, follow these steps.

Step 1: Generate event tokens in the Adjust dashboard

Whether your events are tracked within the Adjust SDK or transmitted server-side, all event tracking begins with generating an event token in your Adjust dashboard. To create event tokens, follow these steps.
  1. Navigate to your app and select your app options caret (^)
  2. Select All Settings > (SETTINGS) Events
  3. Navigate to the CREATE NEW EVENT field at the bottom of the module and enter the name of your event
  4. Select CREATE
Note: Do not create custom events for the following attribution activities, which are already automatically tracked through your Adjust integration:
  • Clicks
  • Installs
  • Sessions
  • Reattributions
  • Updated attributions

Step 2: Set up in-app event tracking

After you create your event tokens, determine which implementation method best suits your workflow. Adjust event tracking can be set up within the Adjust SDK or through a server-to-server integration. Each method of implementation is equally effective, and it's always recommended that you consult your app developers early and include them in this critical integration process.

All events tracked within the Adjust SDK are recorded autonomously and in real time. However, tracking events within the Adjust SDK can come with some constraints, as limited development time may restrict modifications made to your in-app conversion chain.

Server-side integration is especially useful for tracking expected behaviors that are processed outside of your app, and it reduces the amount of code in your Adjust SDK. On the other hand, server-to-server integration does require certain system specifications that may not exist in your current database management solution.

Once you've decided on your preferred integration method, refer to the subsequent sections for further setup instructions.

Note: Whether you track events within the Adjust SDK or through a server-to-server integration, Adjust cannot process event data larger than 1MB.

Track in-app events with the Adjust SDK

Event tracking can be set up within the Adjust SDK by your developer. Instructions for each development platform can be found on GitHub in the following locations:

Track in-app events server-to-server

Adjust uses server-side event tracking to report in-app events transmitted directly from your servers (i.e., callbacks). This server-side integration is useful for tracking expected behaviors that are processed outside of your app and reduces the amount of code in your Adjust SDK. 

To trigger a server-to-server (S2S) event in Adjust, you must comply with the following system requirements and include all mandatory parameters. See an example S2S event.

  • All POST callbacks must be sent synchronously from your server
  • All S2S events on each Adjust event token must be submitted chronologically. For example, if a day-3 event on token X is sent after a day-7 event on token X, we will reject the older event.
  • All S2S events must be submitted within 28 days; any activity older than 28 days will be rejected
Designated Adjust server endpoint
Mandatory parameters for event submission
idfa; gps_adid; etc. 
(varies by platform)
The user's device identifier. See a list of all Adjust-accepted device identifiersidfa=D2CADB5F-410F-4963-AC0C-2A78534BDF1E

event_tokenThe Adjust event token from the Adjust dashboardevent_token=f0ob4r
app_tokenThe Adjust app token from the Adjust dashboardapp_token=4w565xzmb54d
created_atThe encoded local timestamp for when the event was triggered, including time zonecreated_at=2016-01-02T15%3A04%3A05Z-0700
s2sThe s2s parameter must be set to 11

Notes for created_at:

  • You must include a time zone with your server-side event call to Adjust. Otherwise, Adjust will disregard the created_at timestamp and default to the ReceivedAt timestamp.
  • Any time zone including a + (e.g., Z+200) must be encoded
    • Example: 
      2017-01-02T15:04:05Z+0200 becomes created_at=2017-01-02T15%cA04%3A05Z%2B0200
  • If you are using a Unix timestamp, you must use the created_at_unix parameter, e.g., created_at_unix=1484085154
    • Adjust's current Unix timestamp implementation does not support any floating point values or non-numeric characters, including decimal points (.). Any timestamp submitted with non-numeric characters will be rejected. 
Recommended additional parameters for event submission
For Android
Android ID: android_id=
For iOS
IDFV: idfv=
IP address
We recommend including the ip_address= parameter in server-to-server events whenever possible. Some networks (e.g., Google) require the user's IP address when we link events to them, and some Adjust placeholders for callbacks (e.g., city, postal_code) rely on the user's IP address.
Example: incoming event URL
Setup completion
Successfully tracked events will return a response reading OK.

If you receive an error, it is likely that Adjust didn't recognize the device identifier submitted. Reach out to for further assistance. 

Track in-app events with Google Tag Manager

As defined by Google, a tag is a snippet of code that sends information to a third party. The Google Tag Manager (GTM) lets you moderate these tags across all of your source files. Through our server-to-server integration with GTM, you can track all tags as in-app events within Adjust. Enabling this integration allows GTM to push events from Google's servers to Adjust's endpoints, thereby saving you the hassle of duplicating event tracking within Adjust's platform.

Mapping events between Adjust and GTM requires corresponding Adjust app and event tokens.

  • App tokens are located in the app settings section of your Adjust dashboard
  • Event tokens can be found in your app's All Settings > (SETTINGS) Events


In the GTM dashboard
  1. Log in to your Google Tag Manager account and navigate to the Container section
  2. Select Add New Tag and select Adjust as the product
  3. Configure the tag and insert your app token and event tokens when prompted
  4. Please note the necessary configuration settings as applicable for revenue events or events that you want tracked in the Adjust sandbox environment. Additionally, you can link callback or partner parameters tracked with each tag.
  5. Once the settings are configured, determine which in-app events will trigger the tag. You can opt to select all events or define rules and/or exceptions.
  6. Select Create Tag to complete the process

On this topic