Effective Measurement URLs

A user interacting with a measurement URL, either by viewing or clicking, is the primary mechanism for initiating a measurement session in Attribution Analytics and storing data for attribution. The interaction is then associated with a subsequent install (or in-app event) and is attributed to the advertising partner responsible for influencing the user to install the mobile app (or perform an in-app event).

The measurement URL includes a few required parameters and a wide variety of optional ones that can be used to add additional color and depth to your reporting. By using the right parameters and adhering to our best practices you can build URLs tailored to your needs and customize your reporting.


The Base Attribution Analytics Measurement URL

The base Attribution Analytics measurement URL is made up of three main components all of which are required:

1. Base Domain URL (Required)

There are a range of base domain names (such as api-02 and api-03) and we periodically rotate in new ones. The base URL always includes the Attribution Analytics Partner ID for whom the URL is being created:


2. Action Parameter (Required)

Required; Used to differentiate a click-through URL vs an impression URL. Valid values are:

3. App and Campaign Parameters (Required)

  • &publisher_id=ATTRIBUTION_ANALYTICS_PUBLISHER_ID - Identifies the network partner
  • &site_id=ATTRIBUTION_ANALYTICS_APP_ID - Identifies the App that the link is for

4. Unique Device Identifiers (Not required but recommended)

While not required, we highly recommend including Unique Device Identifiers in the Base Attribution Analytics Measurement URL as it ensures 1:1 attribution with 100% accuracy. Keep in mind that when providing the value for the parameters below, you'll need to either provide a hard-coded value or a macro { } supported by your advertising network of choice.

  • &ios_ifa=Value - Raw iOS IFA
  • &ios_ifa_md5=Value - MD5 Hash of the IFA
  • &ios_ifa_sha1=Value - SHA1 Hash of the IFA
  • &device_id=Value - EMEI, only available for Android devices.
  • &device_id_md5=Value
  • &device_id_sha1=Value
  • &device_id_sha256=Value
  • &android_id/&os_id=Value - Raw Android ID or Windows Hardware ID
  • &android_id_md5/&os_id_md5=Value - Android ID or Windows Hardware ID MD5 hash
  • &android_id_sha1&os_id_sha1=Value - Android ID or Windows Hardware ID SHA1 hash
  • &google_aid=Value - Google Advertising ID
  • &google_aid_md5=Value - Google Advertising ID MD5 hash
  • &google_aid_sha1=Value - Google Advertising ID SHA1 hash
  • &platform_aid=Value - Generic advertising ID, like Amazon's Fire Advertising ID
  • &windows_aid=Value - Windows Advertising ID
  • &windows_aid_md5=Value - Windows Advertising ID MD5 hash
  • &windows_aid_sha1=Value - Windows Advertising ID SHA1 hash
  • &user_id=Value - Custom ID assigned to user by the app. Useful primarily for re-engagement campaigns
  • &tpid=Value - Persistent cross-application unique device identifier that TRUSTe has created as a privacy-safe alternative to the deprecated UDID. Not in common usage.
  • &unid=Value - UNID/Unknown Identifier can be used when the type of identifier is unknown, and we will attempt to match to all identifiers and hashes. It is not recommended to use this if you are able to specify the type of identifier.
  • &mac_address=Value - Deprecated
  • &mac_address_md5=Value - Deprecated
  • &mac_address_sha1=Value - Deprecated
  • &odin=Value - Deprecated


Campaign Optimization Parameters

"Campaigns" are a management layer in Attribution Analytics between your mobile app and your advertising partners. A campaign in Attribution Analytics helps you manage multiple advertising relationships. You do NOT set up campaigns for specific partners, or specific traffic sources for a partner within Attribution Analytics. While it may seem like a good idea to create a unique campaign for each partner in Attribution Analytics, this method becomes unmanageable when you reach a scale of hundreds or thousands of campaigns.

Instead, we encourage you to think of your individual campaigns with your partners as sub-campaigns within Attribution Analytics. So instead of creating a new campaign, use the "my_campaign" parameter in the measurement URL. The same is true when you want to segment your reporting by ads ("my-ads"), adgroups ("my_adgroups"), sites ("my_site"), etc. The following sections explain the sub parameters available to you for organizing your mobile app marketing reports.

