Dynamic remarketing for apps setup guide

2. Set up events with your data

To provide a comprehensive and consolidated view of your audiences and make audience management and optimisation simpler, you’ll find the following improvements in Google Ads:

  • New audience reporting
    Detailed reporting about audience demographics, segments and exclusions is now consolidated in one place. Click the Campaigns icon Campaigns icon and open the 'Audiences, keywords and content' tab and click Audiences. You can also easily manage your audiences from this report page. Learn more About audience reporting.
  • New terms
    We’re using new terms on your audience report and throughout Google Ads. For example, 'audience types' (these include custom, in-market and affinity) are now referred to as audience segments and 'remarketing' is now referred to as 'your data'. Learn more about the Updates to audience terms and phrases.

Dynamic remarketing events for your app allow you to target users who already have your app installed, based on interactions with features in your app. Qualifying interactions include viewing a product page, selecting travel dates and airport codes or adding a product to a shopping list. These events allow you to organise audiences based on those qualifying actions in order to tailor more relevant messages to them.


Example

  • When a user abandons a shopping basket, you can show product ads to remind them to complete their transaction.
  • When a user searches for hotels in Guam, you can show ads highlighting your hotel with deals on excursions.
  • When a user views a language learning deal in Rome, you can show ads offering discounts for that same deal.

In order for your app to send remarketing events to Google Ads, there are 3 configurations to consider:

  • Using Firebase
  • Through a third-party (3P) app analytics provider SDK, or
  • Using a server-to-server integration

Set up your data with Firebase

Firebase is Google's mobile platform, made to help you build better mobile apps and grow your business. To set up remarketing with Firebase:

  1. Configure your mobile app with the Firebase SDK for Android or iOS.
  2. Implement the recommended events for your business type.
  3. Link your Firebase and Google Ads accounts.
    • Note: You must share conversion event data from both Firebase and from Google Ads.
  4. Configure how your app sends attribution data.

Set up your data with a third-party SDK

To help you make informed marketing decisions about your app, Google Ads works with some third-party app analytics providers to support the Google Dynamic remarketing for apps scheme. Together with Google Ads, our App Attribution Partners can give you a seamless understanding of your app’s campaign performance.

If you use one of these third-party app analytics providers, link your third-party app analytics provider to Google Ads to enable your data segment creation. Work with your third-party app analytics representative to set up their app’s SDK.

Set up your data with server-to-server

Google has announced an entirely new API for Google Ads app conversion tracking and for helping you make use of your data to expand your reach. The new API makes app analytics and attribution simpler for advertisers and is more reliable for Google Ads attribution providers.

It’s recommended to use the new API because Google will eventually deprecate the legacy API. For detailed instructions on how to set up your data through server-to-server integration, refer to the Google Developer’s guide to App Conversion Tracking and Remarketing API. Below are example specifications for both the new API and the legacy API.

New API (examples only)

Android example:

Session_start notification to Google Ads (also known as Connector pings)
POST /pagead/conversion/app/1.0
?dev_token=MY_DEVELOPER_TOKEN
&link_id=MY_LINK_ID
&app_event_type=session_start
&rdid=MY_USER_ADID
&id_type=advertisingid
&lat=LAT_STATUS
&app_version=1.2.4
&os_version=8.0.0
&sdk_version=1.0.0
&timestamp=1432681913.123456
&gclid=GCLID_VALUE_FROM_REFERRER
Host: googleadservices.com
User-Agent: MyAnalyticsCompany/1.0.0 (Android 8.0; en_US; SM-G900F; Build/MMB29M; Proxy)
X-Forwarded-For: 216.58.194.174
Content-Type: application/json; charset=utf-8

Android example:

Set up app events for those who viewed an item (Education, Jobs, Local deals, Property and Custom only)

POST /pagead/conversion/app/1.0
?dev_token=MY_DEVELOPER_TOKEN
&link_id=MY_LINK_ID
&app_event_type=view_item
&rdid=MY_USER_ADID
&id_type=advertisingid
&lat=LAT_STATUS
&app_version=1.2.4
&os_version=8.0.0
&sdk_version=1.0.0
&timestamp=1432681913.123456
Host: googleadservices.com
User-Agent: MyAnalyticsCompany/1.0.0 (Android 8.0; en_US; SM-G900F; Build/MMB29M; Proxy)
X-Forwarded-For: 216.58.194.174
Content-Type: application/json; charset=utf-8

{"app_event_data":{"item_id":"id12345"}}

Android example:

Set up app events for those who reached the conversion screen (Education, Jobs, Local deals, Property and Custom only)

