MMP measurement URLs for app advertising

This document defines the requirements for Amazon-managed app advertisers to provide Amazon with proper measurement URLs.

Third party Mobile Measurement Platforms

Amazon Advertising for Apps has integrated with several mobile measurement platforms (MMPs). So app advertisers with Amazon-managed ad campaigns who have also integrated their app with one of these MMPs can send install and in-app events to Amazon. This event data can help Amazon campaign managers identify quality installs and apply optimization strategies that drive toward goals based on advertising cost-per-action (CPA) or return-on-investment (ROI).

Amazon has reserved some of the MMP data parameters to pass identifying information for devices, apps, impressions, and ad campaigns. Advertisers need to follow the parameter specs below so that these identifiers can be transmitted to Amazon systems. The following table is a list of all currently certified MMPs and the supported event types for each territory.

MMP Type US CA UK DE
Adjust install X X X X
in-app X
AppsFlyer install X X X X
in-app X
Kochava install X X X X
in-app X
Tune install X X X X
in-app X

What are the data pathways?

Impressions
As ads are served, Amazon embeds click measurement information in the creative and sends the impression notification to the MMP. View-through attribution (if desired) is managed directly by the advertiser in the MMP portal.

Clicks
When the user clicks on the ad, Amazon records the click and forwards the data to the MMP using the measurement URL.

Installs
When the user loads the app, the MMP SDK in the advertised app notifies the MMP. When the MMP determines an install is credited to Amazon, it can notify Amazon via postback (callback). Amazon strongly encourages advertisers to enable notifications to Amazon for Amazon-attributed installs and non-attributed installs to help optimize ad campaigns (portal settings vary per MMP).

In-app Events
If available and configured properly, when the user completes a desired action in an app, the MMP SDK in the app can report that to the MMP. The MMP can notify Amazon of in-app events (features and settings vary per MMP). Amazon strongly encourages all notifications to help in ad optimization.

Policy and Instructions

Advertising clients working with Amazon Advertising for Apps managed services can send event data to Amazon by enabling postbacks (callbacks) in the MMP portal. Of course this first requires proper integration of the MMP SDK in the advertised app. Failing to comply with the policy and instructions may disrupt data flowing to the MMP and/or to Amazon.

1. Create campaign, enable events
In the MMP campaign screen, create the campaign and enable event “postbacks” or “callbacks” to be sent to Amazon.

2. Get measurement URLs (trackers)
The MMP portal will generate measurement URLs with Amazon data macros embedded. Advertisers should provide these trackers to Amazon that comply with these parameter specs. Advertisers can insert Amazon macros in any of the parameters available to them (i.e. parameters not reserved for Amazon use). Amazon supports one impression tracker and one click tracker per creative. An impression tracker can be used for view-through conversion measurement, but it is optional.

3. Resolve any parameter conflicts
Amazon uses some of the MMP parameters to pipe certain identifiers (details below). If there is an unavoidable parameter conflict, communicate that to the Amazon account contact. Using Amazon- reserved parameters will disrupt the data that Amazon campaign managers use to optimize performance.

4. Additional parameters
Advertisers can add MMP-expanded parameters (as well as their own parameters) to the measurement URL. Other than Amazon macros and MMP macro/placeholder expansion, there is no capability to support different measurement URLs per ad line or group of ad lines.

5. URL modification
Amazon will encode the advertiser-provided measurement URL when the ad is trafficked to preserve it as embedded payload within the ad creative. Amazon may also add data macros or modify other aspects of the URL to comply with the policy and instructions.

Amazon Macros for All MMPs

When an ad is served, advertisers can send campaign, ad, publisher, and creative size data using a macro in the measurement URL. Amazon Ad servers replace the macro with data. Amazon supports the following macros:

Amazon macro description
__CS_CAMPAIGN_NAME__ Amazon campaign id + name
__CS_AD_NAME__ Amazon ad id + name
__AAX_SOURCE_NAME__ Amazon publisher group
__AAX_SITE_NAME__ Amazon publisher
__CS_AD_SIZE__ Creative size
__CS_CREATIVE_ID__ Amazon creative id

MMP Measurement URLs (trackers)

