Conversion Tracking

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.

AdWords can report app downloads that were driven by your search, video and display ad campaigns without the need for you to integrate any code. Simply start your first campaign and you'll begin to see downloads show up as "Conversions" in your reporting. However, some advertisers manage their own user analytics and prefer to report mobile app conversions from the server side (both app download conversions and advertiser-defined in-app conversions)--read on to find out how.

Reporting first app opens from an analytics server

Define an Android first open conversion in your AdWords account. During the last step, you should indicate that you plan to report conversion to AdWords using a server-to-server integration. You'll be provided with an ID number and a label for the conversion; take note of these.

For each new user who installs your app and opens it for the first time, you should construct a GET request to:

https://www.googleadservices.com/pagead/conversion/MY_CONVERSION_ID/

where MY_CONVERSION_ID is the conversion ID provided in your AdWords conversion tracking code snippet. The GET request should include the following required parameters:

  • label=MY_CONVERSION_LABEL

    This is the label provided in your AdWords conversion tracking code snippet.

  • rdid=ANDROID_ADVERTISING_IDENTIFIER

    Send the advertising identifier ("ADID") of the Android device that installed your app. This value should not be changed.

  • bundleid=MY_ANDROID_APP_PACKAGE_NAME

    Include the fully-qualified package name of your Android app, for example: com.example.MyApp

    • The rdid is case insensitive.
  • idtype=advertisingid

    Include the exact string shown above--this lets us know that you are using the Android advertising identifier to report conversions.

  • lat=LIMIT_AD_TRACKING_STATUS

    Include the limit-ad-tracking status of the advertising identifier. If AdvertisingIdClient.Info.isLimitAdTrackingEnabled() returns true, set lat=1. If limit ad tracking is not enabled, set lat=0.

  • appversion=MY_ANDROID_APP_VERSION

    The version of the app that this device downloaded.

  • osversion=ANDROID_OS_VERSION

    The operating system version that the device is using, e.g., 6.0.

  • sdkversion=VERSION_OF_YOUR_SDK

    We suggest the format: <your_company>-sdk-<first_letter_of_operating_system>-v<version>. For example, myapptrackingcompany-sdk-a-v1.0.0. This is useful for debugging.

Getting instant confirmation of app installs

Optionally, you can configure AdWords so that each time you notify of a new app install, you get instant confirmation of whether the install came from AdWords via an HTTP response. More information can be found here.

In-app conversions

An in-app conversion can be attributed to one of the following click types:

  1. An original AdWords ad click that drove the app install
  2. A click on a deep link ad that sends the user into the app

Reporting in-app conversions from an analytics server

If you are tracking events beyond downloads in your analytics tools, it's helpful to feed those events back into AdWords as "conversions". This allows AdWords to gather data for better optimizing your ad campaign. It also allows you to view performance reporting conveniently in your AdWords account.

Events you track in your app might include things like whether a user completes a gameplay tutorial, or whether a user completes a purchase. Conversion events will show up in your AdWords account if a user carries out one of these conversions after clicking an ad.

To track these events, simply define additional conversions of type "Android in-app action" in your AdWords account, one for each event you'd like to track. Give each one a descriptive name. (AdWords allows you to define a large number of different conversions, and gives you a different label for each one.)

Each time a user completes one of these conversion events, make a GET request, just as described above for tracking downloads, but using the conversion label for the in-app conversion event that you've defined.

Optionally, the GET request can also contain these two parameters:

  • value=MY_VALUE

    This is the value of your conversion, e.g., value=1.99 for a $1.99 conversion. It can be useful to include monetary values for in-app conversions that have them (e.g., in-app purchases). AdWords is able to report back on the total value driven by your advertising. AdWords can also use this data to steer your ads toward users who are likely to produce more value.

  • currency_code=CURRENCY_OF_TRANSACTION

    This is the three-letter ISO 4217 currency code of the monetary currency that was used in the transaction.

Measuring deep-linked ads from mobile web

To measure in-app events as conversions from ads that serve on mobile websites and deep link into the app, you must notify AdWords whenever the app was opened with a deep link.

Implementation specifications

  1. Enable auto-tagging in your AdWords account. This ensures that the google click ID (GCLID) parameter is attached to all your ad URLs.
  2. Each time you detect that the app is opened with a deep link, and the URL contains a GCLID, fire a deep link click request to AdWords. This request can be sent either from the client app or from a server.
https://www.googleadservices.com/pagead/conversion/app/connect/MY_ANDROID_APP_PACKAGE_NAME/?app_event_type=deep_link&idtype=advertisingid&lat=LIMIT_AD_TRACKING_STATUS&rdid=ANDROID_ADVERTISING_IDENTIFIER&sdkversion=VERSION_OF_YOUR_SDK&gclid=GOOGLE_CLICK_ID
  • MY_ANDROID_APP_PACKAGE_NAME

    Include the fully-qualified package name of your Android app, for example: com.example.MyApp.

    • Package name is case sensitive.
  • LIMIT_AD_TRACKING_STATUS

    Include the limit-ad-tracking status of the advertising identifier. If AdvertisingIdClient.Info.isLimitAdTrackingEnabled() returns true, set lat=1. If limit ad tracking is not enabled, set lat=0.

  • ANDROID_ADVERTISING_IDENTIFIER

    Send the advertising identifier ("ADID") of the Android device that installed your app. This value should not be changed.

  • VERSION_OF_YOUR_SDK

    We suggest the format:

    <your_company>-sdk-<first_letter_of_operating_system>-v<version>

    For example, myapptrackingcompany-sdk-a-v1.0.0. This is useful for debugging.

  • GOOGLE_CLICK_ID

    Include the GCLID parameter that was in the URL which opened the app.

Verification

Your GET request for the pings you send us will end up looking something like this:

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
  • 0123456789 - your conversion ID
  • abCDEFG12hIJk3Lm4nO - your conversion label
  • 38400000-8CF0-11BD-B23E-10B96E40000D - android advertising identifier
  • com.example.MyApp - package name of your Android app
  • 1.2.4 - version of the app that is installed on the device
  • 4.2 - operating system version used by the device
  • myapptrackingcompany-sdk-a-v1.0.0 - name and version of the SDK used to collect this information
  • 0 - limit-ad-tracking status of the advertising identifier

If your request is malformed, you will get a 400 Bad Request error response. If your request is correct, we will return an HTTP 200 response.

If you've enabled instant confirmation of app conversions, then the HTTP responses you receive will be different. In that case, if the install was driven by AdWords advertising, you will receive a 302 Redirect with information about the AdWords ad click that drove this conversion. If it was not driven by AdWords advertising, you'll receive an HTTP 200 response.

Send feedback about...

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