Set up automatic Google Customer Match Lists

Uliana Lesiv

Uliana Lesiv

Author
Updated
Mar 17, 2026

In this article, we consider in detail Google Ads/Display & Video 360 feature - Customer List. We will explain what it is, how it works, and how to set up an automated workflow for creating and populating the Customer List using the Customer Match tag for server GTM or Stape Conversion Tracking apps for CMS and CRMs.

What is Customer List in Google Ads/Display & Video 360?

Customer List is an audience targeting feature in Google Ads/Display & Video 360. It allows you to upload customer data (such as email addresses, phone numbers, and addresses) to Google's platform. The Customer Match lists are used in Smart Bidding and optimized targeting. When you create a campaign, you can use this data to target a specific audience or exclude some audience segment.

Customer List can be found and created in the Google Ads admin → Tools → Shared library → Audience manager → Create remarketing list → Customer List.

However, creating Customer Lists manually is inefficient - in this article, we show how to configure automated workflows with Customer Match for generating and populating Customer Lists.

Create Customer List in Google Ads

How Customer List works

Firstly, you provide the data to Google Ads/Display & Video 360. You can manually upload a CSV file that includes the data on your users or connect the data source from the list in Google Ads/Display & Video 360. 

Other options to provide data are by using the Customer Match tag for server GTM or the Stape Conversion Tracking apps for CMS/CRM (we describe their configuration in detail below). The benefit of these options is that you don’t need to do any manual actions, such as data gathering, formatting, and file upload in Google Ads/Display & Video 360. Everything is automated - creating the Customer List and adding user data to it.

Then, you set up or modify a campaign to execute the segment from the Customer List.

While Customer Lists help you target audiences with online data, many businesses also need to track sales that happen offline — such as phone orders, in-store purchases, or upsells. Google Conversion Events tag by Stape lets you send this information directly from your server GTM container to Google Ads, removing the need for manual file uploads. This improves attribution across online and offline touchpoints and allows Google’s bidding algorithms to optimize for customers most likely to convert. 

We have a detailed guide on how to configure the Google Conversion Events tag to track both online and offline conversions.

Before starting

Regardless of the method you choose to create and fill the Customer List in Google Ads/Display & Video 360 - Customer Match tag or CMS/CRM app, you will need the following:

You must configure one of the available authentication methods:

  • Stape Google Connection (recommended) - the easiest way to handle the authentication. You just need to activate the Dada Manager API Connection in the Stape admin account.
  • Own Google Credentials - if you don't use Stape's services or have a free plan on Stape, opt for this authentication method.

Select the authentication method that suits you best and follow the instructions:

Sign in to the Data Manager API Connection via the Stape admin.

To configure Data Manager API Connection, log in to your Stape account → open the required container → Connections tab → click Sign in next to Data Manager API. Use a Google account with access to the Google Ads account for which you want to configure the Customer List.

Connections

For EU users, please check the Stape DPA, as activating the connection may transfer data outside the EU via Stape Inc.

Data transfer notice

Using Service Account impersonation is the easiest way to authenticate when using the Own Google Credentials method.

To configure it, follow the instructions below:

1. Go to the API Console in Google Cloud Platform. Select a project → on the left side menu, click Library  → search for Data Manager API → click Enable.

Enable Data Manager API

2. Create a Service Account in this GCP Project.

Go to Create Service Account → add a service account name (the service account ID is generated based on this name)  → (optional) add permissions and/or principals with access  → click Done.

Create Service account

3. Assign the Service Account Token Creator IAM role (roles/iam.serviceAccountTokenCreator) to the Service Account.

In the Service Accounts section, click on the three dots next to the service account you've created in the previous step  → select Manage PermissionsManage AccessAdd role → select Service Account Token Creator and click Save.

Assign a role in GCP

4. Create a JSON key for this Service Account and download it.

In the Service Accounts section, click on the three dots next to the service account you've created in step 2  → select Manage KeysAdd keyCreate new key → select JSON and click Create. The key should be automatically downloaded on your computer.

Create a private key

