Product Metrics

Search

Customer Match for Google Shopping: A Practical Guide (2026)

Use Customer Match in Google Shopping and Performance Max: eligibility, CSV template, local hashing, lifecycle goals and a free audience profit sheet.

By , FounderPublished 16 min read

Customer Match is a Google Ads feature that lets you use customer data you already hold to reach those customers on Google and to help find similar ones. It works with Shopping and Performance Max, but the useful question is which customers deserve more priority, and whether the extra sales leave a contribution after ad spend.

This guide follows Google’s published requirements and gives you an upload workflow plus a worked profit calculation. It complements our Shopping optimisation guide and Performance Max guide: customer lists and product selection solve different parts of the problem.

Download the free CSV template, local hashing script and three-tab audience profit sheet. No email gate. The template contains fictional example data: replace it before uploading.

1. What Customer Match is, and how matching works

Customer Match matches the emails, phone numbers or addresses you upload to signed-in Google accounts. You upload emails, phone numbers or mailing addresses that customers shared with you. Google matches them to signed-in Google accounts. Google says it is available on Search, the Shopping tab, YouTube, Gmail and Display (About Customer Match). Its Performance Max FAQ also advises sharing existing audiences through Customer Match.

How Customer Match connects a list to Google accounts
  1. Prepare first-party identifiersSelect customers whose data you can use for this purpose. Keep identifiers for one customer in the same row.
  2. Normalise and hashGoogle Ads hashes private identifiers before sending, or you can do it locally. Country and Zip remain unhashed.
  3. Match Google accountsGoogle compares hashed identifiers. Not every uploaded customer will match or be reachable.
  4. Use supported campaign settingsCheck list status, campaign support and lifecycle settings. Measure contribution after ad spend.

Example. A running-shoe shop uploads the emails of 4,000 buyers who agreed to marketing. Say 1,900 match (a 47.5% match rate). The shop can use this as a signal for supported campaigns, define existing customers for acquisition goals, or use exclusions where available. Matching does not guarantee delivery or a sale. Illustrative data: 1,900 of 4,000 is a 47.5% match rate.

2. Does it work on Shopping and Performance Max?

Yes. The Shopping tab is a listed placement, and campaigns using Smart Bidding and optimised targeting include your lists automatically.

Question What Google says Source
Does it run on Shopping? Yes, the Shopping tab is listed About Customer Match
Do I need to apply the list to a campaign? Not for Smart Bidding. Campaigns using Smart Bidding and optimised targeting auto-include all Customer Match lists in your account Your guide to Customer Match
Since when for Shopping? Auto-inclusion launched for Shopping in Q1 2024 same
Manual bidding? Automatic list use does not apply to manual bidding same
Can I switch it off? Yes: Admin → Account settings → “Customer Match” → untick “Use all Customer Match lists in Smart Bidding or Optimized Targeting”. Not available on manager accounts. Lists already applied to campaigns keep working same
Does Google learn which list helps? Google says it learns which lists help each campaign and adjusts their use in real time same
Performance Max? Google advises sharing your existing audiences through Customer Match to help Performance Max find similar high-value audiences Performance Max FAQ

What this means: check Audience manager and Account settings before assuming a list is unused. Automatic inclusion in Smart Bidding is separate from the manual audience bid adjustments listed in Google’s policy. Those adjustments require the higher eligibility tier and campaign support; they are not automatic list use.

3. Which Customer Match features can your account use?

Google ties features to account history (Customer Match policy). Every account first needs a good history of policy compliance and a good payment history.

Feature All policy-compliant accounts 90 days of history and more than USD 50,000 lifetime spend
“Observation” setting Yes Yes
Exclusions Yes Yes
“Targeting” setting No Yes
Manual bid adjustments No Yes

Spend in other currencies is converted to USD. Google may remove access if ads cause harm or break policy.

