With large ecommerce catalogs, it's common for products to fall through the cracks. Not because they're bad products or out of stock — they simply stop getting the visibility they need to perform.
As Google's algorithms optimize toward products with the strongest historical performance, lower-volume SKUs can slowly lose impression share. Less traffic leads to less conversion data, which compounds the issue.
Before long, those products are stuck in what the author calls SKU purgatory.
Meet the zombie campaign
Zombie SKUs aren't a new concept, and it's quite simple to understand why this happens and do something proactive to fix it.
The campaign of choice is typically Performance Max (PMax), because this is exactly where Google's automation can be used to our advantage.
PMax can find additional pockets of opportunity and demand that Standard Shopping may not be uncovering. Sometimes that's all a neglected SKU needs.
When a SKU falls below certain performance thresholds, rather than leaving it inside its existing Standard Shopping campaign where it continues to receive little to no traffic, we automatically move it into a dedicated zombie SKU Performance Max campaign.
The goal isn't to force spend on poor-performing products. It's to give overlooked products another opportunity to compete.
Once those products begin generating impressions, clicks, and even conversion data again, Google's understanding of them improves. If they prove themselves, they earn their way back into their original campaigns.
How to automate it
Before PMax, zombie campaigns were usually more trouble than they were worth because of the time-consuming manual work required to move SKUs in and out.
The key was to remove the manual work.
With the data team, custom logic was built in BigQuery that continuously identifies what qualifies as a "zombie SKU." The exact thresholds are customized for each business, but the goal is the same: identify products that have effectively stopped receiving meaningful opportunity.
The six-step pipeline
- BigQuery evaluates every SKU using the custom logic
- Eligible zombie SKUs are exported to a Google Sheet
- Feedonomics (the feed management tool) reads that sheet and automatically applies a custom label of "zombie SKU"
- Google Ads uses that custom label to include those products in a dedicated Performance Max campaign
- Those same SKUs are excluded from their original Standard Shopping campaigns to avoid overlap
- Once a SKU no longer meets the zombie criteria, the custom label is automatically removed and the product returns to its original campaign
The entire process runs automatically with very little manual work.
Breaking the performance feedback loop
One of the biggest challenges with large catalogs is that Google's machine learning naturally gravitates toward products that already have strong performance signals.
That's great for efficiency, but it can also create a feedback loop where the "rich get richer." Top-performing SKUs continue to receive traffic, while products with little historical data struggle to gain momentum.
A zombie campaign works because it interrupts that cycle. Rather than permanently writing those products off, it provides a dedicated environment where they can generate additional performance signals.
Not every SKU comes "back to life," and that's OK. Some genuinely lack demand. But plenty simply needed another chance to collect impressions, clicks and conversion data before becoming competitive again.
Early results: two weeks
| Period | SKUs | Clicks | Impressions | Cost | Conversions | Conv. value | ROAS |
|---|
| Pre-launch | 13,829 | 0 | 0 | $0 | 0 | $0 | 0% |
| Post-launch | 13,829 | 1,617 | 198,774 | $5,072.17 | 24.42 | $5,161.70 | 101.77% |
In just two weeks, more than 13,800 previously overlooked SKUs began generating impressions, clicks and even conversion data after receiving little to no opportunity beforehand.
How to read those numbers
It's important to view these results through the lens of the campaign's objective.
Unlike core Shopping campaigns, the primary goal isn't to maximize ROAS or drive significant sales volume. It's to generate enough impression, click and conversion data for underperforming SKUs to graduate back into the Standard Shopping campaigns.
Once a product no longer meets the zombie criteria, it's automatically removed and returned to its original Shopping campaign, making room for the next set of overlooked products.
The next step is measuring whether the additional history improves overall performance after the SKUs are reintroduced.
Automation makes it scalable
The biggest advantage isn't the Performance Max campaign itself. It's the automation.
Without BigQuery, Feedonomics and custom labels, maintaining thousands of products would require constant manual review. Instead, products flow between campaigns based on their performance, with successful SKUs returning to the campaigns where they belong.
For large ecommerce catalogs, it's an efficient way to make sure promising products don't quietly disappear simply because Google's algorithms stopped prioritizing them.
Practical takeaways
Distinguish "poor performers" from "products that never got a chance." That distinction is the campaign's whole premise: a SKU with zero impressions isn't performing badly, it has no data — and the two need different treatment.
Define thresholds against your own catalog. There is no universal zombie criterion; answer "has this effectively stopped receiving meaningful opportunity?" with your own data.
Don't run it if manual work remains. The author found it not worth the trouble before automation. If labelling and unlabelling aren't automatic, it collapses at thousands of SKUs.
Don't judge it on ROAS. The 101.77% is a side effect, not the objective. The KPI should be the number of SKUs that graduated.
Always block the overlap. Failing to exclude zombie SKUs from their original Standard Shopping campaigns makes your campaigns bid against each other — the same cannibalisation problem covered in Why Separating Brand and Non-Brand Campaigns Makes ROAS Honest.
Check feed quality first. A zombie campaign competes on what the feed contains; a weak feed cannot convert an opportunity — read alongside AI Shopping Starts With Your Product Feed.
Don't stack audience exclusions on top. Since the point is collecting data, layering controls like Household Income Exclusions in Performance Max shrinks the very signal you are trying to gather.