Best practices for callbacks

Adjust’s callbacks let you receive raw, unaggregated data. Use our extensive range of placeholders to receive dynamic information on any data point measured by Adjust, including clicks, installs, and in-app events. With access to raw data, you can identify which users have the highest retargeting potential and make better-informed marketing decisions.

Here, you can find best practices for implementing callbacks. We outline considerations for before you begin and list recommended placeholders for all callback types so that you receive useful data for analysis.

Initial setup

How you use Adjust’s callbacks depends upon your client's marketing objectives and your campaign optimization strategies. Before going live, make sure that you have useful placeholders appended to your callback URLs to support these goals. We have detailed our recommended placeholders below.

Although you can trigger callbacks on any event, requesting callbacks on every engagement creates two challenges:

  • Creates pressure on your internal servers. This could mean that anything accessing the server (including the app itself) could be affected by callback traffic, potentially slowing performance.
  • Affects successful analysis. Consider whether narrowing the scope to just specific actions helps you gain key insights in less time.

Confirm your server setup

Before you set up your callbacks, you need to set up your own business intelligence solution or data warehouse to receive GET (or POST, for integrated ad networks) syntax requests. Confirm that your server can receive all of your parameters and store all incoming data. The number of users in your app affects how fast your servers need to be.

If you record one-time events, for example registrations, you will receive one callback for each converting user. Callbacks for conversion events usually do not have a major impact on server bandwidth.

Recommended placeholders for all callback URLs

We recommend that you include the following placeholders in all callback URLs. These placeholders will ensure that you always receive key information that you can use to identify the app, link URL, data point, and device to which the rest of your callback data belongs.

Additionally, you can include any placeholder from our full list of Adjust placeholders for partners.

Note:
Adjust can only send placeholder information that is available when you request your callback. For example, click callbacks cannot include the {installed_at} timestamp.
PlaceholderDescriptionExample
{gps_adid}Google Play Store advertising ID (Android only)38400000-8cf0-11bd-b23e-10b96e40000d
{idfa}ID for advertisers (iOS only)8C6CBCOD-5F43-4765-A6E6-84DFF3D24707
{idfv}ID for vendors (iOS only)CCB300A0-DE1B-4D48-BC7E-599E453B8DD4
{adid}Adjust device ID (all platforms)18546f6171f67e29d1cb983322ad1329
{tracker_name}Current URL encoded link name as defined in AdjustNetwork1%3A%3AChristmas%3A%3AReindeers%3A%3A320x70_en
{app_name}iOS - Bundle ID obtained from the SDK, fallback to App ID filled in the Adjust dashboard
Android - Package name
iOS - com.adjust.insights or 1125517808
Android - com.adjust.insights
{activity_kind}Type of user activityinstall; reattribution; session; event; rejected_install, or rejected_reattribution
{created_at}Activity timestamp1404214665
Note:
If your client has configured their app as multiplatform, you need to include {gps_adid}, {idfa}, and {idfv}.
You can only remove {gps_adid} or {idfa} and {idfv} if their app is configured only for iOS or Android, respectively.

General placeholder advice

It is possible to string placeholders together to receive grouped values. You can do this by using a hyphen (-) between placeholders. This is useful for contextually related information, such as language and region.

Callback URLUnencoded (Do not use)
Callback URL populated with values
https://mynetworkserver.com/mobile_attribution?language_region={language}-{region}