5. Connect the Service Account to the container using the JSON Key file:

6. Give the Service Account access to the product you're working with (Google Ads, DV360, etc.). Refer to that product's documentation for guidance.

How to create and fill the Customer List in Google Ads/Display & Video 360

Please note: only Customer Lists created automatically by the Stape connection are supported. Manually created or pre-existing lists in Google Ads/Display & Video 360 will not be populated.

You can complete the setup by installing the Customer Match tag or using Stape's CRM/CMS applications, select the best-fitting option below, and follow the instructions:

1. Add the Google Customer Match by Stape tag to your workspace in the server GTM container.

Open server GTM container → Templates → next to Tag Templates click Search gallery → find Google Customer Match by Stape → click Add to workspace.

Add Google Customer Match by Stape

2. Go to Tags → click New → select Google Customer Match by Stape as tag configuration.

Google Customer Match by Stape as tag type

3. Configure the tag.

3.1 Select Action - for the purpose of this article, we select “Add to Customer List,” but the tag can also remove data from the Customer List.

3.2 Product - select from the list the platform you configure Customer List for - Google Ads, or Display and Video 360.

3.3 Operating customer ID - the ID of the Google Ads/Display & Video 360 account that will receive conversions. This should be set to the ID of the customer account. To get it, sign in to your Google Ads/Display & Video 360 account → in the top right corner, click on your picture → copy the value. Make sure that you use the same account as you used for signing in to the Data Manager API Connection.

Please remove hyphens before using the string as the Operating customer ID.

Google Ads Operating customer ID

3.4 Customer ID - stands for the ID of the account that you're using for authorization. Based on the type of account, you should copy the following values. Make sure that you use the same account as you used for signing in to the Data Manager API Connection.

  • If you're using your customer account, use the customer account ID.
  • If you access the customer account through a manager account, use the manager account ID.

Please make sure to remove hyphens before using the string as the customer ID.

Customer and Manager account ID

3.5 Customer List Name - specify the name of the customer list you want to interact with.

Only customer lists created through the Stape connection are supported. You cannot interact with arbitrary customer lists.

When using Google products, the audience will appear with the name format: stape_<Customer List Name>. This customer list is created automatically by Stape during the integration process. For example, if you enter "Purchasers" in this field, the tag will interact with the customer list named stape_Purchasers in your Google product.

3.6 Terms of Service Status - this must be accepted for all uploads to Customer Match user lists. Google has a list of requirements for accessing Customer Match. You should have:

  • A good history of policy compliance
  • A good payment history

For more details on Google's policy regarding Customer Match, please check their documentation.

3.7 Validate Only - if true, the request is validated but not executed. Only errors are returned, not results.

3.8 Use Optimistic Scenario - if true, the tag will call gtmOnSuccess() without waiting for a response from the API. This will speed up sGTM response time; however, your tag will always return the status fired successfully even if it is not.

Google Customer Match tag configuration

3.9 Request-level consent - specify consent status for Ad User Data and Ad Personalization. User-level consent overrides request-level consent, and can be specified for each audience member when sending data to Multiple Users in the Audience Members section.

Request level consent in Customer Match tag

3.10 Audience member section.

- Audience Data Encoding - select the encoding type of the user identifiers: HEX or BASE64.

This field is required for UserData (User Email Address, User Phone Number, and User Given/Family Name) uploads. For other types (User Address Region and User Address Postal Code) uploads, this field is ignored.

Default: HEX - when passing a non-hashed value to UserData (User Email Address, User Phone Number, and User Given/Family Name) fields; or when using default values from GA4 Event Data.

- Audience Data Encryption - the field stands for encryption of information for UserData (User Email Address, User Phone Number, and User Given/Family Name) uploads.

If not set, it's assumed that uploaded identifying information is hashed but not encrypted.

For other types (User Address Region and User Address Postal Code) uploads, this field is ignored.

- User Mode - select send data for a single user or for multiple users.

Audience member section in Customer Match tag

3.11 User Data Identifiers - specify the user data identifiers (max 10 items). Please note: at least one of the User Email Address(es), User Phone Number(s), or User Address must be specified.

