NewProduct Score, 4T Segmentation, Price War and Broken Size are live.See what's new
Feedance
Article

Why Approved Products Get Zero Impressions in Shopping and Performance Max, and How to Find the Cause

A decision tree for approved Merchant Center products that never get an impression in Shopping or Performance Max, from feed labels to Ad Rank.

Inci DindarInci Dindar
10 min read
Grid of product cards with a few faded, invisible items under a magnifying glass revealing a decision tree

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.

BranchQuestionWhere to checkIf the answer is no
1. EligibilityIs the product eligible for Shopping ads in the campaign's country?Merchant Center product detail; Google Ads Product statusFix the feed attribute, shipping or availability issue
2. CoverageIs at least one enabled campaign allowed to advertise it?Feed label, listing groups, inventory filters, campaign eligibility pop-upFix the campaign's product selection or the feed label
3. OverlapIs another campaign in your account winning for this product?Products report with Campaign added under Item IDDecide which campaign should own the product
4. AuctionIs it eligible and covered, but never winning?Search terms, title relevance, budget and target settingsImprove 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_destination with Shopping_ads keeps the product out of Shopping ads, and an excluded value always beats included_destination (Merchant Center Help). pause and shopping_ads_excluded_country do 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 availability in 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_date stop 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.

CheckBranchPoints if it fails
Google Ads status is Not eligible13
Excluded via excluded_destination, pause or excluded country13
Out of stock or data older than 30 days13
Price below a shipping minimum order value12
Feed label differs from the campaign's label23
Excluded by a listing group or inventory filter23
Impressions in another campaign in the same account32
Title under 30 characters (our threshold) or missing product type41
Campaign changed budget or target in the last 14 days41

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

Want a second pair of eyes on your feed? We will review it with you and show where the gaps are before your next submission.
Run a free audit
Inci Dindar
Written by
Inci Dindar

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

See which
products earn.

Connect your feed and GA4. We show Product Score, 4T, Price War and Broken Size on your own catalog.