Lixory MediaLixory Media
All articlesAudiences

Customer Match and First-Party Data for eCommerce: A Practical Setup

Your customer list is the strongest signal you can give Google Ads. How to upload it cleanly, lift match rates, feed it to PMax and keep it refreshed automatically.

Elvir Likić
Elvir Likić
· 7 min read

First-party data is now the biggest competitive advantage you can have in Google Ads. As third-party cookies fade and Consent Mode leaves wider gaps, the advertisers getting the most out of Smart Bidding are the ones giving Google the richest and most accurate audience signals. That starts with Customer Match.

The idea is simple: upload your customer email list, Google matches it against Google accounts, and you get an audience you can target or use as a campaign signal. In reality, many store owners upload a list once, see a low match rate and decide it does not work. The problem is nearly always data quality and how often the list is refreshed, not the feature.

What Customer Match Does

When you upload a customer list, Google hashes the emails (SHA-256) and compares them with hashed emails from its own signed-in users across Gmail, YouTube and Google Search. Anyone who matches joins your Customer Match audience.

You can use that audience in three ways:

Targeting and bidding: show ads only to people on the list, or bid differently for them. In Search, you can bid more when a past buyer searches a relevant term. In Display, you can show ads exclusively to existing customers.

Exclusions: keep existing customers out of prospecting campaigns so you are not paying to reach people who have already bought. For stores with a high repeat purchase rate, this is one of the most valuable uses.

PMax and Smart Bidding signals: give your customer list to PMax as an audience signal. Google uses it to find similar users and to optimise towards profiles that look like your best customers. For most eCommerce stores, this is where Customer Match has the biggest direct effect on performance.

Who Can Use It

Customer Match is not open to every account. Yours must:

  • Have a good payment history and follow Google Ads policies
  • Have been running for a minimum period (Google does not publish the exact figure, but accounts under 90 days old are often ineligible)
  • Have spent above a certain threshold over the account’s lifetime

If Customer Match is unavailable, check Audience Manager in Google Ads. If it is locked, you either contact Google support or wait until the account qualifies. There is no way to override it manually.

Uploading Your Shopify Customer List

Step 1: Export customers from Shopify.

In Shopify admin, go to Customers and export everyone as a CSV. The file includes emails, names and phone numbers. Keep only customers with at least one completed order, because contacts who never bought are a weaker bidding signal.

Segmenting the export improves results. Consider separate lists for:

  • All-time buyers (broad audience signal)
  • High value buyers (above a revenue threshold, for premium audience signals)
  • Buyers from the last 90 days (for recency-based retargeting)
  • Lapsed customers (no purchase in over 12 months, useful for win-back campaigns)

Step 2: Clean the data first.

Match rate depends directly on data quality. Before uploading:

  • Make every email address lowercase
  • Strip spaces from the start and end of every field
  • Delete rows with no email
  • Convert phone numbers to E.164 format (for example +44XXXXXXXXXX for UK numbers), because Google matches on phone as well as email

Step 3: Upload to Google Ads.

Go to Tools, Audience Manager, Your Data Segments, click the blue + button and choose Customer List.

Select Email and Mailing Info as the data type. It is the recommended option and includes email, name and phone for better matching.

Upload the CSV. Google hashes the data in your browser before sending it, and processing usually takes 24 to 48 hours.

Step 4: Set membership duration.

Membership duration controls how long someone stays on the list after upload. It matters little for a one-off list, but for lists you refresh regularly, set it to your refresh interval plus a buffer. A list refreshed monthly needs at least 45 to 60 days so people do not drop off between refreshes.

Why Match Rates Are Low, and How to Raise Them

A match rate under 30% does not mean the feature is broken. It means fewer than 30% of your contacts have a Google account Google could match. Common reasons:

Your customers do not use Gmail. Customer Match works best when buyers use Google accounts. If your customers skew older, use work email addresses, or sit in markets where Google accounts are less common, match rates will naturally be lower.

Email formatting. If an email was uploaded with a capital letter or a trailing space while the Google account uses lowercase, the hashes will not match. Converting to lowercase is the most effective cleaning step.