What this means for a small shop: where your campaign supports them, you can use Observation for reporting and Exclusions to leave out a list. For acquisition goals, use the campaign’s customer lifecycle settings. Targeting only your list, and bid adjustments by list, need the bigger-account tier. Smart Bidding’s automatic use of your lists is separate.

List size: lists have a maximum membership duration of 540 days. To stay eligible, a list must have at least 100 members added or updated within the last 540 days.

Eligibility is not delivery. The 100-member rule is a list-maintenance requirement. It does not guarantee that 100 uploaded rows will match, that a particular campaign can serve, or that every lifecycle feature is available. Check the list’s status and the campaign’s own requirements.

Which audience-size check applies to your feature?

Recent members, matched users and active users are different checks. Google’s Help pages do not give one consistent threshold for every feature. Check the selected feature in your account before activation.

Check Google’s documented guidance What to verify
Ongoing list maintenance At least 100 members added or updated within 540 days (policy) Recent additions/refreshes, not just uploaded rows
Lifecycle goal setup At least 100 active members in at least one network (setup guide) Active audience and selected mode status
New-customer detection Lists below 1,000 members can impair acquisition (detection guide) Detection coverage; do not assume every existing buyer is identified
Performance Max audience signals More than 1,000 active eligible users (signals guide) Signal eligibility in the intended campaign

These feature-specific instructions are partly inconsistent. A workbook maintenance pass does not establish lifecycle or signal eligibility. Record the feature’s actual status and date in the free activation checklist CSV; it contains no customer identifiers.

4. Four lists a web shop can build

Build lists around the decision you want to make with each group. These are starting definitions, not universal thresholds. A replenishment shop and a furniture shop will need different recency windows. The profit sheet has a tab with these definitions.

List Who How to pull it What to do on Shopping / Performance Max
Best customers Top 20% by total profit, not revenue Lifetime revenue minus cost of goods and order costs; take the top 20% Set an evidence-based customer value; give Google the example of a valuable customer
Recent buyers Bought in the last 30 days Order date within 30 days Use supported exclusions or lifecycle settings to avoid first-order offers; cross-sell accessories and refills
Lapsed buyers Last order 180 to 540 days ago Most recent order in that window Win-back offer; watch the 540-day limit
All customers Everyone who bought and gave consent All customers with consent Define “existing customer” so new-customer bidding works

5. Build and upload a list, step by step

Seven steps: pick the people, prepare the file, normalise (optional hash), upload, wait, check the match rate, check feature eligibility and use the list.

Step 1: Choose who goes on the list

Upload only data you collected first-hand (website purchase, app sign-up, loyalty card in a shop) from people who agreed to this use. Don’t upload bought lists.

Step 2: Prepare the CSV

Use the template. Google’s rules (Create a Customer Match list by uploading a data file):

  • CSV, encoded ASCII or UTF-8. UTF-16 isn’t supported.

  • This contact-information template uses six exact English headers: Email, Phone, First Name, Last Name, Country, Zip. The rows below can be in any language. Google also documents other identifier formats; this script handles contact information only.

  • Mailing-address matching needs all four of First Name, Last Name, Country, Zip. If a header is missing, the upload will likely error.

  • You can upload one field (just emails) or several. You may repeat Email, Phone or Zip columns for one customer.

  • Add as many match keys as you can, such as email and phone number. Google lists this as a way to improve match rate. The template and script keep one customer per row, which is our convention, not a Google requirement.

Field Rule (unhashed upload) Example
Email Include the domain; no spaces jane.doe@example.com
Phone E.164 format with country code; the “+” is optional +31612345678
First Name No prefixes (Mrs.); accents allowed zoë
Last Name No suffixes (Jr.); accents allowed pérez
Country ISO 2- or 3-letter code, even if all customers are in one country NL
Zip US 5 digits (5+4 may improve matching); everywhere else leave out extensions 1012AB

Step 3: Normalise, and hash if you want to

