On April 30, 2026 — three days from now — Google Ads starts rejecting Lookalike audience creations that match an existing seed list, expansion level, and country. API v24+ throws DUPLICATE_LOOKALIKE. Earlier API versions throw RESOURCE_ALREADY_EXISTS. If you run a WooCommerce store with Customer Match active, you almost certainly carry overlapping Lookalike seed lists you no longer remember creating. Audit them before Thursday, or the next list you try to create will fail silently in the API and loudly in the Demand Gen UI.
Audit Your WooCommerce Customer Match Lists Before Thursday
Google’s announcement on the Ads Developer Blog confirms the cutover. Two Lookalike lists are now considered duplicates if they share the same seed list, expansion level, and country — regardless of how you named them. The rule applies first to Demand Gen campaigns, which is where most WooCommerce stores spend Customer Match budget anyway.
The naming part is the trap. A list called Purchasers Lookalike Narrow US and a list called Top 2.5 Percent Buyers USA look like distinct audiences in your Audience Manager. To Google’s validator after April 30, they are the same list. The first one wins. The second one returns DUPLICATE_LOOKALIKE.
Why WooCommerce Stores Have More Duplicates Than They Think
Three things conspire to give WooCommerce stores duplicate seed inventory faster than other platforms.
First, generating a Customer Match seed from a WooCommerce store is cheap. If your orders are already in BigQuery — through inPIPE™, a third-party export, or a manual scheduled query — building a new audience is a SELECT statement followed by a CSV upload. Stores that wouldn’t dream of manually exporting from wp_postmeta happily run a fresh audience export every month with a slightly different filter.
Second, the filters drift. A store typically starts with one seed: all purchasers, last 540 days. Then a campaign manager wants higher-AOV buyers, so they make purchasers over $50, last 540 days. A seasonal campaign needs purchasers last 30 days. Each one looks like a sensible new segment. Each one becomes a separate seed list. Each one then spawns its own Lookalike — Narrow, Balanced, and Broad expansion variants. The math compounds. By month six, a store can carry eight or more Lookalike audiences built on substantially overlapping seeds.
Third, expansion levels multiply silently. Demand Gen campaigns use Lookalike segments with Narrow expansion (top 2.5% of population match), Balanced, and Broad (top 10%). Many stores create all three from the same seed because they don’t know which will perform best, then never delete the losers. Three lists per seed. Five seeds. Same country. That’s fifteen Lookalike audiences against a duplicate-detection rule that allows exactly one per (seed, expansion, country) tuple.
Most of these were created by the same person. Some were created by Conversios, Pixel Manager, or a custom BigQuery → Customer Match pipeline that the store owner forgot they enabled. The audit needs to find all of them.
You may be interested in: WooCommerce to Google Ads Customer Match: The Smart Bidding Audience Signal Most Stores Never Send
The Three-Day Audit Workflow
The audit is a single grouping operation. It runs in two places depending on where your truth lives.
Option A: Audit From Google Ads Audience Manager
This works for any store, regardless of where the orders sit.
- Open Google Ads → Tools → Audience Manager → Your data → Custom segments. Filter to Lookalike segments only.
- Export to CSV. Include columns for list name, seed list source, expansion level, and country.
- Group by seed source + expansion level + country. Any group with a count greater than one is a duplicate set.
- Pick a canonical list per group. Use the one with the longest membership duration or the cleanest name.
- Swap it into every campaign that uses the duplicates. Then delete the duplicates.
Option B: Audit From Your Orders Table in BigQuery
If your WooCommerce orders are already streaming to BigQuery, the audit is one SQL query against the table you used to generate the seeds. The exact column names depend on how your seeds were built, but the shape looks like this:
SELECT
seed_source,
expansion_level,
country,
COUNT(*) AS list_count,
ARRAY_AGG(list_name) AS duplicate_lists
FROM `your_project.your_dataset.lookalike_audit`
GROUP BY seed_source, expansion_level, country
HAVING list_count > 1
ORDER BY list_count DESC;
Any row returned is a violation waiting to happen. The duplicate_lists array tells you which Audience Manager entries to consolidate.
The fix is consolidation, not redefinition. Don’t rename your seeds to make them look unique — Google’s validator runs on the seed source itself, not the label. Reuse one Lookalike across multiple campaigns instead of generating a new one per campaign.
Reuse the Audience Across Campaigns
The cultural shift this enforcement forces is healthy. The old WooCommerce pattern was “every campaign gets its own purpose-built Lookalike.” The new pattern is “one Lookalike per seed-expansion-country tuple, attached to many campaigns.”
This is also better for Smart Bidding. A Lookalike that has been served against multiple campaigns accumulates more conversion signal than three near-identical ones split three ways. Google’s bidding model trains faster on consolidated audiences. The April 30 rule is, in effect, Google forcing the practice it has been recommending in support docs for two years.
You may be interested in: Google Forced Your WooCommerce Store Onto Smart Bidding. Your Conversion Data Is Not Ready.
How a First-Party Server Makes the Audit Permanent
The reason most stores can’t run the BigQuery audit is that their WooCommerce order data isn’t in BigQuery in the first place. The Customer Match seed was generated by a plugin that exported a CSV from wp_postmeta on the day of the campaign launch — and that CSV is the only artifact of which customers were in the seed.
Transmute Engine™ is a dedicated Node.js server that runs first-party on your subdomain (e.g., data.yourstore.com). The inPIPE WordPress plugin captures every WooCommerce order via hook and sends it via authenticated API to the Transmute Engine server, which streams the order into BigQuery as a first-party fact table. Every Customer Match seed you generate is now a SQL query against that table — and so is the duplicate audit, in perpetuity.
Key Takeaways
- April 30, 2026: Google Ads enforces Lookalike audience uniqueness across Demand Gen.
- Duplicate definition: Same seed list + same expansion level + same country, regardless of list name.
- API errors: v24+ returns DUPLICATE_LOOKALIKE; earlier versions return RESOURCE_ALREADY_EXISTS.
- WooCommerce risk profile: Stores carrying overlapping Customer Match seeds typically run 3 to 8 duplicate Lookalike variants once Narrow, Balanced, and Broad expansion are counted.
- The fix: Group every Lookalike by seed source + expansion + country. Consolidate to one canonical list per group. Reuse across campaigns instead of recreating.
Frequently Asked Questions
DUPLICATE_LOOKALIKE is the error Google Ads API v24+ returns from April 30, 2026 onward when a Lookalike user list creation request matches an existing list on three criteria: seed list, expansion level (Narrow, Balanced, or Broad), and country targeting. The list name is irrelevant. Earlier API versions return RESOURCE_ALREADY_EXISTS for the same condition.
Two Lookalike audiences are duplicates if they share the same seed list, the same expansion level, and the same country targeting. Different names do not make them distinct. A list called Purchasers Lookalike Narrow US and a list called Buyers Top 2.5 Percent USA are duplicates if both were built from the same Customer Match seed.
Export your Lookalike audiences from Google Ads Audience Manager, then group every list by seed source, expansion level, and country. Any group with more than one entry is a duplicate set. Pick one list per group as canonical, swap it into every campaign using the others, then delete the duplicates. Stores streaming WooCommerce orders to BigQuery can run this audit as a single SQL query against the orders table.
Existing campaigns continue running. The enforcement applies to new Lookalike list creations only. The risk is that future audience refreshes, list rebuilds, or new campaign launches will fail validation. The practical consequence is that you cannot create a new list once the rule is live, so any duplicate inventory built before April 30 should be consolidated voluntarily rather than deleted under pressure later.
This needs to be on your Monday. Pull the audience export, group by the three keys, consolidate. Then make the audit a recurring query — not a fire drill.



