Connect Reverse ETL Source to Google Ads Remarketing Lists

Configure a Reverse ETL source with your Google Ads Remarketing Lists destination.

This guide takes you through the steps to connect a Reverse ETL source to your Google Ads Remarketing Lists destination.

success
You can connect multiple Reverse ETL sources to the Google Ads Remarketing Lists destination.

Prerequisites

To use the Google Ads Remarketing Lists integration, you need the following:

Your Google Ads account must have Standard or Admin permissions to use this integration.

warning
The API calls to Google Ads will fail if you authorize this integration without the Standard or Admin permissions.

Data Manager API access

RudderStack uses the Data Manager API to manage Customer Match for this destination.

The API requires an additional OAuth scope when you connect your Google Ads account in RudderStack. See the below table for exact steps based on your RudderStack plan and integration setup:

RudderStack planIntegration setup
Action
FreeNew
First-time setup
The Data Manager API is enabled for your workspace by default. Connect your Google Ads account and approve OAuth so RudderStack can call the API.
FreeExistingRe-authenticate the Google Ads connection in RudderStack to grant the additional OAuth scope.
PaidNewContact RudderStack support to enable the Data Manager API for your workspace, then connect your Google Ads account with RudderStack and approve OAuth.
PaidExistingRe-authenticate the Google Ads connection in RudderStack to grant the additional OAuth scope, then contact RudderStack support to enable the Data Manager API for your workspace.

Setup

  1. Set up and configure your Reverse ETL source.
  2. In the Overview tab of the source page, click Add destination > Create new destination. You can also select an already-configured destination here.
  3. From the list of destinations, select Google Ads Remarketing Lists and click Continue.
  4. Specify a unique name to identify this destination in RudderStack.
  5. In the Event delivery account section, click Select to choose from an existing Google Ads account from the list. You can also click Add account and authenticate via OAuth, by specifying the following settings:
Setting
Description
Account NameSpecify a unique account name
oAuth settingsClick Connect account, sign in with Google, and give RudderStack the required permissions to access your Google Ads account.
  1. RudderStack automatically populates the Custom ID associated with your Google Ads account — select the relevant ID from the dropdown.
  2. Turn on the Subaccount setting if you are using a Google Ads subaccount.

    Note: See this guide for more information on subaccounts.
  3. If Subaccount is toggled on, enter the Login Customer ID of the parent (manager) account associated with the subaccount.
  4. Click Continue to configure the mapping settings.

Mapping settings

This section lists the settings to correctly map data from your Reverse ETL source to the Google Ads Remarketing Lists destination.

Select user list

In this section, you can create a new user list or use an existing one.

  • Create new list: Use this option to create a new list in Google Ads. You can specify the name and description of the new list.
  • Use existing list: Use this option if you have an existing list in Google Ads. RudderStack automatically populates this field with the relevant lists based on your specified connection settings.

Sync mode

RudderStack supports only Mirror mode for this integration.

Select list type

If you select the Create new list option, you need to select the type of list where you want to sync the data. RudderStack provides three options:

List typeDescription
CONTACT_INFOYou can send email, phone number, and address information in this list
CRM_IDYou can send internal customer IDs in this list
MOBILE_ADVERTISING_IDYou can send mobile advertising IDs (IDFA/GAID) in this list

Note: If selected, specify the App ID of the mobile app the data was collected from.

  • For iOS, it is the 9-digit number at the end of the App Store URL, for example, 123456789.
  • For Android, it’s the package name, for example, com.sampleapp.samplename.

Map identifiers

In this section, you can map your warehouse columns to specific Google Ads fields that represent your audience’s identity.

info
The fields available for mapping depend on the list type you select.

Advanced settings

Setting
Description
Automatically hash PII dataWhen set to Yes, RudderStack hash-encodes sensitive user data like email, phone, first name, and last name in the SHA-256 format.

See Data hashing section for more information.
Specify user consentSpecify the consent type for the uploaded users for using their data in Google Ads. RudderStack provides four options for this setting:

  • Unspecified
  • Unknown
  • Granted
  • Denied