You don’t have to hash. If you upload plain text, Google Ads hashes Email, Phone, First Name and Last Name on your computer before sending. Choose to hash yourself if your policy requires data to leave your systems already hashed. Google’s rules for doing it yourself:

  • Normalise first: trim leading and trailing spaces; lowercase; format phones to E.164 (with “+”); remove the dots before the domain in gmail.com and googlemail.com addresses.
  • Then hash with hex SHA256. Do not hash Country or Zip.
  • Mobile device ID lists must be unhashed, and they’re a separate file with one column, Mobile Device ID.

The free hashing script runs locally with Python 3 and no extra packages:

python3 hash_customer_match.py customers.csv hashed.csv

It supports the six headers in the template, repeated Email, Phone and Zip columns, and blank optional fields. Phones must already include an international country code with + or 00 and no national trunk zero (+31 6 1234 5678, not +31 (0)6 1234 5678); it never guesses a country.

The script checks file structure and basic identifier syntax. Verify valid international phone numbers before running it: it does not validate national numbering plans. It rejects detected 64-character hexadecimal hashes, keeps Country and Zip unhashed, requires two-letter country codes for hashed uploads and writes only after all rows pass those checks.

Google’s matching-process instructions explicitly specify hex SHA256. Its file-format page also contains headings labelled “Base64 Encoded”. The script follows the explicit hex instructions. Validate a small file in your account before processing your full list. Hashing does not remove your consent obligations.

Input Normalised before hashing Output
Jane.Doe@gmail.com janedoe@gmail.com Hex SHA256
+31 6 1234 5678 +31612345678 Hex SHA256
Zoë zoë Hex SHA256
Country NL, Zip 1012AB Country and postal code retained Unhashed

Step 4: Upload

  1. In Google Ads open Tools → Shared library → Audience manager.
  2. Open the Your data segments tab, select the + and choose Customer list.
  3. Upload the CSV and check the detected format; some upload flows ask you to choose plain text or hashed data.
  4. Tick the box confirming the data was collected and is shared in line with Google’s Customer Match policies.
  5. Set a membership duration (maximum 540 days).
  6. Select Upload and create list (Create a customer list).

Step 5: Wait

Google says processing may take up to 48 hours. You can follow the progress under Audience lists.

Step 6: Check the match rate

The success page shows the number of rows that uploaded and your match rate. Google says it is common for some customer information not to match, and to use the rate as an indicator of data viability and formatting. Google documents a 100-unique-matched-row threshold for API match-rate reporting; check what the manual-upload success page shows for your file (file-format Help). If it’s very low, check headers and phone formats, and add more match keys such as email and phone number.

Use the match rate as a diagnostic, not a sales result. A matched account is not necessarily reachable in every placement, and a high match rate does not establish incremental revenue.

Check What it tells you What it does not tell you
Uploaded rows Whether records were accepted Whether all customers matched
Match rate How much of the upload could be matched Whether a campaign can serve
Audience status Whether the list is usable in that context Whether it will make a profit

Step 7: Use it

Lists apply automatically to Smart Bidding and optimised targeting. Where the campaign supports it, apply the list as Observation for reporting or as an Exclusion. A Performance Max audience signal is a suggestion, not a restriction on who can see the ads. See sections 7 and 8.

6. How do you keep Customer Match lists eligible?

A list shrinks if you don’t feed it. Google notes size can drop when the duration expires, when “remove” operations ran, when users are inactive for 30 days, or when users opt out of personalised ads. Refresh by adding, not replacing, unless you mean to replace.

Three ways to change a list (Audience manager → Audiences → your list → ⋮ Edit):

Option Use it for
Replace existing list members with a new file A full rebuild
Add more customers The normal weekly refresh
Remove specific customers Unsubscribes and consent withdrawals (do this promptly)

Four ways to automate it:

Method Note
Data Manager (in Google Ads) Google’s hub for connecting sources such as BigQuery or HubSpot without file handling (About Data Manager). Google recommends it, and the Data Manager API for new automated workflows, over the Google Ads API
Upload partner Partners listed by Google include Shopify, Klaviyo, HubSpot, ActiveCampaign, Braze, Salesforce Ad Studio, Segment and Zapier; they upload without your Google Ads login (Use a partner)
Zapier Connects your CRM to Customer Match
API For developers

Google’s best-practice tip: set a calendar reminder to refresh manually at the same time each week, or automate daily (best practices). Track list health in the sheet’s second tab, which flags any list that drops under 100 recent members.

7. How do you configure acquisition or win-back?

For Shopping, the most useful thing Customer Match does is define who is an “existing” customer, so bidding can treat new and lapsed customers differently. Google calls these customer lifecycle goals (About customer lifecycle goals).

Google’s lifecycle-goals table distinguishes the modes:

Mode Campaigns Bidding and conversion goal
New Customer Value Search, Performance Max, Shopping, Demand Gen Value-based bidding; Purchase goal required
High Value New Customer Performance Max, Search Value-based bidding; Purchase goal required
New Customer Only Search, Performance Max, Shopping, Demand Gen Value- or cost-based bidding; Purchase recommended, not required
Re-engagement Performance Max Value-based bidding; Purchase goal required
High Value Re-engagement Performance Max Value-based bidding; Purchase goal required
Loyalty Program Members Performance Max, Shopping Value-based bidding; Purchase goal not required

All modes in the table require value-based bidding except New Customer Only, which also supports cost-based bidding. Purchase goals are required for New Customer Value, High Value New Customer and both re-engagement modes. Purchase is recommended for New Customer Only and not required for Loyalty Program Members.

New Customer Value gives new customers higher priority while retaining access to returning buyers. New Customer Only focuses on acquisition; Google recommends a separate campaign for existing customers. Retention modes use your business’s definition of a lapsed customer. Do not assume every mode is available in Standard Shopping.

Define existing customers with first-party customer lists and your website tag. The list alone will not identify every buyer. Review Google’s detection settings and keep your conversion measurement consistent before comparing results. First-order promotions paired with these acquisition campaigns are US-only in the cited documentation.

Choose one workflow before changing the campaign:

Your task List role and campaign action Verify before activation
Acquire new buyers Assign All customers to the existing-customer definition; choose a supported acquisition mode Customer detection, bidding/goal requirements and feature eligibility
Win back lapsed buyers Assign Lapsed buyers to a supported Performance Max re-engagement mode Your lapse definition, eligible active audience, Purchase goal and value-based bidding
Help Performance Max learn Add an eligible list as an audience signal Signal status; a suggestion does not restrict delivery to the list

Google’s customer-segment detection guide distinguishes these list roles. Uploading Lapsed buyers and enabling New Customer Value does not configure win-back. Record the chosen list role, campaign and observed status in the activation checklist, then assess contribution after ad spend using section 8.

8. Does it make money? The profit check

A higher audience ROAS does not guarantee a higher profit. Customers reached with a discount have a lower margin, so their break-even ROAS is higher. Break-even ROAS = 1 ÷ contribution margin; the margin calculator works out the margin from price and costs. Profit on ad spend (POAS) = ROAS × contribution margin; break-even POAS is 1.0. Above 1, contribution covers ad spend, before fixed overheads.

Worked example (illustrative data). Replace with your own figures (the profit sheet computes it):

Repeat buyers (full price) New customers, 15% discount
Average order value (excl. VAT) €80.00 €80.00
Discount none 15% → €68.00
Cost of goods €52.00 €52.00
Contribution per order €28.00 €16.00
Contribution margin 35% 23.53%
Break-even ROAS 2.86 4.25
ROAS in Google Ads 6.0 3.5
Profit on ad spend 2.10 0.82
Verdict Makes money Loses money

