You've increased the budget. You've revised your bids. You've tested new audiences. Yet campaigns keep spinning their wheels: flat ROAS, PMax spending on the same five products, Shopping CTR that won't budge.
Before looking for the solution in campaign settings, there's a question always worth asking: when did you last check the feed?
Not "checked" in the sense of verifying that products are approved. Checked in the sense of understanding whether the feed is working for your campaigns or against them.
The symptoms that indicate a feed problem
Feed problems don't announce themselves with clear error messages. They manifest as campaign symptoms that appear to have other causes — and that are often attributed to insufficient budget, wrong bidding, or adverse seasonality.
These are the most common patterns.
PMax concentrates spend on a small portion of the catalog. If 90% of Performance Max budget goes to 10–20 products while the rest of the catalog receives almost nothing, the problem is rarely the bidding strategy. It's that the algorithm only finds strong signals on those products — because the others have incomplete attributes, generic titles, or images that don't pass Google's internal quality check. PMax doesn't explicitly penalize these products: it simply ignores them because it has little to work with.
Low CTR in Google Shopping despite competitive bids. Low Click Share with high Impression Share is the classic signal of a visual or textual problem in the feed: the product is being shown, but not being clicked. The most common causes are: irrelevant image, a title that doesn't match the user's query, or a price that isn't competitive relative to competitors shown in the same Shopping SERP.
ROAS that drops during promotional periods. During sales or seasonal campaigns, a feed updated with a delay creates a toxic combination: discounted prices on the site but full prices in the feed, or out-of-stock products continuing to receive paid traffic. Every click on an unavailable product is wasted budget. Every disapproval for a price mismatch temporarily reduces the active catalog, precisely when campaigns should be performing at their best.
Disapprovals accumulating with no apparent cause. A sudden increase in Merchant Center disapprovals — suspended products, policy violations, missing data — is never isolated. Each disapproval reduces the number of active products in campaigns, and an account with a high disapproval rate accumulates penalties that spread to the overall trust score, reducing visibility even for uninvolved products.
The most common feed errors that hurt performance
Behind these symptoms, the same recurring errors are almost always present. Recognizing them is the first step toward fixing them.
Generic titles built for the internal catalog, not for search. The product title in the feed is not the commercial name you use internally. It's the signal Google uses to match products to user queries. A title like "Jacket mod. AW24-BLU-L" tells the algorithm and the user nothing. "Men's navy blue waterproof winter jacket size L" has every element that can trigger a match with a real query. This is probably the most widespread — and most impactful — error on catalogs imported directly from an ERP without an optimization step.
Missing or incorrect GTINs. The GTIN — EAN or UPC code — is how Google connects your product to its global Shopping Graph. A product without a GTIN is treated as an unverified entity: it accesses fewer placements, receives lower auction priority, and doesn't appear in free Shopping ads. For catalogs with many variants (sizes, colors), the GTIN must be variant-specific — not a generic code at the parent product level.
Non-compliant or low-quality images. Google automatically disapproves images with overlaid text, watermarks, non-neutral backgrounds in certain categories, or dimensions below the minimum requirements. But even technically approved images can hurt performance if they're not optimized for CTR: a blurry image, with poor lighting, or one that shows the product in a hard-to-read way reduces click-through rates regardless of product relevance.
Prices and availability not updated in real time. This error is particularly insidious because its effects aren't immediate. A feed updated once a day seems to work fine under normal conditions — but during a promotion, a sales spike, or a price change, the delay creates misalignments that generate disapprovals and wasted clicks. Google automatically compares the price in the feed with the price on the landing page: if they don't match, the product gets suspended.
Incomplete variant attributes. For products with variants — apparel, footwear, electronics with multiple configurations — each variant must have its own specific attributes in the feed: GTIN, image, price, availability. A feed that treats variants as a single parent product loses much of the granularity Google uses to match specific searches ("men's blue running shoe size 9") to the right products.
How to diagnose the feed before touching campaigns
When the symptoms described above are present, the diagnostic process has a precise order.
First: Google Merchant Center — Product diagnostics. This is the mandatory starting point. The Diagnostics section shows three categories of issues: disapproved products (not shown in any campaign), products with warnings (shown but with incomplete or suboptimal data), and products with improvement opportunities. Resolving active disapprovals is the absolute priority — while products are disapproved, the account accumulates penalties that limit the visibility of the entire catalog.
Second: comparison between products receiving budget and products that aren't. In PMax and Shopping, you can extract a performance report by item_id — that is, by individual product. Comparing the attributes of products receiving impressions and clicks with those receiving almost none immediately reveals which feed characteristics make the difference. In most cases, products ignored by the algorithm have shorter titles, missing GTINs, or lower-quality images.
Third: check update frequency. Verify how often the feed is updated relative to how quickly product data changes. For a fashion catalog with frequent sales or a high-turnover eCommerce, a daily update isn't sufficient. The ideal frequency depends on the speed of data change: the more the catalog varies, the more frequent the update needs to be.
What changes when the feed is corrected
The impact of a systematic feed intervention is not immediate — it takes a few weeks for algorithmic campaigns to redistribute budget based on the new signals. But when the changes come, they're structural.
PMax begins distributing budget across a larger portion of the catalog, because it finds sufficient signals even on products it previously ignored. CTR in Shopping improves because titles match user queries and images are optimized for the format. Disapprovals decrease because prices and availability are aligned in real time. Overall ROAS improves not because bids changed, but because budget is directed toward products with more relevant attributes and therefore more likely conversions.
It's the kind of improvement you won't see in the bid log and can't explain with a campaign change. You see it in the product data.
The feed as maintenance, not a project
The most common mistake after a feed optimization effort is treating it as a completed project. The feed is not an asset you optimize once and leave stable: it's a data stream that reflects the catalog, and the catalog changes constantly — new products, price changes, stock updates, new seasons.
A continuous auditing system — one that monitors feed quality, catches anomalies before they become disapprovals, and flags products that are degrading in terms of attributes — is not optional. It's the condition that allows campaigns to remain high-performing over time without requiring constant manual intervention.
Feed maintenance is quietly one of the most important jobs in eCommerce performance marketing. It's not visible in the campaign report. You notice it when it's missing.
→ Discover Product Feed Marketing suite by Highstreet.io
→ Performance Feed & Analytics
→ Request a demo