App Conversion Confirmation

For details on the new app conversion tracking and remarketing integration, see specifications here. The new integration provides a much more seamless conversion tracking setup with one-stop linking and conversion import experience. New users should use the latest integration as we will be deprecating the legacy API soon.

This page explains how to get instant confirmation of which conversions of your app were driven by your AdWords advertising. You can use this to study things like the lifetime value of the users you acquire, in your own analytics tools.

Prerequisite: Set up AdWords conversion tracking for app conversions

Reporting all new conversions of your app to Google via AdWords Conversion Tracking is a prerequisite in order to get instant confirmation.

There are two methods for reporting new conversions of your app to AdWords:

Server-to-server
You collect information about new app installs and in-app events through an app analytics package, and the analytics system transmits this information to Google from a server.
Client-side code
You integrate a snippet of code into your app, which transmits this information directly from the app to Google when the app is opened for the first time.

Be sure that you have set up one of these two types of conversion tracking.

How instant confirmation of app conversions works (server-to-server)

If you are using method server-to-server conversion tracking, AdWords can be configured to provide instant confirmation of the origin of each app conversion. You can enable this by setting up a postback URL in your AdWords account. Here's how it works:

  • When you report a new conversion of your app to Google, if the app conversion was not driven by your AdWords ads, Google will reply with an HTTP 200 OK response. The 200 response lets you know your conversion ping was formatted correctly, but that this particular conversion was not driven by your AdWords ads.

  • If the app conversion was driven by your AdWords ads, Google will reply with an HTTP 302 Redirect to a postback URL of your choice.

The postback URL that you specify can include the following macros, which Google will expand to give you additional details about the paid event that drove the conversion:

{md5_advertising_id} (iOS only; required)
The md5 hash of the advertising identifier (a.k.a. "IDFA") of the device that installed the app or completed an in-app conversion.
  • Lower-case hexadecimal.
{adid} (Android only; required)
The unchanged Android advertising identifier of the Android device that installed your app or completed an in-app conversion.
{lat} (required)
The limit-ad-tracking status of the advertising identifier. If limit-ad-tracking is on, this will be 1. If limit-ad-tracking is off, it will be 0.
  • By participating in this beta, advertisers must agree to respect the "limit ad tracking" status of any advertising identifier they may collect or receive.
{click_ts} (optional)
The timestamp of the Google ad click that drove the conversion.
  • *nix UTC timestamp, in microseconds.
  • This is helpful so that advertisers can judge the time between the paid event and the conversion.
{click_url} (optional)
The full click URL of the ad click that drove the install or in-app conversion.
  • This is helpful for advertisers who want to track not just the value of the users they get from AdMob advertising, but more specifically the value generated by different devices and publisher placements where their ad served.
  • Advanced advertisers will want to use ValueTrack parameters in their destination URL when setting up an ad; if they do, the expanded ValueTrack parameter will be passed through in the click URL at postback time.
  • A set of useful ValueTrack parameters will be added by default within the referrer parameter to clicks coming from Google Search campaigns.
  • The click URL is not configurable for AdWords for Video campaigns.
{campaign_id} (optional)
The AdWords for Video campaign ID of the TrueView app promotion ad paid view that drove the install or in-app conversion.
  • This is helpful for advertisers who are running TrueView campaigns and they want to specifically measure their video ad performance.
  • This macro will only fill in for AdWords for Video and Universal App Campaigns. It will be empty for AdMob campaigns.
{video_id} (optional)
The unique video ID of the AdWords for the TrueView app promotion ad paid view which drove the install or in-app conversion.
  • This will allow advertisers to measure the performance of their specific TrueView ads.
  • This macro will only fill in for AdWords for Video and YouTube inventory on Universal App Campaigns. It will be empty for AdMob and Search campaigns.

You will need to configure the server that is pinging new app conversions to AdWords to handle these HTTP responses. You may configure your server to follow the 302 redirect response you get. If so, you'll need to make sure you have set up an endpoint set up at the postback URL you've specified that can take traffic and parse the app conversion postback.

You may also choose not to follow the 302, but rather to parse its contents directly from the HTTP response.

Example

You might decide that you want your app conversion postback URL for your iOS app to be:

https://my-app-analytics.com?idfa={md5_advertising_id}&lat={lat}&click_url={click_url}&click_timestamp={click_ts}&trv_campaign_id={campaign_id}&video_id={video_id}

and for your Android app:

https://my-app-analytics.com?advertising_id={adid}&lat={lat}&click_url={click_url}&click_timestamp={click_ts}&trv_campaign_id={campaign_id}&video_id={video_id}

Edit your app download conversion in your AdWords account to add this postback URL.

The postback URL will become active within a few hours of being entered into the AdWords account UI. Each time you ping AdWords to notify of a new conversion of your app, for example:

https://www.googleadservices.com/pagead/conversion/0123456789/?label=abCDEFG12hIJk3Lm4nO&rdid=AEBE52E7-03EE-455A-B3C4-E57283966239&bundleid=com.example.MyApp&idtype=idfa&lat=0

or

https://www.googleadservices.com/pagead/conversion/0123456789/?label=abCDEFG12hIJk3Lm4nO&rdid=38400000-8cf0-11bd-b23e-10b96e40000d&idtype=advertisingid&lat=0&bundleid=com.example.MyApp&appversion=1.2.4&osversion=4.2&sdkversion=myapptrackingcompany-sdk-a-v1.0.0

Google will issue an HTTP response indicating whether or not this conversion was driven by your AdWords advertising.

If the conversion came from AdWords…

If this conversion was driven by an AdWords paid event, we would issue a 302 redirect to the URL you have provided, with macros filled in.

For example, if the conversion was driven by a display ad click, we might issue a 302 redirect to:

https://my-app-analytics.com?idfa=2ed635a26c6b698575c3a973b54d6c83&lat=0&click_url=https%3A%2F%2Fmy-click-tracker.com%2Fendpoint%3Faction%3Dclick%26publisher_id%3D2908558%26channel_id%3D034908345&click_timestamp=1376008784000000&trv_campaign_id=&video_id=

This response would indicate that the conversion was from a hashed advertising ID of

2ed635a26c6b698575c3a973b54d6c83

which clicked through to the destination URL

https://my-click-tracker.com/endpoint?action=click&publisher_id=2908558&channel_id=034908345

at timestamp

1376008784000000

If this conversion was driven by a TrueView app promotion ad, the 302 redirect we issue would look something like this:

https://my-app-analytics.com?idfa=2ed635a26c6b698575c3a973b54d6c83&lat=0&click_url=&click_timestamp=1376008784000000&trv_campaign_id=123456789&video_id=123456

This response would indicate that the conversion was from a hashed advertising ID of

2ed635a26c6b698575c3a973b54d6c83

which viewed a TrueView app promotion ad of campaign ID

123456789

and video ID

123456

at timestamp

1376008784000000

If the conversion did not come from AdWords…

When the app conversion that you report to Google was not driven by an AdWords ad click, your server will receive an HTTP 200 response indicating a correctly-formatted ping, but no match to an ad click.

How instant confirmation of app conversions works (client integration)

If you are reporting installs and in-app events to Google via conversion tracking code that's embedded in your app, you can also use instant app conversion confirmation.

First, set up the postback URL in your AdWords account. Then, whenever a new conversion of your app is driven by your AdWords advertising, AdWords will cause your app to ping this URL.

You need to have an endpoint configured at that URL to accept and parse the postbacks.

Send feedback about...

Mobile Apps Conversion Tracking and Remarketing
Mobile Apps Conversion Tracking and Remarketing