The discount-led audience returns a ROAS of 3.5. Its break-even is 4.25, so it loses €0.18 for each €1 of ad spend. The repeat buyers need 2.86 and deliver 6.0.

Audience ROAS against its own break-even

  • Break-even ROAS
  • Delivered ROAS
The discounted new-customer offer falls below its break-even ROAS of 4.25, while repeat buyers clear 2.86.Source: Illustrative data; break-even = revenue ÷ contribution before ads
Show the data
Audience ROAS against its own break-even
AudienceBreak-even ROASDelivered ROAS
Repeat buyers2.866
New customers, 15% discount4.253.5

What to do:

  1. Enter each audience’s margin and ROAS in the profit sheet. Use audience reporting where available. Performance Max signals are not a separately targeted audience with clean, additive revenue reporting: use the campaign’s new/returning-customer reports and your order data, and keep overlapping groups out of summed totals.
  2. Increase priority where POAS is clearly above 1; investigate the margin, offer and products where it is below. Change exclusions only where the campaign supports them.
  3. Check products too. A great audience on a low-margin product can still lose money. Product Segmentation does that check for every product, and POAS vs ROAS explains the idea.
  4. Wait for conversions to arrive before you lower an audience’s priority; its first days tell you little.

Honest limits. Customer Match won’t fix a weak feed or unprofitable products (how to optimise Google Shopping ads), and it can’t tell you what would have sold anyway. A before-and-after comparison can be affected by seasonality, promotions and other changes. Use a controlled incrementality test where feasible before crediting the list with additional sales.

9. Mistakes and fixes

Mistake Fix
One big list, uploaded once Split by profit, recency and behaviour (section 4)
List expires Refresh weekly by adding rows; remember 540 days and the 100-member rule
Assuming a 100% match Read the match rate; fix headers and phone formats, add more match keys
Headers in another language Use the exact English headers
Wrong encoding Save as UTF-8
Hashing wrongly Normalise first; don’t hash Country or Zip; or upload plain text
Manual bidding, then wondering why nothing changed Check automatic use versus eligible manual adjustments
Judging by ROAS Check break-even per audience and per product
Skipping consent Check your privacy policy and consent flow before uploading
Not removing people who unsubscribed Use “Remove specific customers”

For a failed sync, check the connector’s access, accepted terms and consent mapping. Troubleshooting an uploaded purchase list is different from troubleshooting an automatically generated conversion-based list; follow the instructions for the workflow you actually use.

You need a lawful basis, consent where required, and a privacy policy that says so, before you upload. Google’s policy requires that you only upload data collected in a first-party context (your website, apps, shops), that your privacy policy discloses that you share customer data with third parties performing services for you, and that you obtain consent where law or Google’s policies, including the EU User Consent Policy, require it. Use only Google’s approved tools to upload (Customer Match policy).

For EEA users, Google asks for two consent signals with every upload. They are ad_user_data and ad_personalization, both set to GRANTED. Missing consent counts as not consented, and that data cannot be used for Customer Match ad personalisation.

Route What Google requires Source
Manual upload in Audience manager Tick the box confirming the data was collected and shared in line with Google’s policies; upload only consented data How to provide consent
Upload partner The partner must pass both consent signals for EEA users EU user consent policy FAQ
Google Ads API Set both consent fields on the upload How to provide consent

Since March 2024, lists activated on Google Partner Inventory or third-party exchange sites in the EEA, UK and Switzerland are no longer available, while Google’s own properties still work (About Customer Match).

What you cannot do. Google’s policy bars uploading data about children under 13, using lists for sensitive interest categories, advertising sensitive products such as pharmaceuticals in Customer Match campaigns, and building lists that narrow an audience to very few users (Customer Match policy).

This is general information, not legal advice. Have your data protection contact review your setup.

11. What to do next

Download the free activation checklist and record one list, its role, the intended feature and the status you actually see. Use the free upload template when you are ready to prepare consented records.