As advertisers and their partners have different data and reporting needs, Attribution Analytics provides similar sub parameters for both advertisers and partners (as seen in the graphic below) to be included in measurement URLs. Advertisers have access to both their sub parameters and their partners' sub parameters, while Partners only have access to their own sub parameters. Sub parameters are available in the Actuals, Cohort, and Log reports to analyze and compare performance:


Advertiser Campaign Optimization Sub Parameters

Advertisers can use the following sub parameters separately and independently from the partner sub parameters:

  • my_publisher - Name or ID of the advertiser's partner.
  • my_site - Name or ID of the advertiser site or mobile app.
  • my_campaign - Name or ID of the campaign.
  • my_adgroup - Name or ID of the adgroup.
  • my_ad - Name or ID of the ad.
  • my_keyword - Name or ID of the keyword which is specifically relevant to search campaigns (like the Google AdWords integration).

Use these parameters based on how the specific advertiser system is organized. Not all advertisers provide data for all of the above optimization parameters.


Partner Campaign Optimization Sub Parameters

Partners can use the following sub parameters:

  • sub_publisher - This value is the name or ID of the partner’s publisher.
  • sub_site - This value is the name or ID of the partner site or mobile app.
  • sub_campaign - This value is the name or ID of the campaign that you're advertising with the partner.
  • sub_adgroup - This value is the name or ID of the adgroup that you're advertising with the partner.
  • sub_ad - This value is the name or ID of an ad that you're advertising with the partner.
  • sub_keyword - Name or ID of the keyword which is specifically relevant to search campaigns (like the Google AdWords integration).

Use these parameters based on how the specific partner system is organized. Not all partners provide data for all of the above optimization parameters.

Note: These parameters are intended for campaign optimization purposes only. If you send a new/unique value with every request (NOT advised), then Attribution Analytics will ignore such parameters.


my_publisher / sub_publisher

Generally, only ad networks provide "sub_publisher" information because they are a mediation agency connecting multiple partners (publishers) to advertisers. Some ad networks pass the names or IDs of the partners on their network, allowing you to analyze and optimize the performance per partner. In most cases, an ad network must pass the name or ID of their partner dynamically, so you need to ask specifically about this capability. If you advertise with a partner who has a blind network, then they cannot pass partner information (sub_publisher). Typically, a direct partner relationship (non-ad network partner) does not have sub publishers.

For example, an ad network monetizes traffic from the Internet radio service Pandora. So the "publisher_id" sub parameter is associated with the "publisher_id" parameter created in Attribution Analytics. Therefore, the "sub_publisher" parameter in this example equals Pandora, as shown in the following measurement URL examples:

  • Advertiser Example:
  • Partner Example:


my_site / sub_site

If you’re advertising on the mobile web, then the "sub_site" parameter identifies the web site or property that displays the ad (mobile apps are also classified as “sites”). If you work with a large video game partner and you advertise in several of their mobile apps, then set the "sub_site" parameter to the name or ID of each mobile app. For a specific ad buy in a mobile app for a partner, you can optionally hardcode the "sub_site" value instead of generating it dynamically. Ad networks may also pass "sub_site" information, but they must pass it dynamically because it is not typical for ad networks to do site-specific buys.

For example, when advertising your app for a game studio with multiple apps, the "sub_site" value is set dynamically with the app name, as shown in the following measurement URL examples:

  • Advertiser Example:
  • Partner Example:


my_campaign / sub_campaign

A campaign defines the advertising plan for your mobile app and generally includes a name, destination URL (landing page), cost/bids, adgroups, and ads for the campaign. By default, most ad networks and partners do not pass the campaign name or IDs dynamically, so you should manually hardcode the name of your campaign in your measurement URL (and the name or IDs of your adgroups, depending on the partner).

For example, if you run two campaigns with the same partner (one incentivized and one not), then set the sub_campaign value input name of "Incentivized" to differentiate the campaigns:

  • Advertiser Example:
  • Partner Example:


my_adgroup / sub_adgroup

Partners who use adgroups can dynamically specify an adgroup value in their measurement URL. Partners who do not use adgroups typically provide two-layer management with campaigns and ads in each campaign. When there is no adgroup, the "sub_adgroup" parameter is not a valid sub parameter for measurement.

For example, if you create an adgroup for your 728x90 banner ads, then your measurement URL appears similar to the following measurement URL examples:

  • Advertiser Example:
  • Partner Example:


my_ad / sub_ad

By using the "sub_ad" parameter, you can pass in the name or ID of the specific ad that you configured with the partner. Typically, you hard-code this value with the name or ID of each ad. If you’re running five different ads, then you use a different hard-coded value for each ad.

For example, in the 728x90 banner adgroup, if you have a blue banner named "AdwithBlue", then your measurement URL appears similar to the following measurement URL examples:

  • Advertiser Example:
  • "advertiser_sub_ad" as a numerical ID:
  • Partner Example:
  • "sub_ad" as a numerical ID:


my_keyword / sub_keyword

In using the "sub_keyword" parameter, you can pass in the keyword name or ID relevant for search campaigns (like the Google AdWords integration). For example:

  • Advertiser Example:
  • Partner Example:


Additional Parameters for Reconciliation

Attribution Analytics also supports five additional sub parameters that are available in the Logs and Postback URL reports, and typically store unique information for partners, but are not available in the performance reports for aggregate reporting because they are not standardized for cross-channel analysis.

These additional parameters are:

  • sub1 - String of additional information specified by partner
  • sub2 - String of additional information specified by partner
  • sub3 - String of additional information specified by partner
  • sub4 - String of additional information specified by partner
  • sub5 - String of additional information specified by partner

The following URL example shows a measurement URL that includes the "sub1" parameter.


The following URL example shows a measurement URL that includes both "sub1" and "sub2" parameters.


You can set one to all five additional sub parameters as needed. While the optimization sub parameters above (like my_campaign and sub_campaign) can accept values up to 255 characters, these parameters support values up to 500 characters.


Offer ID Parameter

The offer_id parameter identifies the Attribution Analytics campaign that the link is associated with. When this parameter is omitted from the measurement URL, Attribution Analytics assumes the value of the default campaign.

  • offer_id - Identifies the campaign that the link is associated with


Reference ID Parameter

The ref_id parameter is reserved for the specific reference ID from the partner system (500 characters max). It's similar to the "sub1" through "sub5" parameters, and is sometimes used for a publisher transaction ID, click ID, ad ID, or tracking ID. To learn more about using the reference ID, please read What is Reference ID Used For?

  • ref_id - Reference ID specified by the partner to reconcile with their own third-party system


Using Country Code/Device IP

If a partner has a unique integration with Attribution Analytics and is measuring clicks server-side, then all clicks from these partners (and by extension, all installs attributed to those clicks) appear to come from the geographic location of their servers. To resolve this issue, pass into Attribution Analytics either the 2-character ISO country code or the device IP on click so that Attribution Analytics can attribute installs to their proper geo-location of origin.

  • country_code - Two-character & three-character ISO country code where the click originated.
  • device_ip - IP address of the device collected on click.


Passing Cost Data

You can pass in cost data dynamically through your measurement URLs. This functionality is explained in detail on our doc about providing cost data and is based on the following parameters:

  • cost - Amount of cost formatted as float. Must be in USD.
  • cost_model - One of the following cost models:
    • cpv - Cost per View (Impression)
    • cpm - Cost per 1000 Impressions
    • cpc - Cost per Click
    • cpi - Cost per Install
    • cpa - Cost per Action
      • If "cpa" is used as the cost model, one of the following additional parameters must be included to ensure the cost is applied to the correct in-app event.
        • cost_target_event_type - The predefined event type (e.g. "registration") or the exact name of the site_event.
        • cost_target_event_id - The ID of a site event.
    • cpo - Cost per Open

1 Comment

Leave a reply