POST /pagead/conversion/app/1.0
?dev_token=MY_DEVELOPER_TOKEN
&link_id=MY_LINK_ID
&app_event_type=ecommerce_purchase
&rdid=MY_USER_ADID
&id_type=advertisingid
&lat=LAT_STATUS
&app_version=1.2.4
&os_version=8.0.0
&sdk_version=1.0.0
&timestamp=1432681913.123456
&value=99.99
&currency_code=USD
Host: googleadservices.com
User-Agent: MyAnalyticsCompany/1.0.0 (Android 8.0; en_US; SM-G900F; Build/MMB29M; Proxy)
X-Forwarded-For: 216.58.194.174
Content-Type: application/json; charset=utf-8

{"app_event_data":{"item_id":"id12345", "value":99.99}}

Android example:

Set up app events for those who viewed a product

POST /pagead/conversion/app/1.0
?dev_token=MY_DEVELOPER_TOKEN
&link_id=MY_LINK_ID
&app_event_type=view_item
&rdid=MY_USER_ADID
&id_type=advertisingid
&lat=LAT_STATUS
&app_version=1.2.4
&os_version=8.0.0
&sdk_version=1.0.0
&timestamp=1432681913.123456
Host: googleadservices.com
User-Agent: MyAnalyticsCompany/1.0.0 (Android 8.0; en_US; SM-G900F; Build/MMB29M; Proxy)
X-Forwarded-For: 216.58.194.174
Content-Type: application/json; charset=utf-8

{"app_event_data":{"item_id":"id12345"}}

Android example:

Set up app events for those who purchased multiple products

POST /pagead/conversion/app/1.0
?dev_token=MY_DEVELOPER_TOKEN
&link_id=MY_LINK_ID
&app_event_type=ecommerce_purchase
&rdid=MY_USER_ADID
&id_type=advertisingid
&lat=LAT_STATUS
&app_version=1.2.4
&os_version=8.0.0
&sdk_version=1.0.0
&timestamp=1432681913.123456
&value=99.99
&currency_code=USD
Host: googleadservices.com
User-Agent: MyAnalyticsCompany/1.0.0 (Android 8.0; en_US; SM-G900F; Build/MMB29M; Proxy)
X-Forwarded-For: 216.58.194.174
Content-Type: application/json; charset=utf-8

{"app_event_data":{"item_id":["id12345","id54321"], "value":99.99}}

iOS example:

Session_start notification to Google Ads (also known as Connector pings)

POST /pagead/conversion/app/1.0
?dev_token=MY_DEVELOPER_TOKEN
&link_id=MY_LINK_ID
&app_event_type=session_start
&rdid=MY_USER_IDFA
&id_type=idfa
&lat=LAT_STATUS
&app_version=1.2.4
&os_version=10.0.2
&sdk_version=1.0.0
&timestamp=1432681913.123456
&gclid=GCLID_VALUE_FROM_REFERRER
Host: googleadservices.com
User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy)
X-Forwarded-For: 216.58.194.174
Content-Type: application/json; charset=utf-8

iOS example:

Set up app events for those who viewed an item (Jobs, Local deals, Property and Custom only)

POST /pagead/conversion/app/1.0
?dev_token=MY_DEVELOPER_TOKEN
&link_id=MY_LINK_ID
&app_event_type=view_item
&rdid=MY_USER_IDFA
&id_type=idfa
&lat=LAT_STATUS
&app_version=1.2.4
&os_version=10.0.2
&sdk_version=1.0.0
&timestamp=1432681913.123456
Host: googleadservices.com
User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy)
X-Forwarded-For: 216.58.194.174
Content-Type: application/json; charset=utf-8

{"app_event_data":{"item_id":"id12345"}}

iOS example:

Set up app events for those who reached the conversion screen (Jobs, Local deals, Property and Custom only)

POST /pagead/conversion/app/1.0
?dev_token=MY_DEVELOPER_TOKEN
&link_id=MY_LINK_ID
&app_event_type=ecommerce_purchase
&rdid=MY_USER_IDFA
&id_type=idfa
&lat=0
&app_version=1.2.4
&os_version=10.0.2
&sdk_version=1.0.0
&timestamp=1432681913.123456
&value=99.99
&currency_code=USD
Host: googleadservices.com
User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy)
X-Forwarded-For: 216.58.194.174
Content-Type: application/json; charset=utf-8

{"app_event_data":{"item_id":"id12345", "value":99.99}}

iOS example:

Set up app events for those who viewed a product