Start with an all-customer list to define existing buyers, then add one group with a clear purpose. Confirm consent, validate a small upload, and record the match rate and membership status. Choose the lifecycle mode your campaign supports.

Before increasing priority, use the break-even ROAS calculator and the profit sheet to check the offer’s margin. If you need future orders to justify a loss on the first purchase, check customer acquisition cost using repeat-order evidence rather than an assumed uplift.

Google documentation was checked on 15 October 2026. Menu labels and feature support can change; the linked Help pages are the reference for your account.

Sources

Written by

, Founder of Product Metrics

Linkedin

Keep reading.

Frequently asked questions.

What is Customer Match?

Customer Match is a Google Ads feature that matches emails, phone numbers or addresses you collected first-hand to signed-in Google accounts. Supported campaigns, including Shopping and Performance Max, can then use those lists to reach existing customers, tell new from returning buyers and help find similar people. A match does not guarantee delivery or a sale.

How many customers do I need?

Google asks for at least 100 members added or updated in the last 540 days for a list to stay eligible. That is a maintenance rule, not a delivery guarantee. Not every uploaded row matches, and features such as Targeting and manual bid adjustments have extra account requirements. Check the list status in Audience manager.

Does Customer Match work with Google Shopping?

Yes. Google lists the Shopping tab as a Customer Match placement, and campaigns using Smart Bidding and optimised targeting include your lists automatically. Google's guide dates the Shopping rollout to Q1 2024. Automatic use does not apply to manual bidding strategies, so check your bid strategy before you expect a list to influence a campaign.

Does it work with Performance Max?

Yes. Google advises sharing existing audiences through Customer Match so Performance Max can find similar high-value customers, and several lifecycle goals, such as New Customer Value, support Performance Max. An audience signal is a suggestion, not a restriction, so Performance Max can still show ads to people who are not on your list.

Do I need USD 50,000 of spend to use it?

Not for every feature. Observation and Exclusions are open to policy-compliant accounts with a good payment history. The Targeting setting and manual audience bid adjustments need 90 days of history and more than USD 50,000 lifetime spend, where the campaign supports them. Smart Bidding's automatic list use is a separate mechanism from these settings.

Do I have to hash my data?

No. If you upload plain text, Google Ads hashes Email, Phone, First Name and Last Name on your computer with SHA256 before sending. You can also hash them yourself first, using hex SHA256 after normalising. Country and Zip are never hashed. Hashing is a privacy step; it does not replace consent or a lawful basis.

How long does an upload take?

Google says an upload may take up to 48 hours to complete, and you can follow progress under Audiences lists. When it finishes, the success page shows the rows uploaded and a match rate. Check those numbers and your formatting before you change any campaign, and allow for the delay when you judge results.

What is a good match rate?

Google gives no target. It says it is common for some customer information not to match, and to use the match rate as an indicator of data viability and formatting. Google documents a 100-unique-matched-row threshold for API match-rate reporting; check the manual-upload success page separately. Judge a list by profit, not by match rate.

Do lists work with manual bidding?

Not automatically. Google says Customer Match lists are not used when you run manual bidding strategies. Its policy lists manual audience bid adjustments separately, but only for accounts with 90 days of history and more than USD 50,000 lifetime spend, and only where the campaign supports them. Check your account before you rely on either.

Is Customer Match worth it for a small shop?

Sometimes. It can help when you have enough eligible first-party customers, consent to use them and a clear acquisition or retention goal. Start with one decision, such as keeping recent buyers out of a first-order offer, and compare its contribution with ad spend. A list cannot repair an unprofitable offer or a weak feed.

See which of your products to push, fix or pause. Start with your own products, or a 30-second estimate.

Check one product first: work out its break-even ROAS in the calculator. Then see where all your products stand.

Find your hidden profit30-second estimate · no login
Analyse your products for freeFree analysis, no credit card

Not ready to connect? Book a demo: a video call with Berend, then a demo account.