User Data Identifiers in Customer Match tag

4. Add a trigger for the tag.

If you are using WooCommerce, then consider configuring the Stape Conversion Tracking app for WooCommerce. You can set up creating and filling the Customer List in the tab Customer Match. After setting up, a new Customer List named stape_wp_purchasers will be created in Google Ads.

Customer Match in WooCommerce plugin

For the configuration, you will need to fill in the following fields:

- Container API Key - a string used for app identification. Find it in the Stape admin:

- sGTM section → select the containerSettings tab → Container API key.

Stape container API key

- Google Ads Operating customer ID - the ID of the Google Ads account where the Customer List will be created or updated. This should be set to the ID of the customer account. To get it, sign in to your Google Ads account → in the top right corner, click on your picture → copy the value.

Please make sure to remove hyphens before using the string as the Operating customer ID.

Google Ads Operating customer ID

- Google Ads customer ID - stands for the ID of the account that you’re using for authorization. Based on the type of account, you should copy the following values.

  • If you’re using your customer account, use the customer account ID.
  • If you access the customer account through a manager account, use the manager account ID.

Please make sure to remove hyphens before using the string as the customer ID.

Customer and Manager account ID

- User data - choose the data you want to fill the Customer List in Google Ads with: email, phone number, and/or address.

Please note: Address data will be included only if all four fields (First Name, Last Name, Region, Postal Code) have values.

- Consent - configure the consent. Choose from the dropdown consent status “Consent_granted”, “Consent_denied”, “Consent_status_unspecified”.

- Backfill - if you check this box, the app will sync existing contacts using the settings in the app above. When the unchecked box is selected, it will sync only new contacts that reach the configured statuses. Unchecking later doesn’t remove contacts already synced.

Once configured, click Save changes.

Example of Customer Match configuration in WooCommerce

If you are using Shopify, then consider configuring the Stape Conversion Tracking app for Shopify. You can set up creating and filling the Customer List in the tab Customer Match. After setting up, a new Customer List named stape_shopify_purchasers will be created in Google Ads.

Customer Match tab in Shopify app

For the configuration, you will need to fill in the following fields:

- Container API Key - a string used for app identification.

- Find it in the Stape admin: sGTM section→ select the containerSettings tab → Container API key.

Stape container API key

- Google Ads Operating customer ID - the ID of the Google Ads account where the Customer List will be created or updated. This should be set to the ID of the customer account. To get it, sign in to your Google Ads account → in the top right corner, click on your picture → copy the value.

Please make sure to remove hyphens before using the string as the Operating customer ID.

Google Ads Operating customer ID

- Google Ads customer ID - stands for the ID of the account that you’re using for authorization. Based on the type of account, you should copy the following values.

  • If you're using your customer account, use the customer account ID.
  • If you access the customer account through a manager account, use the manager account ID.

Please make sure to remove hyphens before using the string as the customer ID.

Customer and Manager account ID

- User data - choose the data you want to fill the Customer List in Google Ads with: email, phone number, and/or address.

Please note: Address data will be included only if all four fields (First Name, Last Name, Region, Postal Code) have values.

- Consent - configure the consent:

  • Inherit from email marketing consent - consent will be applied based on the marketing consent of the customer (audience member, purchaser) on file.
  • Select manually - choose from the dropdown consent status.

- Backfill - if you check this box, the app will sync existing contacts using the settings in the app above. When the unchecked box is selected, it will sync only new contacts that reach the configured statuses.

Once configured, click Save.

Example of Customer Match configuration in Shopify

If you decide to use the Stape Conversion Tracking app for HighLevel, you can configure creating and filling the Customer List in the tab Customer Match. After setting up, a new Customer List will be created in Google Ads audiences.

Fill in the fields in the Customer Match tab

Before you start

Make sure you have an active Stape account with a server GTM container hosted on Stape.

If you don't have an account on Stape, please create one or log in if you already have one. In the main menu, click sGTM → Create container on the top right.

Create container on Stape

