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 Ads has integrated with several mobile measurement platforms (MMPs). This means app advertisers who have also integrated their app with one of these MMPs can surface install and in-app events from their managed Fire Tablet or Fire TV campaigns to Amazon. This event data can help Amazon account 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, 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 locales by device type. Note that both event types install and in-app are supported only in the US locale; UK and DE locales only support install (not in-app) events.

MMPPlatformUSUKDE
AdjustFire TabletYYY
Fire TVYNN
AppsFlyerFire TabletYYY
Fire TVYNN
KochavaFire TabletYYY
Fire TVYNN
SingularFire TabletYYY
Fire TVNNN
Branch (formerly Tune)Fire TabletYYY
Fire TVYNN

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 post-back (callback). Amazon requires 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 surface in-app events to Amazon via the MMP portal (features and settings vary per MMP). Amazon strongly encourages all notifications to help in ad optimization.

Policy and instructions

Advertising clients working with Amazon Ads for Apps managed services can send event data to Amazon by enabling post-backs (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 and may cause delays in campaign launch.
1. Create campaign, enable events
In the MMP campaign screen, create the campaign and enable event “post-backs” or “callbacks” to be sent to Amazon. Amazon requires advertisers to enable install post-backs which are required for install reporting to work. Enabling In-app event post-backs is optional; if enabled, in-app events flow through the MMP portal only (they do not flow through Amazon’s internal campaign management system).

2. Get measurement URLs (trackers)
The MMP portal will generate measurement URLs with Amazon data macros embedded. Advertiser will need to ensure the MMP URLs are attributing on Fire Ad ID versus Android ID. Advertisers should provide these trackers to Amazon that comply with these parameter specs. Only one impression tracker and one click tracker is supported per title and platform. Advertisers can insert Amazon macros in any of the parameters available to them (i.e. parameters not reserved for Amazon use). An impression tracker can be used for view-through conversion measurement, but it is optional. Longer view-through attribution settings are recommended given that Amazon is the only vendor selling Fire TV and Fire Tablet inventory.
– Appsflyer and Branch offer a seven-day maximum window
– Kochava offers a 24 hour maximum window
– Adjust offers a configurable view-through window

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 optional MMP-expanded parameters (as well as their own parameters) to dynamically pull in certain campaign identifiers used for optimizing. Other than Amazon macros and MMP macro/placeholder expansion, there is no capability to support different measurement URLs per creative, 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.

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 platform (Fire Tablet/Fire TV), 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 a campaign can only support one impression and click tracker, advertisers can leverage Amazon’s optional “macros” that dynamically pull in the appropriate campaign name, ad line or creative size when the ad is rendered. Amazon supports the below macros for all MMPs. These macros are either automatically included in the MMP’s URL template or can be added manually after the URL has been generated (optional). The optional macros vary by MMP and are outlined in the next section.

Amazon MacroDescriptionOutput example
__CS_CAMPAIGN_NAME__Amazon campaign id + name2679966220301-App_DL - Tier2 - Adjust - App Title - App Developer - 1/13-1/31
__CS_AD_NAME__Amazon ad id + name8138361190901-Fire Tablet | Wakescreen | Unguaranteed | App Name | 1/13-1/31
__AAX_SOURCE_NAME__Amazon publisher groupKSO (constant for all Fire Tablet campaigns)
__AAX_SITE_NAME__Amazon publisherwake screen (constant for all Fire Tablet campaigns)
__CS_AD_SIZE__Amazon creative size9999x9999 (constant for all Fire Tablet campaigns)
__CS_CREATIVE_ID__Amazon creative ID834686129764

Advertisers should use Amazon’s Tracker Builder tool to generate and validate new MMP trackers. This ensures the URL is setup to pass through Amazon’s internal systems properly and will help prevent post-launch campaign issues. See https://s3.amazonaws.com/ksomedia/mmp-tracker/index.html.

Adjust parameters

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

ParameterUsageDescription
campaignavailableAmazon campaign id + name
ad groupavailableAmazon publisher group
CreativeavailableCreative ID + size



Adjust Example Measurement URLs

Impression: 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: 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

ParameterUsageDescription
cavailableDefaults to __CS_CAMPAIGN_NAME__ (Amazon campaign ID + name)
af_refreserved__AAX_TRACKING_ID__ (Google referrer)
af_channelreserved__AAX_SOURCE_NAME__ (supply category name)
af_siteidreserved__AAX_SITE_NAME__ (Amazon publisher)
af_adreserved__CS_AD_NAME__ (Amazon ad ID + name)
af_ad_typereserved__CS_AD_SIZE__ (creative size)
af_ad_idreserved__CS_CREATIVE_ID__ (Amazon creative ID)



AppsFlyer Example Measurement URLs

Impression: 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: 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 https://support.kochava.com/reference-information/integrate-with-kochava-as-a-networkpublisher/)

ParameterUsageDescription
site_idreservedAmazon publisher information for Kochava Summary Reporting (network & install) formatted as “__AAX_SITE_NAME__”
creative_idreservedAmazon creative ID for Kochava Summary Reporting (network & install) formatted as “__CS_CREATIVE_ID__”



Kochava Example Measurement URLs

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: 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

Singular Parameters

The following Singular parameters are reserved for Amazon use.

ParameterUsageDescription
psidreserved__AAX_SITE_NAME__ (Amazon publisher)
pcidreserved__CS_CAMPAIGN_NAME__ (Name or ID of the Amazon campaign)
ad_namereserved__CS_AD_NAME__ (Amazon ad ID + name)
a_creative_sizereserved__CS_AD_SIZE__ (creative size)
pshidreserved__AAX_SOURCE_NAME__ (Name or ID of Amazon publisher / source)
pcridreserved__CS_CREATIVE_ID__ (Amazon creative ID)



Singular Example Tracking URLs

Impression: Fire

https://c.singular.net/api/v1/imp?st=676215668268&psid=__AAX_SITE_NAME__&redirect=false&a_creative_size=__CS_AD_SIZE__&cl=__AAX_TRACKING_ID__&pcrid=__CS_CREATIVE_ID__&pcid=__CS_CAMPAIGN_NAME__&a_fire_aid=__AAX_IDFA__&pcm=__AAX_COST_MODEL__&ad_name=__CS_AD_NAME__&and1=__AAX_SHA1_UDID__&pca=__AAX_COST__&pshid=__AAX_SOURCE_NAME__&a_app_id=__CS_APP_ID__&a_msr=__CS_MSR_PARTNER__&a_oo=__AAX_AD_TRACKING__&a_postback=__AAX_POSTBACK_URL__&h=37243cf10d74bbf800533db370ee5643ca05dc61

Click: Fire

https://c.singular.net/api/v1/ad?st=676215668268&aifa=__AAX_IDFA__&idfa=__AAX_IDFA__&psid=__AAX_SITE_NAME__&redirect=false&a_creative_size=__CS_AD_SIZE__&cl=__AAX_TRACKING_ID__&pcrid=__CS_CREATIVE_ID__&pcid=__CS_CAMPAIGN_NAME__&a_fire_aid=__AAX_IDFA__&pcm=__AAX_COST_MODEL__&ad_name=__CS_AD_NAME__&and1=__AAX_SHA1_UDID__&pca=__AAX_COST__&pshid=__AAX_SOURCE_NAME__&a_app_id=__CS_APP_ID__&a_msr=__CS_MSR_PARTNER__&a_oo=__AAX_AD_TRACKING__&a_postback=__AAX_POSTBACK_URL__&h=37243cf10d74bbf800533db370ee5643ca05dc61

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/hasoffers/parameters-macros-in-hasoffers/).

