Dynamic remarketing for apps setup guide

2. Set up remarketing events

App remarketing events 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. Remarketing events allow you to organize audiences based on those qualifying actions in order to tailor more relevant messages to them.


Example

  • When a user abandons a shopping cart, 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:

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

Set up remarketing 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 remarketing with a third-party SDK

To help you make informed marketing decisions about your app, Google Ads works with many third-party app analytics providers to support the Google Dynamic remarketing for apps scheme. Together with Google Ads, the following third-party app analytics providers can give you a seamless understanding of your app’s campaign performance: Adjust, Adways, Appsflyer, CyberZ, Kochava, Singular, and TUNE. Learn more about Google’s third-party app analytics program.

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

Set up remarketing with server-to-server

Google has announced an entirely new API for Google Ads app conversion tracking and remarketing. 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 remarketing 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 (a.k.a. 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: www.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:

Remarket to those who viewed an item (Education, Jobs, Local deals, Real estate, 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: www.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:

Remarket to those who reached the conversion screen (Education, Jobs, Local deals, Real estate, 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: www.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:

Remarket to 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: www.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:

Remarket to 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: www.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 (a.k.a. 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: www.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:

Remarket to those who viewed an item ( Jobs, Local deals, Real estate, 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: www.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:

Remarket to those who reached the conversion screen ( Jobs, Local deals, Real estate, 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: www.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:

Remarket to 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: www.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:

Remarket to 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: www.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 remarketing integration, see the Android and iOS specifications.

Android example:

Session_start notification to Google Ads (a.k.a. Connector pings)

https://www.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:

Remarket to those who viewed an item (Education, Jobs, Local deals, Real estate, and Custom only)

https://www.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:

Remarket to those who reached the conversion screen (Education, Jobs, Local deals, Real estate, and Custom only)

https://www.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:

Remarket to those who viewed a product

https://www.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:

Remarket to those who purchased multiple products

https://www.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 (a.k.a. Connector pings)

https://www.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:

Remarket to those who viewed a product

https://www.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:

Remarket to those who purchased multiple products

https://www.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 remarketing 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, favorite 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 cart activity. Call this event with item 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 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/or
item_id: An array of IDs from items seen by the user on an app screen (e.g. 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/or
item_id: An array of IDs from the items seen by the user on an app screen (e.g. 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/or
item_id: ID of an item seen by user on an app screen (e.g. 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/or
item_id: IDs from an item seen by the user on an app screen (e.g. 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/or
item_id: An array of IDs from the items seen by the user on an app screen (e.g. 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/or
item_id: An array of IDs from items seen by the user on an app screen (e.g. 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/or
item_id: An array of IDs from the items seen by the user on an app screen (e.g. 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/or
item_id: ID of an item seen by the user on an app screen (e.g. 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/or
item_id: IDs from an item seen by the user on an app screen (e.g. 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/or
item_id: An array Array of IDs from items seen by the user on an app screen (e.g. 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, Real estate, 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, favorite 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 ID(s) when a user intends to make a purchase.
ecommerce_purchase Strongly recommended This event tracks transactions in the app. Call this event with item ID(s) and value(s) when a user makes a purchase (ex: 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/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/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/education verticals)
google_business_vertical: String used to differentiate use cases
add_to_cart item_id: Array of item IDs added to the cart item_location_id: An array of Item location ID (job/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/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, favorite items, etc. 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 cart 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 cart 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 remarketing lists targeting users for each vertical, ensuring that they see relevant products for each campaign. For example, in the case of an online travel agency, users can see flights, hotels and travel packages. With "google_business_vertical" parameter, users who see hotels on the website will see 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 =  “real_estate” for Real Estate
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?

Need more help?

Sign in for additional support options to quickly solve your issue