Add your container name, Container Configuration that you copied from your Google Tag Manager Server Container, and select the server location. Click Create Container.

App setup

The setting process can be divided into two parts:

- Stape and Google Ads accounts data

- HighLevel CRM fields

Stape and Google Ads account data

You will need to fill in the following fields:

- Container API Key - a string used for app identification. Find Container API Key in the Container settings section of your Stape account. See the detailed instructions on where to find Container API Key.

Find the Container API Key
  • Google Ads Operating customer ID - the ID of the Google Ads account where the Customer List will be created or updated. To get it, sign in to your Google Ads account → in the top right corner, click on your picture → copy the value.

Please make sure to remove hyphens before using the string as the Operating customer ID.

Google Ads Operating customer ID
  • Google Ads customer ID - stands for the ID of the account that you're using for authorization. Based on the type of account, you should copy the following values.

- If you're using your customer account, use the customer account ID.

- If you access the customer account through a manager account, use the manager account ID.

Please make sure to remove hyphens before using the string as the customer ID.

Where to find the customer account ID and the manager account ID

HighLevel CRM fields

Next, you need to map your CRM fields to audience member identifiers.

  • User data - choose the data you want to fill the Customer List in Google Ads with, and specify user and ads data consent status from the drop-down list. 

Please note: Address data will be included only if all four fields (First Name, Last Name, Region, Postal Code) have values.

  • Actions & triggers - choose Action, Opportunity Status, and name a Customer List to be synced to. After configuring Customer Match in the HighLevel app, a Customer List will be created in Google Ads.

Please note: stape_ is always appended, and the name of the list must always start with stape_, e.g., stape_highlevel_purchasers.

  • Backfill - if you check this box, the app will sync existing contacts using the settings in the app above. When the unchecked box is selected, it will sync only new contacts that reach the configured statuses. Unchecking later doesn't remove contacts already synced.

Once done, click Save and Connect. Once you see a success message, your installation is complete, and the application will send conversion events in the background based on your settings.

Success message popup

If you decide to use the Stape Conversion Tracking app for HubSpot, you can configure creating and filling the Customer List in the tab Customer Match. After setting up, a new Customer List will be created in Google Ads audiences.

Customer Match in Hubspot app

For the configuration, you will need to fill in the following fields:

- Container API Key - a string used for app identification. Find it in the Stape admin:

- sGTM section → select the containerSettings tab → Container API key.

Stape container API key

- Google Ads Operating customer ID - the ID of the Google Ads account where the Customer List will be created or updated. This should be set to the ID of the customer account. To get it, sign in to your Google Ads account → in the top right corner, click on your picture → copy the value.

Please make sure to remove hyphens before using the string as the Operating customer ID.

Google Ads Operating customer ID

- Google Ads customer ID - stands for the ID of the account that you’re using for authorization. Based on the type of account, you should copy the following values.

  • If you're using your customer account, use the customer account ID.
  • If you access the customer account through a manager account, use the manager account ID.

Please make sure to remove hyphens before using the string as the customer ID.

Customer and Manager account ID

- User data - choose the data you want to fill the Customer List in Google Ads with, and specify user and ads data consent status from the drop-down list. 

Please note: Address data will be included only if all four fields (First Name, Last Name, Region, Postal Code) have values.

- Actions & triggers - choose Action, Opportunity Status, and name a Customer List to be synced to. After configuring Customer Match in the HubSpot app, a Customer List will be created in Google Ads.

Please note: stape_ is always appended, and the name of the list must always start with “stape_”, e.g., “stape_hubspot_purchasers”. Enter the Customer List name without the stape_ prefix, as it will be prepended automatically.

- Backfill - if you check this box, the app will sync existing contacts using the settings in the app above. When the unchecked box is selected, it will sync only new contacts that reach the configured statuses.

Once configured, click Save and connect.

Save successfully the config

Common configuration mistakes and their fixes

Terms not accepted

To populate the Customer Match list, you need to accept a few terms of use:

  • Customer Match terms.