ParameterUsageDescription
sub_publisherreserved__AAX_SOURCE_NAME__ (supply category name)
sub_sitereserved__AAX_SITE_NAME__ (Amazon publisher)
sub_campaignreserved__CS_CAMPAIGN_NAME__ (Amazon campaign ID + name)
sub_adreserved__CS_AD_NAME__ (Amazon ad ID + name)
sub1reserved__CS_MSR_PARTNER__ (MMP id, “tune.com” in this case)
sub2reserved__AAX_POSTBACK_URL__ (postback URL for regional endpoint, can be empty, default is US endpoint)
sub3reserved__CS_APP_ID__ (Amazon app id for the promoted app)
sub4reserved__CS_AD_SIZE__ (creative size)
sub5reserved__CS_CREATIVE_ID__ (Amazon creative ID)



Tune Example Tracking URLs

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: 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

Branch Parameters

The following Branch parameters are reserved for Amazon use. (See https://docs.branch.io/deep-linked-ads/amazon-mobile-tracking/).

ParameterUsageDescription
aax_site_namereserved__AAX_SITE_NAME__ (Amazon publisher)
aax_source_idreserved__AAX_SOURCE_NAME__ (Name or ID of Amazon publisher / source)
amazon_app_idreserved__CS_APP_ID__ (Amazon app id for the promoted app)
amazon_tracking_idreserved__AAX_TRACKING_ID__ (Google referrer)
amzn_ad_trackingreserved__AAX_AD_TRACKING__(limit ad tracking value for Google Advertising Id)
creative_idreserved__CS_AD_SIZE__ (creative size)



Branch Example Measurement URLs

FIRE TV

Impression: Fire

https://impression.link/impression?branch_key=key_live_kfNq5xQ0anKoLpL0RU6ripgdrCoDLLP0&%243p=a_amazon&%24aaid=__AAX_IDFA__&a_android_sha1_udid=__AAX_SHA1_UDID__&a_postback=__AAX_POSTBACK_URL__&aax_site_name=__AAX_SITE_NAME__&aax_source_id=__AAX_SOURCE_NAME__&amazon_app_id=__CS_APP_ID__&amazon_tracking_id=__AAX_TRACKING_ID__&amzn_ad_tracking=__AAX_AD_TRACKING__&creative_size=__CS_AD_SIZE__&~ad_set_name=__CS_AD_NAME__&~campaign=__CS_CAMPAIGN_NAME__&~cost_currency=__AAX_COST_CURRENCY__&~cost_model=__AAX_COST_MODEL__&~cost_value=__AAX_COST__&~creative_id=__CS_CREATIVE_ID__&~secondary_publisher=__CS_MSR_PARTNER__&%24os=AMAZON_FIRE_TV&~feature=paid%20advertising&~branch_ad_format=App%20Only

Click: Fire

https://branchsteramazon.app.link/lGHBCSNuG0?%243p=a_amazon&%24aaid=__AAX_IDFA__&a_android_sha1_udid=__AAX_SHA1_UDID__&a_postback=__AAX_POSTBACK_URL__&aax_site_name=__AAX_SITE_NAME__&aax_source_id=__AAX_SOURCE_NAME__&amazon_app_id=__CS_APP_ID__&amazon_tracking_id=__AAX_TRACKING_ID__&amzn_ad_tracking=__AAX_AD_TRACKING__&creative_size=__CS_AD_SIZE__&~ad_set_name=__CS_AD_NAME__&~campaign=__CS_CAMPAIGN_NAME__&~cost_currency=__AAX_COST_CURRENCY__&~cost_model=__AAX_COST_MODEL__&~cost_value=__AAX_COST__&~creative_id=__CS_CREATIVE_ID__&~secondary_publisher=__CS_MSR_PARTNER__&%24os=AMAZON_FIRE_TV

FIRE TABLET

Impression: Fire

https://impression.link/impression?branch_key=key_live_kfNq5xQ0anKoLpL0RU6ripgdrCoDLLP0&%243p=a_amazon&%24aaid=__AAX_IDFA__&a_android_sha1_udid=__AAX_SHA1_UDID__&a_postback=__AAX_POSTBACK_URL__&aax_site_name=__AAX_SITE_NAME__&aax_source_id=__AAX_SOURCE_NAME__&amazon_app_id=__CS_APP_ID__&amazon_tracking_id=__AAX_TRACKING_ID__&amzn_ad_tracking=__AAX_AD_TRACKING__&creative_size=__CS_AD_SIZE__&~ad_set_name=__CS_AD_NAME__&~campaign=__CS_CAMPAIGN_NAME__&~cost_currency=__AAX_COST_CURRENCY__&~cost_model=__AAX_COST_MODEL__&~cost_value=__AAX_COST__&~creative_id=__CS_CREATIVE_ID__&~secondary_publisher=__CS_MSR_PARTNER__&%24os=AMAZON_FIRE&~feature=paid%20advertising&~branch_ad_format=App%20Only

Click: Fire

https://branchsteramazon.app.link/VDJMQbvvG0?%243p=a_amazon&%24aaid=__AAX_IDFA__&a_android_sha1_udid=__AAX_SHA1_UDID__&a_postback=__AAX_POSTBACK_URL__&aax_site_name=__AAX_SITE_NAME__&aax_source_id=__AAX_SOURCE_NAME__&amazon_app_id=__CS_APP_ID__&amazon_tracking_id=__AAX_TRACKING_ID__&amzn_ad_tracking=__AAX_AD_TRACKING__&creative_size=__CS_AD_SIZE__&~ad_set_name=__CS_AD_NAME__&~campaign=__CS_CAMPAIGN_NAME__&~cost_currency=__AAX_COST_CURRENCY__&~cost_model=__AAX_COST_MODEL__&~cost_value=__AAX_COST__&~creative_id=__CS_CREATIVE_ID__&~secondary_publisher=__CS_MSR_PARTNER__&%24os=AMAZON_FIRE



Note: For click URL, the sub-domain is dependent on the app. Hence it changes for every app. In the above case it’s branchsteramazon