POST /pagead/conversion/app/1.0
?dev_token=MY_DEVELOPER_TOKEN
&link_id=MY_LINK_ID
&app_event_type=view_item
&rdid=MY_USER_IDFA
&id_type=idfa
&lat=LAT_STATUS
&app_version=1.2.4
&os_version=10.0.2
&sdk_version=1.0.0
&timestamp=1432681913.123456
Host: googleadservices.com
User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy)
X-Forwarded-For: 216.58.194.174
Content-Type: application/json; charset=utf-8

{"app_event_data":{"item_id":"id12345"}}

iOS example:

Set up app events for those who purchased multiple products

POST /pagead/conversion/app/1.0
?dev_token=MY_DEVELOPER_TOKEN
&link_id=MY_LINK_ID
&app_event_type=ecommerce_purchase
&rdid=MY_USER_IDFA
&id_type=idfa
&lat=0
&app_version=1.2.4|
&os_version=10.0.2
&sdk_version=1.0.0
&timestamp=1432681913.123456
&value=99.99
&currency_code=USD
Host: googleadservices.com
User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy)
X-Forwarded-For: 216.58.194.174
Content-Type: application/json; charset=utf-8
{"app_event_data":{"item_id":["id12345","id54321"], "value":99.99}}

Legacy API (examples only)

The legacy API will be deprecated soon

New advertisers should use the latest integration (refer to the new API specs in the section above) as Google will be deprecating the legacy API soon.

For legacy app conversion tracking and your data integration, read the Android and iOS specifications.

Android example:

Session_start notification to Google Ads (also known as Connector pings)

https://googleadservices.com/pagead/conversion/app/connect/MY_APP_ID/
?
app_event_type=deep_link&idtype=advertisingid&lat=LAT_STATUS&rdid=MY_USER_ADID&sdkversion=1.0.0&gclid=GCLID_VALUE_FROM_REFERRER

Android example:

Set up app events for those who viewed an item (Education, Jobs, Local deals, Property and Custom only)

https://googleadservices.com/pagead/conversion/0123456789/?
bundleid=MY_APP_ID&rdid=MY_USER_ADID&idtype=advertisingid&lat=LAT_STATUS&appversion=1.2.3&osversion=6.0.1&usage_tracking_enabled=1&remarketing_only=1&data.app_event=view_item&data.item_id=id12345

Android example:

Set up app events for those who reached the conversion screen (Education, Jobs, Local deals, Property and Custom only)

https://googleadservices.com/pagead/conversion/0123456789/?
bundleid=MY_APP_ID&rdid=MY_USER_ADID&idtype=advertisingid&lat=LAT_STATUS&appversion=1.2.3&osversion=6.0.1&usage_tracking_enabled=1&remarketing_only=1&data.app_event=ecommernce_purchase&data.item_id=id12345&data.value=99.99

Android example:

Set up app events for those who viewed a product

https://googleadservices.com/pagead/conversion/0123456789/?
bundleid=MY_APP_ID&rdid=MY_USER_ADID&idtype=advertisingid&lat=LAT_STATUS&appversion=1.2.3&osversion=6.0.1&usage_tracking_enabled=1&remarketing_only=1&data.app_event=view_item&data.item_id=id12345

Android example:

Set up app events for those who purchased multiple products

https://googleadservices.com/pagead/conversion/0123456789/?
bundleid=MY_APP_ID&rdid=MY_USER_ADID&idtype=advertisingid&lat=LAT_STATUS&appversion=1.2.3&osversion=6.0.1&usage_tracking_enabled=1&remarketing_only=1&data.app_event=ecommernce_purchase&data.item_id=id12345&data.item_id=id54321&data.value=99.99

iOS example:

Session_start notification to Google Ads (also known as Connector pings)

https://googleadservices.com/pagead/conversion/app/connect/MY_APP_ID/
?
app_event_type=deep_link&idtype=idfa&lat=LAT_STATUS&rdid=MY_USER_IDFA&sdkversion=1.0.0&gclid=GCLID_VALUE_FROM_REFERRER

iOS example:

Set up app events for those who viewed a product

https://googleadservices.com/pagead/conversion/0123456789/?
bundleid=MY_APP_ID&rdid=MY_USER_IDFA&idtype=idfa&lat=LAT_STATUS&appversion=1.2.3&osversion=6.0.1&usage_tracking_enabled=1&remarketing_only=1&data.app_event=view_item&data.item_id=id12345

iOS example:

Set up app events for those who purchased multiple products