Old data. Emails from years ago are more likely to be abandoned, changed or tied to a closed Google account. Recent buyer lists consistently match better than full historical lists.

Phone formatting. If phone numbers are included but not in E.164 format, Google cannot match them. There is no error message; the match rate simply drops. Fix the format to benefit from phone matching.

A realistic match rate for a well cleaned Shopify list is 30 to 50%. If you are consistently below 20%, data quality is the likely cause.

Using Customer Match as a PMax Signal

For most eCommerce stores, the most valuable use of Customer Match is as an audience signal in PMax.

In your PMax asset group, open Audience Signals and add your Customer Match audiences: your all-time buyer list and, separately, your high value buyer list. Name them clearly so you can tell them apart.

PMax uses these signals to optimise towards people who resemble your customers. It does not limit delivery to them. The list acts as a guide for finding similar high intent users at scale.

The more complete and well segmented your data, the stronger the signal. A PMax campaign with a well maintained Customer Match signal of 10,000 buyers will usually beat the same campaign with no signal, or with a small, out of date list.

Automating List Refreshes

A list that never gets refreshed goes stale. New customers are missing, lapsed customers stay in the active audience, and the signal weakens over time.

Exporting from Shopify each month and re-uploading works, but it is easy to forget and time-consuming at scale.

Automating with Zapier:

Zapier can link Shopify and Google Ads directly. Create a Zap triggered by “New Customer” in Shopify that adds the customer’s email to a Customer Match list using the “Add Contact to Customer List” action in the Google Ads integration.

Your buyer list then updates almost in real time. Every new purchase adds the buyer to the audience automatically.

Automating with Klaviyo:

If you use Klaviyo for email marketing, it already keeps a continuously updated customer database synced with Shopify. Klaviyo’s native Google Ads integration can sync Klaviyo segments to Customer Match lists on a schedule.

This is more powerful than Zapier for segmented lists. You can sync a “High LTV customers” segment straight to a high value Customer Match list, and Klaviyo keeps the segment rules up to date without any work from you.

To set it up, go to Integrations, Google Ads in Klaviyo and authorise the connection. Any segment can then be set to sync automatically to a chosen Customer Match list.

Automating with Google Sheets:

A middle option: schedule a regular Shopify customer export to a Google Sheet (using Shopify’s scheduled exports or a tool such as Matrixify), then use Google Ads’ Sheets-based list upload to sync from that sheet on a schedule. It is less elegant than a direct integration, but needs no paid tools.

Segment Strategy: More Lists, Better Signals

Most accounts do best with four separate Customer Match lists:

Active buyers (last 180 days): your most recent, highest intent customers. Use them as a PMax signal and for Search bid adjustments.

High value buyers: customers above a revenue or order count threshold. Use them as the main PMax signal for campaigns aimed at premium customers.

Lapsed customers (180+ days since their last order): useful for win-back campaigns. Exclude them from prospecting so acquisition budget does not go on people who bought once and never came back.

All-time buyers: the broadest list, used to build similar audiences. Google creates a lookalike audience from it, extending your reach to new people who resemble your buyers. This is the main prospecting benefit Customer Match unlocks.

Keep the lists separate and clearly named. The segmentation is where the strategy lives, and a single catch-all list loses the detail that makes Customer Match effective.

Privacy and Compliance

When you use Google’s upload tool, Customer Match data is hashed before it leaves your system, so Google never receives raw email addresses.

You are still responsible for making sure customers on your list have not opted out of marketing, and that your data collection complies with privacy law. Under GDPR and UK GDPR, customers must have consented to their data being used for advertising. Under CCPA in California, customers must be able to opt out of data sharing.

Standard eCommerce terms and cookie banners are often not enough on their own for Customer Match. Check your consent wording specifically: if it does not mention sharing data with advertising platforms for targeting, it may fall short.

That is not a reason to avoid Customer Match. It is a reason to get your consent and privacy practices in order before you use it.

Want this applied to your account?

30 minutes. No pitch deck. A clear view of your account and the highest-leverage opportunities.