Amazon ad creatives support measurement URLs or “trackers”. On every advertising campaign, the advertiser provides Amazon with impression and click trackers: one of each per ad platform OS (although the impression tracker is optional). These trackers are generated in the MMP portal by the advertiser. There are cases where the advertiser wishes for more granular reporting (by creative or special segments, for example). Since an ad creative has only one impression and click tracker, Amazon has some “macros” available that are automatically replaced in the creative when the ad is rendered. The replaced macros include info such as campaign, ad line, device, and other data embedded in the ad creative for more granularity in summary reports. Occasionally, there may be a technical exception where a measurement URL is not used. Amazon may pass data in unused advertiser parameters.

Adjust Parameters

Amazon uses custom parameters with Adjust, so advertisers may use any of these params below. (See https://docs.adjust.com/en/tracker-generation/ and https://docs.adjust.com/en/special-partners/amazon/)

parameter usage description
campaign available Available for advertiser use
adgroup available Available for advertiser use
creative available Available for advertiser use
label available Available for advertiser use (does not breakout data in Adjust dashboard)

Adjust Example Measurement URLs

Impression: iOS / Android / Fire
https://view.adjust.com/impression/abc123?campaign=__CS_CAMPAIGN_NAME__&adgroup=__AAX_SOURCE_NAME__&creative=__CS_CREATIVE_ID__-__CS_AD_SIZE__&gps_adid=__AAX_IDFA__&idfa=__AAX_IDFA__&android_id_lower_sha1=__AAX_SHA1_UDID__&amzn_ad_tracking=__AAX_AD_TRACKING__&referrer=adjust_external_click_id%3d__AAX_TRACKING_ID__&amzn_ref_id=__AAX_TRACKING_ID__&cost_type=__AAX_COST_MODEL__&cost_amount=__AAX_COST__&amzn_mmp=__CS_MSR_PARTNER__&amzn_endpoint=__AAX_POSTBACK_URL__&amzn_app_id=__CS_APP_ID__&amzn_campaign_name=__CS_CAMPAIGN_NAME__&amzn_ad_name=__CS_AD_NAME__&amzn_supply_source=__AAX_SOURCE_NAME__&amzn_site_id=__AAX_SITE_NAME__&amzn_creative_id=__CS_CREATIVE_ID__&amzn_creative_size=__CS_AD_SIZE__&s2s=1
Click: iOS / Android / Fire
https://app.adjust.com/abc123?campaign=__CS_CAMPAIGN_NAME__&adgroup=__AAX_SOURCE_NAME__&creative=__CS_CREATIVE_ID__-__CS_AD_SIZE__&gps_adid=__AAX_IDFA__&idfa=__AAX_IDFA__&android_id_lower_sha1=__AAX_SHA1_UDID__&amzn_ad_tracking=__AAX_AD_TRACKING__&referrer=adjust_external_click_id%3d__AAX_TRACKING_ID__&amzn_ref_id=__AAX_TRACKING_ID__&cost_type=__AAX_COST_MODEL__&cost_amount=__AAX_COST__&amzn_mmp=__CS_MSR_PARTNER__&amzn_endpoint=__AAX_POSTBACK_URL__&amzn_app_id=__CS_APP_ID__&amzn_campaign_name=__CS_CAMPAIGN_NAME__&amzn_ad_name=__CS_AD_NAME__&amzn_supply_source=__AAX_SOURCE_NAME__&amzn_site_id=__AAX_SITE_NAME__&amzn_creative_id=__CS_CREATIVE_ID__&amzn_creative_size=__CS_AD_SIZE__&s2s=1

AppsFlyer Parameters

Amazon reserves several AppsFlyer parameters. (See https://support.appsflyer.com/hc/en-us/articles/207447163-AppsFlyer-Tracking-Link-Structure-and-Parameters)

parameter usage description
c available Defaults to __CS_CAMPAIGN_NAME__ (Amazon campaign id + name)
af_ref reserved __AAX_TRACKING_ID__ (Google referrer)
af_channel reserved __AAX_SOURCE_NAME__ (supply category name)
af_siteid reserved __AAX_SITE_NAME__ (Amazon publisher)
af_ad reserved __CS_AD_NAME__ (Amazon ad id + name)
af_ad_type reserved __CS_AD_SIZE__ (creative size)
af_ad_id reserved __CS_CREATIVE_ID__ (Amazon creative id)

AppsFlyer Example Measurement URLs

Impression: iOS
https://impression.appsflyer.com/id123456789?pid=amazon_int&c=__CS_CAMPAIGN_NAME__&idfa=__AAX_IDFA__&amzn_ad_tracking=__AAX_AD_TRACKING__&amzn_ref_id=__AAX_TRACKING_ID__&af_cost_model=__AAX_COST_MODEL__&af_cost_value=__AAX_COST__&af_channel=__AAX_SOURCE_NAME__&af_siteid=__AAX_SITE_NAME__&amzn_campaign_name=__CS_CAMPAIGN_NAME__&af_ad=__CS_AD_NAME__&amzn_mmp=__CS_MSR_PARTNER__&amzn_endpoint=__AAX_POSTBACK_URL__&amzn_app_id=__CS_APP_ID__&af_ad_id=__CS_CREATIVE_ID__&af_ad_type=__CS_AD_SIZE__&redirect=false&af_prt=amazon
Impression: Android / Fire
https://impression.appsflyer.com/com.example.app?pid=amazon_int&c=network_test&advertising_id=__AAX_IDFA__&sha1_android_id=__AAX_SHA1_UDID__&amzn_ad_tracking=__AAX_AD_TRACKING__&af_ref=__AAX_TRACKING_ID__&amzn_ref_id=__AAX_TRACKING_ID__&af_cost_model=__AAX_COST_MODEL__&af_cost_value=__AAX_COST__&af_channel=__AAX_SOURCE_NAME__&af_siteid=__AAX_SITE_NAME__&amzn_campaign_name=__CS_CAMPAIGN_NAME__&af_ad=__CS_AD_NAME__&amzn_mmp=__CS_MSR_PARTNER__&amzn_endpoint=__AAX_POSTBACK_URL__&amzn_app_id=__CS_APP_ID__&af_ad_id=__CS_CREATIVE_ID__&af_ad_type=__CS_AD_SIZE__&redirect=false&af_prt=amazon
Click: iOS
https://app.appsflyer.com/id123456789?pid=amazon_int&c=__CS_CAMPAIGN_NAME__&idfa=__AAX_IDFA__&amzn_ad_tracking=__AAX_AD_TRACKING__&amzn_ref_id=__AAX_TRACKING_ID__&af_cost_model=__AAX_COST_MODEL__&af_cost_value=__AAX_COST__&af_channel=__AAX_SOURCE_NAME__&af_siteid=__AAX_SITE_NAME__&amzn_campaign_name=__CS_CAMPAIGN_NAME__&af_ad=__CS_AD_NAME__&amzn_mmp=__CS_MSR_PARTNER__&amzn_endpoint=__AAX_POSTBACK_URL__&amzn_app_id=__CS_APP_ID__&af_ad_id=__CS_CREATIVE_ID__&af_ad_type=__CS_AD_SIZE__&redirect=false&af_prt=amazon
Click: Android / Fire
https://app.appsflyer.com/com.example.app?pid=amazon_int&c=network_test&advertising_id=__AAX_IDFA__&sha1_android_id=__AAX_SHA1_UDID__&amzn_ad_tracking=__AAX_AD_TRACKING__&af_ref=__AAX_TRACKING_ID__&amzn_ref_id=__AAX_TRACKING_ID__&af_cost_model=__AAX_COST_MODEL__&af_cost_value=__AAX_COST__&af_channel=__AAX_SOURCE_NAME__&af_siteid=__AAX_SITE_NAME__&amzn_campaign_name=__CS_CAMPAIGN_NAME__&af_ad=__CS_AD_NAME__&amzn_mmp=__CS_MSR_PARTNER__&amzn_endpoint=__AAX_POSTBACK_URL__&amzn_app_id=__CS_APP_ID__&af_ad_id=__CS_CREATIVE_ID__&af_ad_type=__CS_AD_SIZE__&redirect=false&af_prt=amazon

Kochava Parameters

The following Kochava parameters are reserved for Amazon use. (See http://kochava.freshdesk.com/support/articles/1000072813-integrate-as-a-network-publisher)

parameter usage description
site_id reserved Amazon publisher information for Kochava Summary Reporting (network & install) formatted as “__AAX_SITE_NAME__”
creative_id reserved Amazon creative ID for Kochava Summary Reporting (network & install) formatted as “__CS_CREATIVE_ID__”

Kochava Example Measurement URLs

Impression: iOS
https://imp.control.kochava.com/track/impression?campaign_id=abc-def-ghi559d967642dda8c74fb23ae113&network_id=2364&device_id=__AAX_IDFA__&device_id_type=idfa&amzn_ad_tracking=__AAX_AD_TRACKING__&bid_type=__AAX_COST_MODEL__&bid_value=__AAX_COST__&cpi_price=__AAX_COST__&site_id=__AAX_SITE_NAME__&creative_id=__CS_CREATIVE_ID__&cp_0=__AAX_TRACKING_ID__&cp_1=__CS_APP_ID__&cp_2=__CS_CAMPAIGN_NAME__&cp_3=__CS_AD_NAME__&cp_4=__AAX_SOURCE_NAME__&cp_5=__AAX_SITE_NAME__&cp_6=__CS_CREATIVE_ID__&cp_7=__CS_AD_SIZE__&amzn_mmp=__CS_MSR_PARTNER__&amzn_endpoint=__AAX_POSTBACK_URL__&pbr=1
Impression: Android
https://imp.control.kochava.com/track/impression?campaign_id=abc-def-ghi559d967642dda8c74fb23ae113&network_id=2365&device_id=__AAX_IDFA__&android_id_sha1=__AAX_SHA1_UDID__&device_id_type=adid&amzn_ad_tracking=__AAX_AD_TRACKING__&amzn_gp_ref=__AAX_AD_TRACKING_ID__&append_app_conv_trk_params=1&bid_type=__AAX_COST_MODEL__&bid_value=__AAX_COST__&cpi_price=__AAX_COST__&site_id=__AAX_SITE_NAME__&creative_id=__CS_CREATIVE_ID__&cp_0=__AAX_TRACKING_ID__&cp_1=__CS_APP_ID__&cp_2=__CS_CAMPAIGN_NAME__&cp_3=__CS_AD_NAME__&cp_4=__AAX_SOURCE_NAME__&cp_5=__AAX_SITE_NAME__&cp_6=__CS_CREATIVE_ID__&cp_7=__CS_AD_SIZE__&amzn_mmp=__CS_MSR_PARTNER__&amzn_endpoint=__AAX_POSTBACK_URL__&pbr=1
Impression: Fire
https://imp.control.kochava.com/track/impression?campaign_id=abc-def-ghi559d967642dda8c74fb23ae113&network_id=3501&device_id=__AAX_SHA1_UDID__&android_id_sha1=__AAX_SHA1_UDID__&device_id_type=adid&amzn_ad_tracking=__AAX_AD_TRACKING__&amzn_gp_ref=__AAX_TRACKING_ID__&append_app_conv_trk_params=1&bid_type=__AAX_COST_MODEL__&bid_value=__AAX_COST__&cpi_price=__AAX_COST__&site_id=__AAX_SITE_NAME__&creative_id=__CS_CREATIVE_ID__&cp_0=__AAX_TRACKING_ID__&cp_1=__CS_APP_ID__&cp_2=__CS_CAMPAIGN_NAME__&cp_3=__CS_AD_NAME__&cp_4=__AAX_SOURCE_NAME__&cp_5=__AAX_SITE_NAME__&cp_6=__CS_CREATIVE_ID__&cp_7=__CS_AD_SIZE__&amzn_mmp=__CS_MSR_PARTNER__&amzn_endpoint=__AAX_POSTBACK_URL__&pbr=1
Click: iOS
https://control.kochava.com/v1/cpi/click?campaign_id=abc-def-ghi559d967642dda8c74fb23ae113&network_id=2364&device_id=__AAX_IDFA__&device_id_type=idfa&amzn_ad_tracking=__AAX_AD_TRACKING__&bid_type=__AAX_COST_MODEL__&bid_value=__AAX_COST__&cpi_price=__AAX_COST__&site_id=__AAX_SITE_NAME__&creative_id=__CS_CREATIVE_ID__&cp_0=__AAX_TRACKING_ID__&cp_1=__CS_APP_ID__&cp_2=__CS_CAMPAIGN_NAME__&cp_3=__CS_AD_NAME__&cp_4=__AAX_SOURCE_NAME__&cp_5=__AAX_SITE_NAME__&cp_6=__CS_CREATIVE_ID__&cp_7=__CS_AD_SIZE__&amzn_mmp=__CS_MSR_PARTNER__&amzn_endpoint=__AAX_POSTBACK_URL__&pbr=1
Click: Android
https://control.kochava.com/v1/cpi/click?campaign_id=abc-def-ghi559d967642dda8c74fb23ae113&network_id=2365&device_id=__AAX_IDFA__&android_id_sha1=__AAX_SHA1_UDID__&device_id_type=adid&amzn_ad_tracking=__AAX_AD_TRACKING__&amzn_gp_ref=__AAX_AD_TRACKING_ID__&append_app_conv_trk_params=1&bid_type=__AAX_COST_MODEL__&bid_value=__AAX_COST__&cpi_price=__AAX_COST__&site_id=__AAX_SITE_NAME__&creative_id=__CS_CREATIVE_ID__&cp_0=__AAX_TRACKING_ID__&cp_1=__CS_APP_ID__&cp_2=__CS_CAMPAIGN_NAME__&cp_3=__CS_AD_NAME__&cp_4=__AAX_SOURCE_NAME__&cp_5=__AAX_SITE_NAME__&cp_6=__CS_CREATIVE_ID__&cp_7=__CS_AD_SIZE__&amzn_mmp=__CS_MSR_PARTNER__&amzn_endpoint=__AAX_POSTBACK_URL__&pbr=1
Click: Fire
https://control.kochava.com/v1/cpi/click?campaign_id=abc-def-ghi559d967642dda8c74fb23ae113&network_id=3501&device_id=__AAX_SHA1_UDID__&android_id_sha1=__AAX_SHA1_UDID__&device_id_type=adid&amzn_ad_tracking=__AAX_AD_TRACKING__&amzn_gp_ref=__AAX_TRACKING_ID__&append_app_conv_trk_params=1&bid_type=__AAX_COST_MODEL__&bid_value=__AAX_COST__&cpi_price=__AAX_COST__&site_id=__AAX_SITE_NAME__&creative_id=__CS_CREATIVE_ID__&cp_0=__AAX_TRACKING_ID__&cp_1=__CS_APP_ID__&cp_2=__CS_CAMPAIGN_NAME__&cp_3=__CS_AD_NAME__&cp_4=__AAX_SOURCE_NAME__&cp_5=__AAX_SITE_NAME__&cp_6=__CS_CREATIVE_ID__&cp_7=__CS_AD_SIZE__&amzn_mmp=__CS_MSR_PARTNER__&amzn_endpoint=__AAX_POSTBACK_URL__&pbr=1

Tune Parameters

Tune provides a way to add customer parameters to the measurement URL in the “My Parameters” section. Amazon reserves the following “Partner Parameters”. (See https://help.tune.com/marketing-console/attribution-analytics/measurement/measurement-urls/)

parameter usage description
sub_publisher reserved __AAX_SOURCE_NAME__ (supply category name)
sub_site reserved __AAX_SITE_NAME__ (Amazon publisher)
sub_campaign reserved __CS_CAMPAIGN_NAME__ (Amazon campaign id + name)
sub_ad reserved __CS_AD_NAME__ (Amazon ad id + name)
sub1 reserved __CS_MSR_PARTNER__ (MMP id, “tune.com” in this case)
sub2 reserved __AAX_POSTBACK_URL__ (postback URL for regional endpoint, can be empty, default is US endpoint)
sub3 reserved __CS_APP_ID__ (Amazon app id for the promoted app)
sub4 reserved __CS_AD_SIZE__ (creative size)
sub5 reserved __CS_CREATIVE_ID__ (Amazon creative id)

Tune Example Tracking URLs

Impression: iOS
https://12345.tlnk.io/serve?action=impression&integration_id=1118&site_id=2962&tracking_id=__AAX_TRACKING_ID__&ios_ifa=__AAX_IDFA__&ios_ad_tracking=__AAX_AD_TRACKING__&ref_id=__AAX_TRACKING_ID__&cost_model=__AAX_COST_MODEL__&cost=__AAX_COST__&sub_publisher=__AAX_SOURCE_NAME__&sub_site=__AAX_SITE_NAME__&sub_campaign=__CS_CAMPAIGN_NAME__&sub_ad=__CS_AD_NAME__&sub1=__CS_MSR_PARTNER__&sub2=__AAX_POSTBACK_URL__&sub3=__CS_APP_ID__&sub4=__CS_AD_SIZE__&response_format=json
Impression: Android
https://12345.tlnk.io/serve?action=impression&integration_id=1118&site_id=2962&tracking_id=__AAX_TRACKING_ID__&google_aid=__AAX_IDFA__&google_ad_tracking=__AAX_AD_TRACKING__&ref_id=__AAX_TRACKING_ID__&cost_model=__AAX_COST_MODEL__&cost=__AAX_COST__&sub_publisher=__AAX_SOURCE_NAME__&sub_site=__AAX_SITE_NAME__&sub_campaign=__CS_CAMPAIGN_NAME__&sub_ad=__CS_AD_NAME__&sub1=__CS_MSR_PARTNER__&sub2=__AAX_POSTBACK_URL__&sub3=__CS_APP_ID__&sub4=__CS_AD_SIZE__&response_format=json
Impression: Fire
https://12345.tlnk.io/serve?action=impression&integration_id=1118&site_id=2962&tracking_id=__AAX_TRACKING_ID__&android_id_sha1=__AAX_SHA1_UDID__&ref_id=__AAX_TRACKING_ID__&cost_model=__AAX_COST_MODEL__&cost=__AAX_COST__&sub_publisher=__AAX_SOURCE_NAME__&sub_site=__AAX_SITE_NAME__&sub_campaign=__CS_CAMPAIGN_NAME__&sub_ad=__CS_AD_NAME__&sub1=__CS_MSR_PARTNER__&sub2=__AAX_POSTBACK_URL__&sub3=__CS_APP_ID__&sub4=__CS_AD_SIZE__&response_format=json
Click: iOS
https://12345.tlnk.io/serve?action=click&integration_id=1118&site_id=2962&tracking_id=__AAX_TRACKING_ID__&ios_ifa=__AAX_IDFA__&ios_ad_tracking=__AAX_AD_TRACKING__&ref_id=__AAX_TRACKING_ID__&cost_model=__AAX_COST_MODEL__&cost=__AAX_COST__&sub_publisher=__AAX_SOURCE_NAME__&sub_site=__AAX_SITE_NAME_&sub_campaign=__CS_CAMPAIGN_NAME__&sub_ad=__CS_AD_NAME__&sub1=__CS_MSR_PARTNER__&sub2=__AAX_POSTBACK_URL__&sub3=__CS_APP_ID__&sub4=__CS_AD_SIZE__&response_format=json
Click: Android
https://12345.tlnk.io/serve?action=click&integration_id=1118&site_id=2962&tracking_id=__AAX_TRACKING_ID__&google_aid=__AAX_IDFA__&google_ad_tracking=__AAX_AD_TRACKING__&ref_id=__AAX_TRACKING_ID__&cost_model=__AAX_COST_MODEL__&cost=__AAX_COST__&sub_publisher=__AAX_SOURCE_NAME__&sub_site=__AAX_SITE_NAME__&sub_campaign=__CS_CAMPAIGN_NAME__&sub_ad=__CS_AD_NAME__&sub1=__CS_MSR_PARTNER__&sub2=__AAX_POSTBACK_URL__&sub3=__CS_APP_ID__&sub4=__CS_AD_SIZE__&response_format=json
Click: Fire
https://12345.tlnk.io/serve?action=click&integration_id=1118&site_id=2962&tracking_id=__AAX_TRACKING_ID__&android_id_sha1=__AAX_SHA1_UDID__&ref_id=__AAX_TRACKING_ID__&cost_model=__AAX_COST_MODEL__&cost=__AAX_COST__&sub_publisher=__AAX_SOURCE_NAME__&sub_site=__AAX_SITE_NAME__&sub_campaign=__CS_CAMPAIGN_NAME__&sub_ad=__CS_AD_NAME__&sub1=__CS_MSR_PARTNER__&sub2=__AAX_POSTBACK_URL__&sub3=__CS_APP_ID__&sub4=__CS_AD_SIZE__&response_format=json