Shopping Zombie Products
Finds products that are eligible in your Shopping campaigns but got zero impressions — inventory paying rent in the feed while Google never shows it.
by Dmytro Tonkikh·chiliad.io
Overview
Shopping Zombie Products compares each campaign's eligible product set against what actually served in the window and reports every product with zero impressions — per campaign, with the zombie share of the catalog. Zombies usually trace back to weak titles, hopeless price competitiveness, or structure where bestsellers absorb all the traffic. Complements a missing-products monitor: that catches products that WERE working and vanished; this catches products that never got a chance.
Setup
- 1Open your Google Ads account and go to Tools → Bulk Actions → Scripts.
- 2Click the + button to create a new script and paste the code below.
- 3Adjust DATE_RANGE (a longer window is fairer to long-tail products).
- 4Set EMAIL_ADDRESS to receive the report; leave blank for logs only.
- 5Preview once to verify, then schedule monthly.
Configuration Variables
| Variable | Default |
|---|---|
DATE_RANGE | LAST_30_DAYS |
SAMPLES_PER_CAMPAIGN | 15 |
EMAIL_ADDRESS | (empty) |
Expected Output
Eligible products across enabled campaigns: 1240 === Shopping Zombie Products (eligible, 0 impressions during LAST_30_DAYS) === Total zombies: 218 Shopping — All Products: 218 of 1240 products never served (18%) - 8712345 - Acme Runner Pro 44 Blue - 8712399 - Acme Trail Grip 42 Green ... and 203 more Email sent to you@example.com
Notes
On very large catalogs (100k+ products) this can approach the script time limit — narrow with a longer-tail campaign or run per-campaign. A high zombie share isn't automatically bad in intentional head/tail structures; the actionable case is zombies in your 'all products' catch-all.