A product can sit at "Approved" in Merchant Center for weeks and still collect zero impressions in Shopping and Performance Max. There is no disapproval, so nothing alerts you. That gap matters because, according to smec's 2025 State of PMax analysis, typically between 74% and 97% of Performance Max costs come from feed-based ads. If a SKU never enters those auctions, the feed is not doing its job for that SKU.
This guide is for feed managers and PPC leads who have a list of approved SKUs with no impressions and need to know why. It walks one product through a four-branch decision tree: is it eligible, is any campaign allowed to advertise it, is it losing to your own campaigns, and is it simply losing the auction. By the end you can put every zero-impression SKU into one branch and fix the right thing.
Step 0: confirm the product really has zero impressions, and where
In Merchant Center, a product can be Under review, Processing, Approved, Limited or Not approved. Google defines Limited as a product that "is showing on Google, but only in some instances", for example eligible in some countries but not others, or not for some marketing methods (Merchant Center Help). New products can stay Under review for 3 to 5 business days.
In Google Ads, open Campaigns > Products. The Product status column shows Eligible, Eligible (limited) or Not eligible, and the Issues column gives the reason. The Diagnostics tab groups issues by level, and one account-level issue is literally called "No campaigns advertising this product" (Google Ads Help, product diagnostics). Since February 2026, the Status column also shows which Shopping and Performance Max campaigns each product is eligible for (PPC News Feed).
Pull a 30-day window, filter to impressions = 0, and export item ID, status, issues and campaign.
The decision tree at a glance
Work the branches in order. A product that fails an early branch never reaches the later ones.
| Branch | Question | Where to check | If the answer is no |
|---|---|---|---|
| 1. Eligibility | Is the product eligible for Shopping ads in the campaign's country? | Merchant Center product detail; Google Ads Product status | Fix the feed attribute, shipping or availability issue |
| 2. Coverage | Is at least one enabled campaign allowed to advertise it? | Feed label, listing groups, inventory filters, campaign eligibility pop-up | Fix the campaign's product selection or the feed label |
| 3. Overlap | Is another campaign in your account winning for this product? | Products report with Campaign added under Item ID | Decide which campaign should own the product |
| 4. Auction | Is it eligible and covered, but never winning? | Search terms, title relevance, budget and target settings | Improve relevance in the feed; review targets in Google Ads |
Branch 1: is the product eligible in the country you are targeting?
"Approved" at account level does not mean approved everywhere. The common feed-side causes:
- Limited, not Approved. Open the product in Merchant Center and read the issues per country and marketing method. A product limited for Shopping ads in the UAE shows zero impressions in a UAE campaign, whatever its Turkish status.
- Switched off by your own attributes.
excluded_destinationwithShopping_adskeeps the product out of Shopping ads, and an excluded value always beatsincluded_destination(Merchant Center Help).pauseandshopping_ads_excluded_countrydo the same quietly. Our reference on pause, excluded destination and excluded country covers each one. - Out of stock. Google Ads treats out-of-stock products as ineligible (Google Ads Help). Check that
availabilityin the feed matches the landing page. - Expired data. Products submitted through a data source expire 30 days after their last refresh, and products with an
expiration_datestop serving after that date (Google Ads Help). - Shipping gaps. Missing shipping for a targeted country can stop the campaign, and a minimum order value in shipping settings hides products priced below it (Google Ads Help).
- Country and language mismatch. Product data countries and languages should match the campaign. For MENA sellers running separate Arabic and English data sources, this is worth checking first.
If the Google Ads status is Not eligible, stop here and fix the product first.
Branch 2: is any enabled campaign allowed to advertise it?
Here the product is eligible, but no campaign selects it. Teams often skip this branch.
Feed label mismatch
Shopping, Demand Gen and Performance Max campaigns select products by feed label, and you can select only one feed label per campaign. Labels can be up to 20 characters, using only upper-case A to Z, digits, hyphen or underscore, with no spaces, and a data source's label cannot be changed after creation (Merchant Center Help, feed labels).
So if your Turkish campaign uses TR and a new data source was created with TR_TRY, every product from that source is approved and invisible to that campaign.
Listing groups and inventory filters
In Performance Max, listing groups subdivide "All products" by custom label, product type, brand, item ID, condition or channel, and any subdivision can be excluded (Google Ads Help, listing groups). A rule written months ago, such as "exclude custom_label_0 = clearance", keeps excluding every SKU the feed later tags that way. Standard Shopping product groups can exclude products the same way, and Google warns against over-excluding (Google Ads Help).
Check the campaign eligibility pop-up in the Products report. If a product shows "Not eligible" for every enabled campaign, it is a coverage problem, not a feed quality problem.
Branch 3: is another campaign in your account taking the product?
When two campaigns can serve the same product, only one ad from your account enters the auction. Google says that when multiple campaigns could serve for the same impression, it "prioritizes the campaign with the highest Ad Rank" (Google Ads Help).
This corrects a claim still repeated in many guides: that Performance Max always beats Standard Shopping. That was true until October 2024, when Google said "instead of Performance Max automatically being prioritized over Standard Shopping, normal auction dynamics will now apply" (Search Engine Roundtable, PPC Land). Between two Standard Shopping campaigns, the higher bid usually wins, and the priority setting only breaks ties (Google Ads Help).
To check, add Campaign under Item ID in the Products report. A SKU with zero impressions in one campaign and steady impressions in another is not invisible. It is owned by the other campaign, and the fix is a deliberate ownership decision, usually via a custom label that one campaign includes and the other excludes.
Branch 4: eligible, covered, and still not winning
If the product passes branches 1 to 3, it is entering auctions and losing, or rarely matching a query. Part of this is a feed problem and part is not.
The feed part is relevance. Google says the title "will be used to match your product to a customer's search", and that users usually notice only the first 70 or fewer characters (Merchant Center Help, title). A title like Model 4471 Grey gives the system almost nothing to match.
The non-feed part is the campaign. Very low bids or tight ROAS targets win few auctions, and significant budget or bid changes can trigger a 5 to 14 day learning phase. Auction insights also hide data when impression share is below 10% (Google Ads Help). These settings live in Google Ads. A feed tool can group products so a campaign can treat them differently, but it does not set bids.
Worked example: one SKU through the tree
The rows below are a constructed, illustrative example, not client data. A home textile retailer sells in Turkey and the UAE, and a towel set has zero impressions in its Turkish Performance Max campaign.
Before:
id: HT-4471-GR | title: Model 4471 Grey | availability: in_stock | feed_label: TR_TRY | custom_label_0: clearance | price: 349.90 TRY
Branch 1: Approved for Shopping ads in Turkey, in stock, fresh data. Pass. Branch 2: the campaign uses feed label TR, and its listing group excludes custom_label_0 = clearance. Two coverage failures. The SKU never reaches branches 3 or 4.
After:
id: HT-4471-GR | title: Cotton Bath Towel Set, 4 Pieces, Grey, 50x90 cm | availability: in_stock | feed_label: TR | custom_label_0: core | price: 349.90 TRY
Because a data source's feed label cannot be edited, the fix is to submit the products through a data source labelled TR, retire the old source, and correct the custom label rule that tagged the SKU as clearance.
Triage checklist with scoring
Score each SKU in your export and work the highest scores first. They are usually the cheapest to fix.
| Check | Branch | Points if it fails |
|---|---|---|
| Google Ads status is Not eligible | 1 | 3 |
Excluded via excluded_destination, pause or excluded country | 1 | 3 |
| Out of stock or data older than 30 days | 1 | 3 |
| Price below a shipping minimum order value | 1 | 2 |
| Feed label differs from the campaign's label | 2 | 3 |
| Excluded by a listing group or inventory filter | 2 | 3 |
| Impressions in another campaign in the same account | 3 | 2 |
| Title under 30 characters (our threshold) or missing product type | 4 | 1 |
| Campaign changed budget or target in the last 14 days | 4 | 1 |
A SKU scoring 3 or more almost always has a configuration fix. A SKU scoring 0 to 1 is an auction question, and moving it into its own campaign or a low-traffic segment is a decision for whoever owns bidding.
How to keep the problem from coming back
Most zero-impression SKUs come from rules that drifted: a new data source with a new label, a clearance tag that never expired. Re-run the Products report filter monthly, fix one feed label convention, and give custom label rules an end condition.
In Feedance, 4T Segmentation labels products with low traffic and good return as "Tolerable", meaning they convert when seen but are rarely seen. Feedance sends these segments to Merchant Center as custom labels, as described on the Google Merchant Center integration page, so a campaign can include them deliberately. Feed Protection blocks updates when the product count changes beyond a limit you set, which catches the "half the catalog disappeared" version of this problem before it reaches Google.
What this guide doesn't cover
This tree is for Shopping ads inside Standard Shopping and Performance Max. It does not cover free listings, local inventory ads, Demand Gen, or Meta and TikTok catalogs, which have their own eligibility logic.
Branch 4 is where a feed tool's reach ends. Feedance does not manage bids or bid strategies. If your remaining zero-impression SKUs are eligible and covered, bid-side approaches do this part better: smec, for example, describes a "Zombie" segment of products under 10 clicks a month that it moves into separate campaigns (smec). Finally, Google's documentation does not publish how many products typically get zero impressions, and we have not found a public benchmark we would trust, so treat any "30% of your catalog is invisible" figure as unverified.
FAQ
Why does an approved product get zero impressions in Google Shopping?
Approval only means the product passed policy and data checks. It still needs to be eligible in the campaign's country, selected by an enabled campaign through its feed label and listing groups, not taken by another campaign in your account, and competitive enough to win auctions. Any one of those can stop impressions.
What is the difference between Limited and Approved in Merchant Center?
Approved means the product is showing on Google. Limited means it shows only in some cases, for example in some countries or marketing methods but not others, or with some data left off the ad.
Does Performance Max still take priority over Standard Shopping?
No. Since October 2024, when both campaigns can serve the same product, the campaign with the higher Ad Rank serves.
How do I see which campaign a product is eligible for?
In Google Ads, open Campaigns, then Products, and look at the Product status column. Since February 2026 it shows which Shopping and Performance Max campaigns each product is eligible for.
Can a feed label mismatch really hide products that are approved?
Yes. A campaign selects one feed label, and products from a data source with a different label are not part of that campaign. Because a data source's label cannot be changed after creation, the fix is usually a new data source with the correct label.
How long should I wait before treating a new product as zero-impression?
New products can be under review for 3 to 5 business days, and campaign changes can trigger a learning phase of 5 to 14 days. Give new SKUs at least two weeks before running them through the tree.
See the low-traffic segment in your own catalog
If you want to see which of your products sit in the low-traffic segments before you start the tree, book a 15-minute Feedance demo on your own catalog.
Sources
- Google Merchant Center Help: Check product visibility and status
- Google Ads Help: About product diagnostics
- Google Ads Help: Fix a Shopping campaign that is not running or has low traffic
- Google Ads Help: How Performance Max interacts with other campaigns
- Google Ads Help: Manage a Performance Max campaign with listing groups
- Google Merchant Center Help: Use feed labels
- Google Merchant Center Help: excluded_destination
- Google Merchant Center Help: title
- Search Engine Roundtable, 22 October 2024: Performance Max won't take priority over Standard Shopping
- PPC Land, 18 October 2024: Performance Max vs Standard Shopping auction change
- PPC News Feed, 11 February 2026: Product eligibility per campaign in the Products section
- smec, January 2026: How to run Google Shopping alongside Performance Max in 2026

Co-founder of Feedance, where she draws on 20+ years in product and user experience design to shape how catalogs become creative. With a strong focus on bridging design systems and automation, she is dedicated to helping brands scale visual quality without scaling design effort.
LinkedIn



