https://googleadservices.com/pagead/conversion/0123456789/?
bundleid=MY_APP_ID&rdid=MY_USER_IDFA&idtype=idfa&lat=LAT_STATUS&appversion=1.2.3&osversion=6.0.1&usage_tracking_enabled=1&remarketing_only=1&data.app_event=ecommerce_purchase&data.item_id=id12345&data.item_id=id54321&data.value=99.99

Event scheme

Different business types require different feeds and app events. Choosing the right scheme for your business ensures that your products or services are accurately represented. Some business types use the same required (or recommended) event scheme. Find your business type listed below:

Travel, Flights, Hotels and rentals

Important

  • For Flight and Travel vertical implementations you must pass the "destination" parameters and values.
  • For Hotels and rentals you must pass the item_id parameter and values.
  • Make sure that the item_id, origin and destination values match respectively with the item_id, origin and destination values in your business data feed. The consistency will allow the creatives to display the most relevant items for users.

Event scheme definitions:

Event name Requirement Event Definition
session_start Required This event tracks the start of a session in the app. Call this event when the user opens the app or resumes using the app.
view_search_results Optional This event tracks search activity in the app. Call this event when search results are populated.
view_item_list Optional This event tracks user-viewed items such as items in a category, favourite items and so on. Call this event with item IDs when items are populated.
view_item Required This event tracks how the user views detailed item information. Call this event with the relevant product ID when the user views an item’s detailed view.
add_to_cart Strongly recommended This event tracks shopping basket activity. Call this event with item IDs when a user adds items to the shopping basket.
ecommerce_purchase Strongly recommended This event tracks transactions in the app. Call this event with item IDs and values when a user purchases items.

Travel scheme:

Event name Required parameters Optional parameters
app_event = session_start    
app_event = view_search_results   destination: ID of the destination city
and
item_id: An array of IDs from items seen by the user on an app screen (for example: hotel, car)
origin: ID from the origin city
start_date:
end_date:
search_term: Search string
google_business_vertical: String used to differentiate use cases
app_event = view_item_list destination: ID of the destination city
and
item_id: An array of IDs from the items seen by the user on an app screen (for example: hotel, car)
origin: ID from the origin city
start_date:
end_date:
search_term: Search string
google_business_vertical: String used to differentiate use cases
app_event = view_item destination: ID of the destination city
and
item_id: ID of an item seen by user on an app screen (for example: hotel, car)
origin: ID from the origin city
start_date:
end_date:
google_business_vertical: String used to differentiate use cases
app_event = add_to_cart destination: ID of the destination city
and
item_id: IDs from an item seen by the user on an app screen (for example: hotel, car)
origin: ID of the origin city
start_date:
end_date:
google_business_vertical: String used to differentiate use cases
app_event = ecommerce_purchase destination: ID of the destination city
and
item_id: An array of IDs from the items seen by the user on an app screen (for example: hotel, car)
origin: ID from the origin city
start_date:
end_date:
value:
google_business_vertical: String used to differentiate use cases

Hotels and rentals scheme:

Event name Required parameters Optional parameters
app_event = session_start    

app_event = view_search_results
  destination: ID of the destination city
and
item_id: An array of IDs from items seen by the user on an app screen (for example: hotel, car)
origin: ID from origin city
start_date:
end_date:
search_term: Search string
google_business_vertical: String used to differentiate use cases
app_event = view_item_list destination: ID of the destination city
and
item_id: An array of IDs from the items seen by the user on an app screen (for example: hotel, car)
origin: ID from origin city
start_date:
end_date:
search_term: Search string
google_business_vertical: String used to differentiate use cases
app_event = view_item destination: ID of the destination city
and
item_id: ID of an item seen by the user on an app screen (for example: hotel, car)
origin: ID from the origin city
start_date:
end_date:
google_business_vertical: String used to differentiate use cases
app_event = add_to_cart destination: ID of the destination city
and
item_id: IDs from an item seen by the user on an app screen (for example: hotel, car)
origin: ID of the origin city
start_date:
end_date:
google_business_vertical: String used to differentiate use cases
app_event = ecommerce_purchase destination: ID of the destination city
and
item_id: An array of IDs from items seen by the user on an app screen (for example: hotel, car)
origin: ID from the origin city
start_date:
end_date:
value:
google_business_vertical: String used to differentiate use cases

Education, Jobs, Local deals, Property and Custom

Important

Make sure that the item_id values match with the primary key values in your business data feed. If you use item_location_id, the values also need to match with the Location ID values in your feed. Matching the code with the feed will allow the creatives to display the most relevant items for users.

Event scheme definitions:

