MMP measurement URLs for app advertising

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

Third party Mobile Measurement Platforms

HAQM 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 HAQM. This event data can help HAQM 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).

HAQM 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 HAQM 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, HAQM 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, HAQM 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 HAQM, it can notify HAQM via postback (callback). HAQM requires advertisers to enable notifications to HAQM for HAQM-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 HAQM via the MMP portal (features and settings vary per MMP). HAQM strongly encourages all notifications to help in ad optimization.

Policy and Instructions

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

2. Get measurement URLs (trackers)
The MMP portal will generate measurement URLs with HAQM 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 HAQM that comply with these parameter specs. Only one impression tracker and one click tracker is supported per title and platform. Advertisers can insert HAQM macros in any of the parameters available to them (i.e. parameters not reserved for HAQM 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 HAQM is the only vendor selling Fire TV and Fire Tablet inventory.
- Appsflyer and Branch offer a 7 day maximum window
- Kochava offers a 24 hour maximum window
- Adjust offers a configuarable view-through window

3. Resolve any parameter conflicts
HAQM uses some of the MMP parameters to pipe certain identifiers (details below). If there is an unavoidable parameter conflict, communicate that to the HAQM account contact. Using HAQM- reserved parameters will disrupt the data that HAQM 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 HAQM 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
HAQM will encode the advertiser-provided measurement URL when the ad is trafficked to preserve it as embedded payload within the ad creative. HAQM may also add data macros or modify other aspects of the URL to comply with the policy and instructions.

MMP Measurement URLs (trackers)

HAQM ad creatives support measurement URLs or “trackers.” On every advertising campaign, the advertiser provides HAQM 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 HAQM's optional “macros” that dynamically pull in the appropriate campaign name, ad line, or creative size when the ad is rendered. HAQM 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.

HAQM MacroDescriptionOutput Example
__CS_CAMPAIGN_NAME__HAQM campaign id + name2679966220301-App_DL - Tier2 - Adjust - App Title - App Developer - 1/13-1/31
__CS_AD_NAME__HAQM ad id + name8138361190901-Fire Tablet | Wakescreen | Unguaranteed | App Name | 1/13-1/31
__AAX_SOURCE_NAME__HAQM publisher groupKSO (constant for all Fire Tablet campaigns)
__AAX_SITE_NAME__HAQM publisherwakescreen (constant for all Fire Tablet campaigns)
__CS_AD_SIZE__HAQM creative size9999x9999 (constant for all Fire Tablet campaigns)
__CS_CREATIVE_ID__HAQM creative id834686129764

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

Adjust Parameters

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

ParameterUsageDescription
campaignavailableHAQM campaign id + name
adgroupavailableHAQM publisher group
creativeavailableCreative id + size



Adjust Example Measurement URLs

Impression: Fire

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

http://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__ (HAQM campaign id + name)
af_refreserved__AAX_TRACKING_ID__ (Google referrer)
af_channelreserved__AAX_SOURCE_NAME__ (supply category name)
af_siteidreserved__AAX_SITE_NAME__ (HAQM publisher)
af_adreserved__CS_AD_NAME__ (HAQM ad id + name)
af_ad_typereserved__CS_AD_SIZE__ (creative size)
af_ad_idreserved__CS_CREATIVE_ID__ (HAQM creative id)



AppsFlyer Example Measurement URLs

Impression: Fire

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

http://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 HAQM use. (See http://support.kochava.com/reference-information/integrate-with-kochava-as-a-networkpublisher/)

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



Kochava Example Measurement URLs

Impression: Fire

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

http://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 HAQM use.

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



Singular Example Tracking URLs

Impression: Fire

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

http://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. HAQM reserves the following “Partner Parameters”. (See http://help.tune.com/hasoffers/parameters-macros-in-hasoffers/).

ParameterUsageDescription
sub_publisherreserved__AAX_SOURCE_NAME__ (supply category name)
sub_sitereserved__AAX_SITE_NAME__ (HAQM publisher)
sub_campaignreserved__CS_CAMPAIGN_NAME__ (HAQM campaign id + name)
sub_adreserved__CS_AD_NAME__ (HAQM 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__ (HAQM app id for the promoted app)
sub4reserved__CS_AD_SIZE__ (creative size)
sub5reserved__CS_CREATIVE_ID__ (HAQM creative id)



Tune Example Tracking URLs

Impression: Fire

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

http://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 HAQM use. (See http://docs.branch.io/deep-linked-ads/amazon-mobile-tracking/).

ParameterUsageDescription
aax_site_namereserved__AAX_SITE_NAME__ (HAQM publisher)
aax_source_idreserved__AAX_SOURCE_NAME__ (Name or ID of HAQM publisher / source)
amazon_app_idreserved__CS_APP_ID__ (HAQM 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

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

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

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

http://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 subdomain is dependent on the app. Hence it changes for every app. In the above case it’s branchsteramazon