Note that if you do not set this field, RudderStack sets it to Unspecified, by default.
Specify ad personalization consentSpecify consent for uploaded users for personalizing ads. RudderStack provides four options for this setting:

  • Unspecified
  • Unknown
  • Granted
  • Denied
Note that if you do not set this field, RudderStack sets it to Unspecified by default.

Sync settings

RudderStack determines how and when to run a sync based on the sync schedule you set for your Reverse ETL connection.

Schedule typeDescription
BasicRun syncs at a given time interval and specified time (in UTC).
CRONRun syncs based on a specified CRON expression (in UTC).
ManualRun syncs manually.

Sync observability settings

SettingDescription
Retain sync logsThis setting is toggled on by default and instructs RudderStack to store the sync logs in your warehouse. You can also configure the below settings:

SettingDescription
Sync log retentionSpecify the retention period of the sync logs in your warehouse.

If you set it to 1, then RudderStack deletes any sync log older than a day (in UTC time).
Snapshot table retentionSpecify the number of snapshot tables to retain.
Retry failed recordsThis setting is toggled on by default and causes RudderStack to continually retry sending the failed records.
warning
Storing sync logs and snapshot tables may incur additional warehouse costs.

Data normalization

By default, RudderStack automatically cleans and standardizes the data as prescribed by Google Ads.

After normalization, RudderStack validates each field before sending it to Google Ads:

  • If a field is determined to be invalid, RudderStack does not send it to Google Ads.
  • If all fields in a row are invalid, then the entire row is rejected and marked as failed
info
RudderStack first normalizes the data and then validates it, skipping any invalid rows. Then, it hashes the data before sending it to Google Ads.

Data hashing

The Automatically hash PII data setting lets you hash your user data before sending it to Google Ads. This setting is enabled by default.

  • Configure the setting to Yes if your incoming data is not pre-hashed
  • Configure this setting to No if your data is already hashed
warning

Incorrect configuration of the Automatically hash PII data setting will result in failures.

  • If the Automatically hash PII data setting is configured to Yes and your data is pre-hashed, the event will fail.
  • If the Automatically hash PII data setting is configured to No and your data is not pre-hashed, the event will fail.

RudderStack rejects such events with a clear error message, for example:

Hashing is disabled but the value for field EMAIL appears to be unhashed. Either enable hashing or send pre-hashed data.

You will also see errors in the Events tab for cases that were previously marked as successful, but were effectively resulting in no matches, helping you quickly identify and fix any data quality or configuration issues.

FAQ

Why can’t I add a Reverse ETL source from the destination page?

The Reverse ETL feature supports only source-driven pipeline configuration. It means that you must configure a Reverse ETL source in RudderStack and then connect it to a new or existing destination. Note that this destination should not be connected to any other source.

See Reverse ETL FAQ for more information.

How do I create a Google Ads customer list?

  1. Open your Google Ads account.
  2. Go to Tools and settings.
  3. Under Shared Library, go to Audience Manager.
  4. Click the + button and select Customer list.
  5. Under Segment name, assign a name to the list.
  6. From the dropdown, select the list type of data to upload.
  7. Upload the CSV containing the user data. You can also download the template and upload the data.
  8. Click UPLOAD AND CREATE.

What are the account permissions required for the Google Ads Remarketing Lists integration?

Make sure the customer account used for OAuth verification adheres to Google’s Customer Match policy and has Standard or higher (Administrative) access level permissions.

For more information on the access level permissions, refer to this Google Ads support page.

Follow these steps to set the access level:

  1. Sign into to your Google Ads account and go to TOOLS AND SETTINGS > Access and security:
Access and Security option in Google Ads dashboard
  1. Enter the email address of the account. From the list of permissions, select Standard or Administrative. Then, click SEND INVITATION:
Specifying access levels

The account will have the required access-level permissions once they accept the invitation.

Why am I getting a 400 Bad Request error message while setting up the Google Ads Remarketing Lists destination?

If you get a 400 Bad Request error while configuring the destination, make sure your customer account is allowlisted and configured to have Standard or Administrative access levels in Google Ads.

See the above FAQ for steps on setting the access level permissions for the account.

Questions? We're here to help.

Join the RudderStack Slack community or email us for support