Event name Requirement Event Definition
session_start Required This event tracks a session start in the app. Call this event when the user opens the app or resumes using the app.
view_search_results Optional This event tracks search activity in the app. Call this event when search results are populated.
view_item_list Optional This event tracks user-viewed items such as items in a category, favourite items and so on. Call this event with product ids when items are populated.
view_item Required This event tracks user views of detailed item information. Call this event with the relevant item ID when the user views an item’s detailed view.
add_to_cart Strongly recommended This event tracks cart/basket/checkout activity. Call this event with item IDs when a user intends to make a purchase.
ecommerce_purchase Strongly recommended This event tracks transactions in the app. Call this event with item IDs and values when a user makes a purchase (for example, a 'Thank you' page).

Custom scheme:

Event name Required parameters Optional parameters
session_start    
view_search_results   item_id: An array of item IDs seen by the user on an app screen
search_term: Search string
item_location_id: Array of Item location ID (job or education verticals)
google_business_vertical: String used to differentiate use cases
view_item_list item_id: Item IDs of item seen by user on an app screen app_event: view_item_list
item_id: An array of item IDs seen by the user on an app screen
item_location_id: Array of Item location ID (job or education verticals)
google_business_vertical: String used to differentiate use cases
view_item item_id: Item IDs of item seen by user on an app screen item_location_id: An array of Item location ID (job or education verticals)
google_business_vertical: String used to differentiate use cases
add_to_cart item_id: Array of item IDs added to the basket item_location_id: An array of Item location ID (job or education verticals)
google_business_vertical: String used to differentiate use cases
ecommerce_purchase item_id: Array of item IDs purchased item_location_id: An array of Item location ID (job or education verticals)
value: The total value of purchased items
google_business_vertical: String used to differentiate use cases

Retail

Important

  • For retailers, upload your product feed to the Google Merchant Center.
  • Make sure that item_id values match with id values in your Google Merchant Center feed. Matching these values will allow the creatives to display the most relevant items for users.

Event scheme definitions:

Event name Requirement Event Definition
session_start Required This event tracks a session start in the app. Call this event when the user opens the app or resumes using the app.
view_search_results Optional This event tracks search activity in the app. Call this event when search results are populated.
view_item_list Optional This event tracks user-viewed items such as items in a category, favourite items and others. Call this event with product IDs when items are populated.
view_item Required This event tracks user views of detailed item information. Call this event with the relevant product ID when the user views an item’s detailed view.
add_to_cart Strongly recommended This event tracks shopping basket activity. Call this event with product IDs when a user adds items to the shopping cart.
ecommerce_purchase Strongly recommended This event tracks transactions in the app. Call this event with product IDs and values when a user purchases items.

Standard scheme:

Event name Required parameters Optional parameters
session_start    
view_search_results   app_event: view_search_results
item_id: An array of product IDs seen by the user on an app screen
search_term: Search string
google_business_vertical: String used to differentiate use cases
view_item_list item_id: Array of product IDs displayed app_event: view_item_list
item_id: An array of product IDs seen by the user on an app screen
google_business_vertical: String used to differentiate use cases
view_item item_id: the product IDs of items seen by the user on an app screen google_business_vertical: String used to differentiate use cases
add_to_cart item_id: An array of product IDs added to the basket google_business_vertical: String used to differentiate use cases
ecommerce_purchase item_id: An array of product IDs purchased value: Total value of purchased items
google_business_vertical: String used to differentiate use cases

App advertisers using multiple use cases

How to set up the 'google_business_vertical' parameter

Advertisers operating across multiple lines of business should activate the additional 'google_business_vertical' parameter when a user views a specific product. This enables the advertiser to create data segments targeting users for each vertical, ensuring that they view relevant products for each campaign. In the case of an online travel agency, users can view flights, hotels and travel packages. With the 'google_business_vertical' parameter, users who view hotels on the website will find hotels on dynamic ads, instead of travel packages.

For example:

  • Use google_business_vertical = 'retail' for Retail
  • Use google_business_vertical = 'travel' for Travel
  • Use google_business_vertical = 'flights' for Flights
  • Use google_business_vertical = 'hotel_rental' for Hotels and Rentals
  • Use google_business_vertical = 'property' for Property
  • Use google_business_vertical = 'education' for Education
  • Use google_business_vertical = 'local' for Local Deals
  • Use google_business_vertical = 'jobs' for Jobs
  • Use google_business_vertical = 'custom' for Custom

Was this helpful?

How can we improve it?
Search
Clear search
Close search
Google apps
Main menu
11111359376808931125
true
Search Help Centre
true
true
true
true
true
73067
false
false
false