Callbacks: best practices
Adjust’s real-time callbacks let you receive raw, unaggregated data. Use our extensive range of placeholders to receive dynamic information on any Adjust-tracked data point, including clicks, installs, and in-app events. With access to raw data, you can identify which users have the highest retargeting potential and make more informed marketing decisions.
We’ve outlined how to set up your callbacks, as well as how to use dynamic callback parameters, filter your callback data, and export custom data. Here you can find our recommended approach to implementing callbacks. We have outlined some general advice and listed placeholders for each Adjust-tracked data point to guarantee your callbacks contain useful data for analysis.
Why should I use callbacks?
Adjust’s real-time callbacks are the only way to receive raw data directly on your own servers. Adjust does not permanently store raw data, and you cannot export raw data from the Adjust dashboard, which only reports aggregated data. Raw data is essential for user-level analysis and personalized retargeting efforts.
General callback advice
The way you use Adjust’s real-time callbacks will depend on your marketing objectives. The best practical advice is to ensure that you have the most useful placeholders appended to your callback URLs. We have detailed our recommended placeholders below. You can, of course, include any placeholder from our full list of Adjust placeholders.
Often, callback data is used to determine which users have the highest retargeting potential. Identify users that made significant in-app purchases before becoming inactive, for example, and you can retarget these users directly.
We recommend that you use our Amazon S3 bucket integration alongside our real-time callbacks, setting up the same placeholders on the same data points. The S3 bucket will act as a backup, ensuring that no data is lost if your server experiences downtime. Should you experience any server outages, you can use the data that continues to come into your S3 bucket to fill in the gaps.
You can add as many callback URLs as you need to each Adjust-tracked data point. To do this, separate the URLs with a space in the CALLBACK URL field within the dashboard.
Callback URL template
https://serverendpoint.com/mobile_attribution?gps_adid={gps_adid}&idfa={idfa}&idfv={idfv}&adid={adid}&tracker_token={tracker}&tracker_name={tracker_name}&app_name={app_name}&activity_kind={activity_kind}&created_at={created_at}&event_token={event}&event_name={event_name} https://secondserverendpoint.com/mobile_attribution?gps_adid={gps_adid}&idfa={idfa}&idfv={idfv}&adid={adid}&tracker_token={tracker}&tracker_name={tracker_name}&app_name={app_name}&activity_kind={activity_kind}&created_at={created_at}
Callback string with values to first endpoint
gps_adid=38400000-8cf0-11bd-b23e-10b96e40000d&adid=18546f6171f67e29d1cb983322ad1329&tracker_token=abc123&tracker_name=Network1%3A%3AChristmas%3A%3AReindeers%3A%3A320x70_en&app_name=MyApp&activity_kind=event&created_at=1404214665&event_token=bkrfgq&event_name=purchase_100_coins
Callback string with values to second endpoint
idfa=8C6CBCOD-5F43-4765-A6E6-84DFF3D24707&idfv=CCB300A0-DE1B-4D48-BC7E-599E453B8DD4&adid=18546f6171f67e29d1cb983322ad1329&tracker_token=abc123&tracker_name=Network1%3A%3AChristmas%3A%3AReindeers%3A%3A320x70_en&app_name=MyApp&activity_kind=install&created_at=1404249583
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 URL template
https://serverendpoint.com/mobile_attribution?language_region={language}-{region}
Callback string with values
language_region=en-us
Recommended placeholders for all callback URLs
We advise that you include the following placeholders in all callback URLs. These placeholders will ensure that you always receive basic information that you can use to identify the app, tracker, data point, and device to which the rest of your callback data belongs.
Placeholder | Description | Example |
---|---|---|
{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 | 18546f6171f67e29d1cb983322ad1329 |
{tracker} | Adjust tracker token | abc123 |
{tracker_name} | Current tracker name as defined in the Adjust dashboard | Network1%3A%3AChristmas%3A%3AReindeers%3A%3A320x70_en |
{app_name} | Name of the app | MyApp |
{activity_kind} | This will allow you to determine the data point: impression, click, install, rejected install, rejected reattribution, session, reattribution, uninstall, reinstall, reattribution reinstall, updated attribution, in-app event, or ad spend (cost_updated ) | rejected_reattribution |
{created_at} | The timestamp for when the data point occurred | 1404214665 |
Note: You should include {gps_adid}
, {idfa}
and {idfv}
if your app is configured as multiplatform in the Adjust dashboard. All callback examples on this page include all three placeholders. You can remove either {gps_adid}
or {idfa}
and {idfv}
if your app is only configured for iOS or Android.
Recommended placeholders for Adjust-tracked data points
There are additional placeholders that we recommend including for specific data points. These placeholders provide information specifically related to the data point for which you are receiving the callback.
Adjust can send callbacks for the following Adjust-tracked data points:
- Impression
- Click
- Install
- Rejected install*
- Session
- Custom in-app event
- Reattribution
- Rejected reattribution*
- Uninstall**
- Reinstall**
- Reattribution reinstall**
- Updated attribution
- Ad spend***
- Self-attributing network click / impression****
- Global
- Ad revenue*****
*Only available if you have purchased Adjust’s Fraud Prevention Suite
**Only available if you have purchased our uninstall and reinstall tracking package. Contact sales@adjust.com for more information.
***Only available on the Business Pro pricing plan and above
****Only available if you have purchased our Multi-Touch solution. Contact sales@adjust.com for more information.
*****Only available if you have purchased our ad revenue package.
Below you can find a brief description of each data point, along with a list of recommended placeholders, a callback template, and an example of the callback string with values that your server would receive.
Impression
Impression callbacks are fired on every Adjust-tracked impression.
Placeholder | Description | Example |
---|---|---|
{impression_time} | Attributed impression timestamp | 1403568830 |
{impression_time_hour} | Attributed impression timestamp rounded to the nearest hour | 1499875200 |
Callback URL template
https://serverendpoint.com/mobile_attribution?gps_adid={gps_adid}&idfa={idfa}&idfv={idfv}&adid={adid}&tracker_token={tracker}&tracker_name={tracker_name}&app_name={app_name}&activity_kind={activity_kind}&created_at={created_at}&impression_time={impression_time}&impression_time_hour={impression_time_hour}
Callback string with values
gps_adid=38400000-8cf0-11bd-b23e-10b96e40000d&adid=18546f6171f67e29d1cb983322ad1329&tracker_token=abc123&tracker_name=Network1%3A%3AChristmas%3A%3AReindeers%3A%3A320x70_en&app_name=MyApp&activity_kind=impression&created_at=1533568830&impression_time=1533568830&impression_time_hour=1533567600
Click
Click callbacks are fired on every Adjust-tracked click.
Placeholder | Description | Example |
---|---|---|
{click_time} | Attributed click timestamp | 1403568849 |
{click_time_hour} | Attributed click timestamp rounded to the nearest hour | 1499864400 |
Callback URL template
https://serverendpoint.com/mobile_attribution?gps_adid={gps_adid}&idfa={idfa}&idfv={idfv}&adid={adid}&tracker_token={tracker}&tracker_name={tracker_name}&app_name={app_name}&activity_kind={activity_kind}&created_at={created_at}&click_time={click_time}&click_time_hour={click_time_hour}
Callback string with values
gps_adid=38400000-8cf0-11bd-b23e-10b96e40000d&adid=18546f6171f67e29d1cb983322ad1329&tracker_token=abc123&tracker_name=Network1%3A%3AChristmas%3A%3AReindeers%3A%3A320x70_en&app_name=MyApp&activity_kind=click&created_at=1533568830&click_time=1533568830&click_time_hour=1533567600
Install
Install callbacks are fired on every first in-app session (i.e., an install in Adjust).
Placeholder | Description | Example |
---|---|---|
{installed_at} | Install (i.e., first app open) timestamp | 1404214634 |
{installed_at_hour} | Install (i.e., first app open) timestamp rounded to the nearest hour | 1418169600 |
{conversion_duration} | Time between click and install or reattribution in seconds | 72 |
Callback URL template
https://serverendpoint.com/mobile_attribution?gps_adid={gps_adid}&idfa={idfa}&idfv={idfv}&adid={adid}&tracker_token={tracker}&tracker_name={tracker_name}&app_name={app_name}&activity_kind={activity_kind}&created_at={created_at}&installed_at={installed_at}&installed_at_hour={installed_at_hour}&conversion_duration={conversion_duration}
Callback string with values
idfa=8C6CBCOD-5F43-4765-A6E6-84DFF3D24707&idfv=CCB300A0-DE1B-4D48-BC7E-599E453B8DD4&adid=18546f6171f67e29d1cb983322ad1329&tracker_token=abc123&tracker_name=Network1%3A%3AChristmas%3A%3AReindeers%3A%3A320x70_en&app_name=MyApp&activity_kind=install&created_at=1533568830&installed_at=1533568830&installed_at_hour=1533567600&conversion_duration=1230
Session
Session callbacks are fired on every in-app session
Placeholder | Description | Example |
---|---|---|
{last_time_spent} | Length of user's last session in seconds | 74 |
{session_count} | Number of sessions recorded by current Adjust SDK | 34 |
{lifetime_session_count} | Number of sessions recorded across user lifetime | 185 |
Note: Installs and reattributions are also counted as sessions in your dashboard statistics, but not in your raw data exports.
Callback URL template
https://serverendpoint.com/mobile_attribution?gps_adid={gps_adid}&idfa={idfa}&idfv={idfv}&adid={adid}&tracker_token={tracker}&tracker_name={tracker_name}&app_name={app_name}&activity_kind={activity_kind}&created_at={created_at}&last_time_spent={last_time_spent}&session_count={session_count}&lifetime_session_count={lifetime_session_count}
Callback string with values
gps_adid=38400000-8cf0-11bd-b23e-10b96e40000d&adid=18546f6171f67e29d1cb983322ad1329&tracker_token=abc123&tracker_name=Network1%3A%3AChristmas%3A%3AReindeers%3A%3A320x70_en&app_name=MyApp&activity_kind=session&created_at=1533568830&last_time_spent=74&session_count=34&lifetime_session_count=78
Custom in-app event
Custom in-app event callbacks are fired every time an Adjust-tracked in-app event is triggered by a user. In-app event callbacks must be set up individually, per custom in-app event.
Placeholder | Description | Example |
---|---|---|
{event} | Event token | bkrfgq |
{event_name} | Event name as set in the Adjust dashboard | purchase_100_coins |
Note: Since event names can always be modified in the Adjust dashboard, the {event_name}
placeholder should only be used as a human-readable label. Conversely, event tokens are permanent, and can always be referenced in your reporting as a constant identifier.
Callback URL template
https://serverendpoint.com/mobile_attribution?gps_adid={gps_adid}&idfa={idfa}&idfv={idfv}&adid={adid}&tracker_token={tracker}&tracker_name={tracker_name}&app_name={app_name}&activity_kind={activity_kind}&created_at={created_at}&event_token={event}&event_name={event_name}
Callback string with values
idfa=8C6CBCOD-5F43-4765-A6E6-84DFF3D24707&idfv=CCB300A0-DE1B-4D48-BC7E-599E453B8DD4&adid=18546f6171f67e29d1cb983322ad1329&tracker_token=abc123&tracker_name=Network1%3A%3AChristmas%3A%3AReindeers%3A%3A320x70_en&app_name=MyApp&activity_kind=event&created_at=1533568830&event_token=bkrfgq&event_name=purchase_100_coins
Custom in-app revenue event
If you have configured custom revenue events, then you can collect this revenue information by adding any of the following placeholders to the relevant custom in-app event callback URLs. Revenue event callbacks must be set up individually for each revenue event.
Placeholder | Description | Example |
---|---|---|
{revenue_float} | Revenue as sent from the Adjust SDK or via S2S (in whole currency units) | 4.99 |
{revenue} | Revenue as sent from the Adjust SDK or via S2S (in cents) | 345 |
{currency} | Original ISO 4217 currency code sent from the Adjust SDK | eur |
{revenue_usd} | Revenue in US dollars | 3.99 |
{revenue_usd_cents} | Revenue in US cents | 399 |
{reporting_revenue} | Revenue as reported in the Adjust dashboard in whole currency units | 3.25 |
{reporting_currency} | ISO 4217 currency code used in Adjust dashboard reporting | eur |
Callback URL template
https://serverendpoint.com/mobile_attribution?gps_adid={gps_adid}&idfa={idfa}&idfv={idfv}&adid={adid}&tracker_token={tracker}&tracker_name={tracker_name}&app_name={app_name}&activity_kind={activity_kind}&created_at={created_at}&event_token={event}&event_name={event_name}&revenue_float={revenue_float}&revenue={revenue}¤cy={currency}&revenue_usd={revenue_usd}&revenue_usd_cents={revenue_usd_cents}&reporting_revenue={reporting_revenue}&reporting_currency={reporting_currency}
Callback string with values
idfa=8C6CBCOD-5F43-4765-A6E6-84DFF3D24707&idfv=CCB300A0-DE1B-4D48-BC7E-599E453B8DD4&adid=18546f6171f67e29d1cb983322ad1329&tracker_token=abc123&tracker_name=Network1%3A%3AChristmas%3A%3AReindeers%3A%3A320x70_en&app_name=MyApp&activity_kind=event&created_at=1533568830&event_token=bkrfgq&event_name=purchase_100_coins&revenue_float=4.99&revenue=499¤cy=usd&revenue_usd=4.99&revenue_usd_cents=499&reporting_revenue=4.99&reporting_currency=usd
Reattribution
Reattribution is the process of assigning a user to a new source of mobile attribution following their initially attributed install. Adjust will send a reattribution callback with every in-app session that meets the requirements for reattribution (i.e., your inactivity period and reattribution window settings).
Placeholder | Description | Example |
---|---|---|
{reattributed_at} | Timestamp for the reattribution session | 1418174568 |
{reattributed_at_hour} | Timestamp for the reattribution session rounded to the nearest hour | 1418173200 |
{first_tracker} | The Adjust tracker token of the user’s original, install tracker | abc123 |
{last_tracker} | The Adjust tracker token of the user’s previous (i.e., prior to the latest reattribution) tracker | xyz4567 |
{last_tracker_name} | The previous (i.e., prior to the latest reattribution) tracker name as defined within the Adjust dashboard | Network4%3A%3AEaster%3A%3ABunnies%3A%3A640x140_jp |
Callback URL template
https://serverendpoint.com/mobile_attribution?gps_adid={gps_adid}&idfa={idfa}&idfv={idfv}&adid={adid}&tracker_token={tracker}&tracker_name={tracker_name}&app_name={app_name}&activity_kind={activity_kind}&created_at={created_at}&reattributed_at={reattributed_at}&reattributed_at_hour={reattributed_at_hour}&first_tracker_token={first_tracker}&last_tracker_token={last_tracker}&last_tracker_name={last_tracker_name}
Callback string with values
gps_adid=38400000-8cf0-11bd-b23e-10b96e40000d&adid=18546f6171f67e29d1cb983322ad1329&tracker_token=abc123&tracker_name=Network1%3A%3AChristmas%3A%3AReindeers%3A%3A320x70_en&app_name=MyApp&activity_kind=reattribution&created_at=1533568830&reattributed_at=1533568830&reattributed_at_hour=1533567600&first_tracker_token=abc123&last_tracker_token=xyz4567&last_tracker_name=Network4%3A%3AEaster%3A%3ABunnies%3A%3A640x140_jp
Uninstall
The only advertising or device ID available on the uninstall data point is the Adjust device identifier (ADID). Ensure that you include an {adid}
placeholder in your uninstall callback URL, so you can map the ADID value to other advertising IDs in your system. Also verify that you have the {adid}
placeholder appended to all the other data points that you receive callbacks for, as advised in the recommended placeholders for all callback URLs section, so that you can correlate these data points with any uninstall activity.
You will only have access to this data point if you have purchased Adjust's uninstall and reinstall tracking package.
Placeholder | Description | Example |
---|---|---|
{adid} | Adjust device ID | 18546f6171f67e29d1cb983322ad1329 |
{time_to_uninstall} | Time between app install (or latest reinstall) and subsequent uninstall in seconds | 691200 |
{uninstalled_at} | Uninstall timestamp (estimation based on last session time) | 1522835851 |
{last_session_time} | Last session timestamp | 1522835836 |
Callback URL template
https://serverendpoint.com/mobile_attribution?gps_adid={gps_adid}&idfa={idfa}&idfv={idfv}&adid={adid}&tracker_token={tracker}&tracker_name={tracker_name}&app_name={app_name}&activity_kind={activity_kind}&created_at={created_at}&time_to_uninstall={time_to_uninstall}&uninstalled_at={uninstalled_at}&last_session_time={last_session_time}
Callback string with values
gps_adid=38400000-8cf0-11bd-b23e-10b96e40000d&adid=18546f6171f67e29d1cb983322ad1329&tracker_token=abc123&tracker_name=Network1%3A%3AChristmas%3A%3AReindeers%3A%3A320x70_en&app_name=MyApp&activity_kind=uninstall&created_at=1533568830&time_to_uninstall=691200&uninstalled_at=1533568830&last_session_time=1533468830
Reinstall
Reinstall callbacks are fired every time Adjust tracks an install from a user who had previously uninstalled your app.
You will only have access to this data point if you have purchased Adjust’s uninstall and reinstall tracking package.
Placeholder | Description | Example |
---|---|---|
{time_to_reinstall} | Time between latest app uninstall and subsequent reinstall in seconds | 1985847 |
{uninstalled_at} | Uninstall timestamp (estimation based on last session time) | 1522835851 |
{reinstalled_at} | Reinstall session timestamp | 1522825531 |
{last_session_time} | Last session timestamp | 1522835836 |
Callback URL template
https://serverendpoint.com/mobile_attribution?gps_adid={gps_adid}&idfa={idfa}&idfv={idfv}&adid={adid}&tracker_token={tracker}&tracker_name={tracker_name}&app_name={app_name}&activity_kind={activity_kind}&created_at={created_at}&time_to_reinstall={time_to_reinstall}&uninstalled_at={uninstalled_at}&reinstalled_at={reinstalled_at}&last_session_time={last_session_time}
Callback string with values
gps_adid=38400000-8cf0-11bd-b23e-10b96e40000d&adid=18546f6171f67e29d1cb983322ad1329&tracker_token=abc123&tracker_name=Network1%3A%3AChristmas%3A%3AReindeers%3A%3A320x70_en&app_name=MyApp&activity_kind=reinstall&created_at=1533568830&time_to_reinstall=10732979&uninstalled_at=1522835851&reinstalled_at=1533568830&last_session_time=1522735851
Reattribution reinstall
Reattribution reinstall callbacks are fired whenever a reinstall session also meets the requirements for reattribution (i.e., your inactivity period and reattribution window settings). Thus, we recommend including the placeholders you would add to your reattribution callback URL and those you would add to your reinstall callback URL.
You will only have access to this data point if you have purchased Adjust’s uninstall and reinstall tracking package.
Placeholder | Description | Example |
---|---|---|
{reattributed_at} | Timestamp for the reattribution session | 1418174568 |
{reattributed_at_hour} | Timestamp for the reattribution session rounded to the nearest hour | 1418173200 |
{first_tracker} | The Adjust tracker token of the user’s original, install tracker | abc123 |
{last_tracker} | The Adjust tracker token of the user’s previous (i.e., prior to the latest reattribution) tracker | xyz4567 |
{last_tracker_name} | The previous (i.e., prior to the latest reattribution) tracker name as defined within the Adjust dashboard | Network4%3A%3AEaster%3A%3ABunnies%3A%3A640x140_jp |
{time_to_reinstall} | Time between latest app uninstall and subsequent reinstall in seconds | 1985847 |
{uninstalled_at} | Uninstall timestamp (estimation based on last session time) | 1522835851 |
{reinstalled_at} | Reinstall session timestamp | 1522825531 |
{last_session_time} | Last session timestamp | 1522835836 |
Callback URL template
https://serverendpoint.com/mobile_attribution?gps_adid={gps_adid}&idfa={idfa}&idfv={idfv}&adid={adid}&tracker_token={tracker}&tracker_name={tracker_name}&app_name={app_name}&activity_kind={activity_kind}&created_at={created_at}&reattributed_at={reattributed_at}&reattributed_at_hour={reattributed_at_hour}&first_tracker_token={first_tracker}&last_tracker_token={last_tracker}&last_tracker_name={last_tracker_name}&time_to_reinstall={time_to_reinstall}&uninstalled_at={uninstalled_at}&reinstalled_at={reinstalled_at}&last_session_time={last_session_time}
Callback string with values
idfa=8C6CBCOD-5F43-4765-A6E6-84DFF3D24707&idfv=CCB300A0-DE1B-4D48-BC7E-599E453B8DD4&adid=18546f6171f67e29d1cb983322ad1329&tracker_token=abc123&tracker_name=Network1%3A%3AChristmas%3A%3AReindeers%3A%3A320x70_en&app_name=MyApp&activity_kind=reattribution_reinstall&created_at=1533568830&reattributed_at=1533568830&reattributed_at_hour=1533567600&first_tracker_token=xyz456&last_tracker_token=def789&last_tracker_name=Network4%3A%3AEaster%3A%3ABunnies%3A%3A640x140_jp&time_to_reinstall=10732979&uninstalled_at=1522835851&reinstalled_at=1533568830&last_session_time=1522735851
Rejected install and reattribution
Rejected install or rejected reattribution callbacks are fired when an attribution is rejected due to “anonymous” IP filtering, distribution modeling, click injection filtering, or a missing or invalid SDK Signature.
You can only receive callbacks for these data points if you have signed up to Adjust’s Fraud Prevention Suite.
To know which type of fraud an install or reattribution was rejected for, you will need to include the following placeholder in your callback URL:
Placeholder | Description | Example |
---|---|---|
{rejection_reason} | The reason for a rejected install or reattribution | anonymous_traffic |
All possible values returned for {rejection_reason}
:
anonymous_traffic
- “anonymous” IP filtering
distribution_outlier
- click spamming: distribution modeling
too_many_engagements
- click spamming: hyper engagement
engagement_injection
- click injection filtering
incorrect_signature
- SDK Signature
Callback URL template
https://serverendpoint.com/mobile_attribution?gps_adid={gps_adid}&idfa={idfa}&idfv={idfv}&adid={adid}&tracker_token={tracker}&tracker_name={tracker_name}&app_name={app_name}&activity_kind={activity_kind}&created_at={created_at}&rejection_reason={rejection_reason}
Callback string with values
idfa=8C6CBCOD-5F43-4765-A6E6-84DFF3D24707&idfv=CCB300A0-DE1B-4D48-BC7E-599E453B8DD4&adid=18546f6171f67e29d1cb983322ad1329&tracker_token=abc123&tracker_name=Network1%3A%3AChristmas%3A%3AReindeers%3A%3A320x70_en&app_name=MyApp&activity_kind=rejected_reattribution&created_at=1533568830&rejection_reason=engagement_injection
Updated attribution
Updated attribution callbacks are fired whenever a user’s attribution changes after the initial install attribution or reattribution. This usually occurs when a self-attributing partner, such as Google or Facebook, claims an install after we have already attributed it to another Adjust-tracked source.
Placeholder | Description | Example |
---|---|---|
{outdated_tracker} | Adjust tracker token for the original source of attribution | abc123 |
{attribution_updated_at} | Updated attribution timestamp | 1403566587 |
Callback URL template
https://serverendpoint.com/mobile_attribution?gps_adid={gps_adid}&idfa={idfa}&idfv={idfv}&adid={adid}&tracker_token={tracker}&tracker_name={tracker_name}&app_name={app_name}&activity_kind={activity_kind}&created_at={created_at}&outdated_tracker_token={outdated_tracker}&attribution_updated_at={attribution_updated_at}
Callback string with values
gps_adid=38400000-8cf0-11bd-b23e-10b96e40000d&adid=18546f6171f67e29d1cb983322ad1329&tracker_token=abc123&tracker_name=Network1%3A%3AChristmas%3A%3AReindeers%3A%3A320x70_en&app_name=MyApp&activity_kind=update&created_at=1533568830&outdated_tracker_token=xyz456&attribution_updated_at=1533568830
Ad spend
The ad spend data point is specifically for accessing ad spend data that networks send to us through our ad spend API. You will need to confirm with the networks you’re running with whether they are using the ad spend API or cost on engagement to send us their ad spend data. If they are using cost on engagement, you can append these placeholders to an impression, click, install, and/or global callback URL, instead.
You will only have access to this data point if your are on the Business Pro pricing plan or higher.
Placeholder | Description | Example |
---|---|---|
{cost_type} | The campaign pricing model | cpi |
{cost_amount} | Cost of the user engagement | 4.99 |
{cost_currency} | ISO 4217 currency code of the cost data | eur |
{reporting_cost} | Cost of the user engagement converted to your app’s reporting currency and as displayed in the Adjust dashboard | 2.56 |
{cost_id_md5} | An MD5 hash of the cost ID provided by a network using our ad spend API | 73a00ef928d55b23071bff981c098d48 |
Callback URL template
https://serverendpoint.com/mobile_attribution?gps_adid={gps_adid}&idfa={idfa}&idfv={idfv}&adid={adid}&tracker_token={tracker}&tracker_name={tracker_name}&app_name={app_name}&activity_kind={activity_kind}&created_at={created_at}&cost_type={cost_type}&cost_amount={cost_amount}&cost_currency={cost_currency}&reporting_cost={reporting_cost}&cost_id_md5={cost_id_md5}
Callback string with values
idfa=8C6CBCOD-5F43-4765-A6E6-84DFF3D24707&idfv=CCB300A0-DE1B-4D48-BC7E-599E453B8DD4&adid=18546f6171f67e29d1cb983322ad1329&tracker_token=abc123&tracker_name=Network1%3A%3AChristmas%3A%3AReindeers%3A%3A320x70_en&app_name=MyApp&activity_kind=cost_update&created_at=1533568830&cost_type=cpi&cost_amount=4.99&cost_currency=usd&reporting_cost=4.99&cost_id_md5=73a00ef928d55b23071bff981c098d48
Self-attributing network click / impression
Self-attributing network click / impression callbacks are fired on every multi-touch click / impression reported by a self-attributing network.
Placeholder | Description | Example |
Any relevant advertising IDs and/or device IDs (e.g., {idfa} , {gps_adid} , {idfv} , {adid} )* | Advertising IDs and/or device IDs (used to map multi-touch clicks and impressions with resulting installs, sessions, and events) | 8C6CBCOD-5F43-4765-A6E6-84DFF3D24707 , 38400000-8cf0-11bd-b23e-10b96e40000d , CCB300A0-DE1B-4D48-BC7E-599E453B8DD4 , 18546f6171f67e29d1cb983322ad1329 |
Any relevant Google, Facebook, and/or Twitter specific placeholders (see Adjust’s placeholder list) | Specific placeholders for each self-attributing network where you are running campaigns | varies |
* The advertising IDs and/or device IDs in your multi-touch callback URLs must also appear in the callback URLs for installs, sessions, reattributions, events, rejected installs (optional), and rejected reattributions (optional).
Note: We recommend using https:// for all callback URLs. For security purposes, some partners only share campaign data over HTTPS.
Callback URL template
https://serverendpoint.com/mobile_attribution?gps_adid={gps_adid}&idfa={idfa}&idfv={idfv}&adid={adid}&tracker_token={tracker}&tracker_name={tracker_name}&app_name={app_name}&created_at={created_at}&facebook_campaign={fb_campaign_group_name}&facebook_campaign_id={fb_campaign_group_id}&google_campaign={google_ads}&google_campaign_id={google_ads_campaign_id}
Callback string with values
gps_adid=38400000-8cf0-11bd-b23e-10b96e40000d&adid=18546f6171f67e29d1cb983322ad1329&tracker_token=abc123&tracker_name=Network1%3A%3AChristmas%3A%3AReindeers%3A%3A320x70_en&app_name=MyApp&created_at=1533568830&facebook_campaign=DPA-PPM_SKU_PPM&facebook_campaign_id=23842588848920296&google_campaign=US+re-engagement&google_campaign_id=12345678
Global
A global callback is a master callback that covers every Adjust-tracked data point. Use of a global callback ensures that you will receive the same exact information for every Adjust-tracked data point. Global callbacks are fired in addition to any other callback that you have specified at the individual event level. Therefore, if you set a global callback in addition to a callback at the in-app event level, Adjust will fire two callbacks: one that contains the data requested in the global callback and one that contains the data requested at the in-app event level.
The recommended placeholders below are the bare essentials for a global callback. If, for example, you are expecting to receive information on clicks, installs, sessions, in-app events, and reattributions, your global callback URL should also include the recommended placeholders found in the tables above for those data points.
Note: Add a global callback by selecting ADD GLOBAL CALLBACK at the bottom of the real-time callbacks sidebar in the Adjust dashboard.
Placeholder | Description | Example |
---|---|---|
{activity_kind} | This will allow you to determine the data point: impression, click, install, rejected install, rejected reattribution, session, reattribution, uninstall, reinstall, reattribution reinstall, updated attribution, in-app event, ad revenue, or ad spend (cost_updated ) | session |
{event} | This will allow you to identify different in-app events at the event-token level | bkrfgq |
{event_name} | This will allow you to identify different in-app events by the event name as written in the Adjust dashboard | signup |
Note: Due to the fact that event names can always be modified in the Adjust dashboard, the {event_name}
placeholder should only be used as a human-readable label. Conversely, event tokens are permanent, and can always be referenced in your reporting as a constant identifier.
Callback URL template
https://serverendpoint.com/mobile_attribution?gps_adid={gps_adid}&idfa={idfa}&idfv={idfv}&adid={adid}&tracker_token={tracker}&tracker_name={tracker_name}&app_name={app_name}&activity_kind={activity_kind}&created_at={created_at}&event_token={event}&event_name={event_name}
Callback string with values
gps_adid=38400000-8cf0-11bd-b23e-10b96e40000d&adid=18546f6171f67e29d1cb983322ad1329&tracker_token=abc123&tracker_name=Network1%3A%3AChristmas%3A%3AReindeers%3A%3A320x70_en&app_name=MyApp&activity_kind=event&created_at=1533568830&event_token=bkrfgq&event_name=purchase_100_coins
Receive ad spend data through a global callback
If you want to receive ad spend data through your global callback, you can also append the ad spend data point placeholders. However, depending on whether the network is using our ad spend API or cost on engagement, you will receive the ad spend information through your global callback in different ways:
- Ad spend API: you will receive the ad spend information when the network sends it to us;
{activity_kind}
will be filled withcost_update
- Cost on engagement: you will receive the ad spend information on click, impression, or install. Thus, the
{activity_kind}
placeholder will be filled withclick
,impression
, orinstall
. Additionally, you will not receive a{cost_id_md5}
value, as this is only used through the ad spend API.