It's a legal agreement within Google Ads where you confirm that any data you upload has been collected in compliance with Google’s policies (first-party only, clear opt-in). You can read more about the Customer Match policy on Google's end.

How to fix: the Customer Match terms usually pop up when you create the Customer Match list for the first time. Later, it must reappear; be sure to confirm that you comply with the policy.

  • Enhanced conversion terms.

Enhanced Conversions sends hashed first-party data (emails, phone numbers) from your website to Google to "fill in the gaps" when cookies are blocked. That's a list of terms that allows Google to use this hashed data to match conversions to signed-in Google accounts.

How to fix: go to the Goals section → SettingsEnhanced Conversions. Check the box next to Turn on enhanced conversions. A window with terms must pop up; be sure to accept the terms.

Note: if your conversions are managed via the Manager Account (MCC), the customer data terms must be accepted from the manager’s account.

Enhanced conversions

Enhanced conversions for leads aren't turned on

Enhanced Conversions for Leads (ECfL) is the specific feature that allows Google to attribute conversions using first-party data (like hashed emails) rather than just Google Click ID (GCLID). ECfL provides the framework to match CRM data using hashed first-party identifiers (like emails) instead of cookies or click IDs.

How to fix: go to the Goals section → SettingsEnhanced conversions for leads. Check the box next to Turn on enhanced conversions for leads. A window with terms must pop up; be sure to accept the terms.

Enhanced conversions for leads

Not an appropriate access level for the connection account

To link a third-party tool (like Stape) to your Google Ads account via the API, the user account needs specific permissions. Lower access levels (like Read-only or Billing) cannot grant the necessary scopes for the Data Manager API to "write" or "upload" data to the account.

How to fix: Obtain Standard or Admin access to authorize the OAuth flow.

The transaction_id isn't sent with the event

transaction_id for Google's new feature that allows unifying and recovering lost conversions within Google Ads. The feature is required to match your external source's events with those already tracked by your website tag. For more information on Google's additional sources measurement feature, check our article.

If you encounter the error says REQUIRED_FIELD_MISSINGThe reason is often that you selected a conversion type that requires a Transaction ID, but didn't provide one in the tag.

The requirement is determined by the Conversion Action Type:

  • Website (any online conversions) - a transaction_id is mandatory.
  • Offline (import from clicks) or enhanced conversions for leads - a transaction_id is optional.

For more info on when transaction_id is required, refer to Google's documentation.

If you are reporting an online "Website" conversion, you must provide a transaction_id regardless of whether the event is a purchase, a lead, or any other type.

How to fix: You need to provide the transaction_id.

Be sure to have a variable that will grab transaction_id in your Google Conversion Events tag.

Transaction ID

The variable configurations:

  • Variable Type - Event Data
  • Key Path - transaction_id
Variable - transaction ID

The error INVALID_ARGUMENT for ad_personalization or ad_user_data points to consent. It means that the consent signal was either missing or sent in a format the API didn't recognize.

Google can process only three values:

  • CONSENT_GRANTED
  • CONSENT_DENIED
  • CONSENT_STATUS_UNSPECIFIED

As provided in the tags:

"Request-level Consent" section

How to fix: check whether you specified the consent status in the Request-level Consent section of the tag.

If you are dynamically viewing the consent status and using a variable in the Request-level Consent section, you need to transform the values into the appropriate ones that will be understandable for Google. For this purpose, use the LookUp variable.

Summary

Setting up automated Customer Lists in Google Ads/Display & Video 360 using the Customer Match tag or Stape's CMS/CRM apps significantly simplifies the audience targeting. By replacing manual uploads with automated syncing, you ensure your campaigns always use up-to-date customer data. 

Whether you're using the server GTM tag or Stape's apps for WooCommerce, Shopify, HighLevel, or HubSpot, these integrations help you create and populate the Customer List in Google Ads/Display & Video 360.

Want to start on the server side?sign up now!

author

Uliana Lesiv

Author

Uliana is a Content Manager at Stape, specializing in analytics and integration setups. She breaks down complex tracking concepts into clear insights, helping businesses optimize data collection.

Comments

Try Stape for all things server-side