Performance Max product feed: what PMax reads
Performance Max decides where and how much to bid, but it can only bid on products Google will show, using the title, image, price, and attributes your feed provides. Emberfeed fixes the feed PMax reads; it does not run the campaign. That sentence is the whole article, and it is also the line most PMax advice skips, because it is easier to talk about budgets and bid strategies than to admit the feed is the one input the algorithm cannot improvise around.
PMax is deliberately opaque. You hand Google a goal and a data source, the system picks placements across Shopping, YouTube, Display, Discover, Gmail, and Maps, and you mostly see the result, not the mechanism. The feed is the exception. It is the one input you fully author, and for the highest-intent surface (the Shopping-style ad) it is not just an input, it is the creative itself. This guide is about how PMax actually consumes that feed, which attributes carry the weight, and where the feed lane ends and the campaign lane begins.
How PMax actually consumes the feed
Five mechanics matter, and all five are documented by Google rather than inferred. Get these straight and the priority order in the next section stops being arbitrary.
1. Retail PMax requires a Merchant Center link and at least one listing group
To run Performance Max for retail, the Google Ads account has to be linked to a Merchant Center account, and you have to create at least one listing group. The link is what points the campaign at your catalog (the merchant_idon the campaign's shopping setting); an optional feed label narrows it to one feed when several exist. No link, no retail PMax. This is the first place the feed stops being optional: it is a structural prerequisite, not a nice-to-have.
2. Linking Merchant Center turns on automatic asset generation
Once the feed is linked, Google can generate assets for the campaign automatically. Per Google's own docs, advertisers with a Merchant Center feed do not need to supply any additional creative to launch, but they may see a Poor Ad Strength rating, and reach and performance are limited in that feed-only mode. So the feed alone is enough to launch and serve, it just caps you. The takeaway is not "feed is all you need"; it is "the feed is the floor the whole campaign stands on, and a thin feed is a low floor."
3. The Shopping-ad slice is your feed, verbatim
PMax uses your data source to generate several ad formats. The one that matters most for retail is the Shopping-style ad, and it pulls the product title, image, price, and availability straight from the feed. Critically, Google states that text customization is not available for Shopping ads: the AI does not rewrite your titles or descriptions for that surface. The broader auto-generated assets (headlines, descriptions, generated images and video for YouTube, Display, and Discover) are built from your landing page, domain, and uploaded assets. But for the closest-to-purchase slice, the feed is the entire creative, un-editable by PMax. If the title is weak there, nothing downstream fixes it.
4. Listing groups select which products serve, and they can only subdivide on feed attributes
Listing groups organize your inventory by the attributes assigned in Merchant Center, and you subdivide on a fixed set: Category (the Google product taxonomy), Brand, Item ID, Condition, Product Type (up to five levels), Channel, and Custom Labels (up to five). The hard constraint: only fields actually sent through your feed can be used as subdivision fields, and you can have up to 1,000 listing groups per asset group. This is the bridge between the two lanes. The structure (how you split and prioritize products) is a campaign-lane decision, but it can only ever operate on attributes the feed carries. If product_type or custom_label_0 are empty, the campaign literally cannot segment on them. Feed completeness is what makes campaign structure possible.
5. Disapproved products are invisible to PMax
This is the single most important mechanic, and the one that turns feed quality from "optimization" into "precondition." Disapproved products do not appear in Shopping results, in Performance Max, or across the Display Network. PMax cannot bid on a product Google refuses to show. A price that disagrees with the landing page, an image with a promotional overlay, a missing identifier on a branded product: each can pull a product out of the auction entirely, and PMax never gets the chance to spend on it. We keep a full field guide to these rejections in common Merchant Center disapprovals (the exact diagnostics and fixes), so this article does not re-list the codes. The point here is only the consequence: a disapproved product is a product PMax cannot touch.
Feed signals PMax uses, and which lane each lives in
Table first. Each row is a feed attribute, what it drives inside PMax, and whether the lever is yours to author in the feed or a campaign decision that the feed merely enables.
| Feed signal | What it drives in PMax | Lane |
|---|---|---|
| title | Query-to-product matching and the visible Shopping-ad headline. Largest CTR lever in practice. | Feed (Emberfeed field rules) |
| image_link | The Shopping-ad creative itself, plus source for generated image and video assets. Must pass policy or the product is disapproved. | Feed (Emberfeed renders it) |
| product_type | Double duty: sharpens query matching and is a listing-group subdivision field for campaign structure. | Feed |
| price / availability | Shown live in the ad, and an accuracy gate: a mismatch with the landing page disapproves the product. | Feed accuracy plus storefront must agree |
| gtin / identifier_exists | Missing on branded products triggers a limited-performance warning that caps Shopping and PMax visibility. | Feed |
| description | An indirect lever: affects query matching and free listings more than primary CTR. | Feed |
| custom_label_0..4 | No direct match or CTR impact, but unlocks listing-group prioritization (margin, season, bestsellers) so the campaign can steer. | Feed enables, campaign uses |
Read the lane column carefully. Six of these seven are things you write into the feed. The seventh, custom labels, is a feed field whose whole purpose is to hand the campaign lane a handle it would not otherwise have. None of them is a bid, a budget, or an audience signal. That is the boundary this whole piece keeps returning to.
How to strengthen the feed, in priority order
Work the list top-down. The early items move the most, and they also gate the rest: there is no point tuning custom labels on a product that is disapproved on price.
1. Titles, the biggest avoidable loss
In practitioner data, optimized titles move CTR more than any other feed change. One frequently cited client case rewrote titles on the top ~40 products and saw CTR go from 0.2% to 0.8%, roughly four times, with no change to the campaign. Attribute that to the practitioners who reported it (storegrowers and similar feed specialists), not to Google: it is real-world evidence, not an official benchmark. The mechanism is simple, the Shopping slice cannot rewrite your title, so whatever you ship is what competes.
The reliable pattern is to front-load brand, product type, and the attributes people actually search, in roughly that order. Apparel tends to want Brand plus Gender plus Product Type plus key attributes; electronics tends to want Brand plus Product Type plus Model plus attributes. On length: Shopping titles can run up to about 150 characters, of which only around 70 show on mobile, but the non-visible remainder still influences whether Google shows the ad at all. Those character figures are third-party practitioner numbers, so treat them as guidance, not a quoted Google spec. Practical rule: front-load the first 70 characters as if they were the whole title, then let the rest do its matching work. In Emberfeed this is a field rule: rewrite or template the title field across the catalog, and fix individual SKUs with a per-product override rather than touching the rest.
2. Images, the creative and a disapproval gate at once
The image is doing two jobs. It is the visible creative on the Shopping slice, and it is a compliance gate: an image that fails Google's policy (a promotional overlay, or, after the 2027 enforcement, falling below the 500x500 floor) disapproves the product, which removes it from PMax entirely. Both deadlines and the overlay rule are covered in our 2026 spec changes write-up and the image requirements reference, so the short version here: clean, on-policy, comfortably above the size floor.
This is the lane where a feed editor does the most direct work. Emberfeed renders every product image on demand, so you can ship a clean, branded image for Google (logo only, no promo text, well above the floor) while keeping an aggressive promo image on a separate Meta-targeted feed, both served from the same source. The render output also points image_linkat a public CDN with proper headers, which sidesteps the "could not crawl image" class of rejection. For the design angle, how to make the rendered image actually lift performance rather than just pass policy, see AI-designed catalog images.
3. Product type, matching and structure together
product_typeis your own taxonomy, and it pulls double duty. A specific hierarchy (think "Posters > Space Posters > Apollo 11" rather than a flat "Posters") matches more queries, and it is one of the attributes listing groups can subdivide on. So a well-built product type both helps the algorithm match and gives you a structural lever later. Populate it from your category tree with a field rule; the goal is depth and specificity, not a tidy two-level summary.
4. Price and availability accuracy, the approval insurance
Price and availability show live in the ad, and they are the most common accuracy gate. Google fetches the landing page, reads the displayed price and stock state, and disapproves the product if either disagrees with the feed. The usual culprit is staleness: the feed cache lags a price change or a sell-out, and the product drops out of PMax until the next sync catches up. The feed-lane fix is refresh frequency, Emberfeed re-pulls the source hourly, which keeps the served values current. The other half is storefront-side and not a feed job: your product page's structured data has to expose the same price and availability the feed declares. The feed can be perfect and still get disapproved if the page contradicts it.
5. Identifiers, clearing the limited-performance warning
A branded product missing its gtin draws a limited-performance warning. Since late 2023 that is a warning, not a hard disapproval, so the product keeps serving, but with capped visibility in Shopping and PMax. Source GTINs from manufacturer data where you have them, and for genuinely identifier-less items (custom, handmade, DIY) set identifier_exists=false with a single conditional rule, which clears the warning across the whole catalog at once.
6. Custom labels, the campaign's handle on your feed
Custom labels do not change matching or CTR directly. What they do is let the campaign distinguish your products from one another: tag by margin, season, or performance tier, and your listing groups can prioritize bestsellers over clearance instead of pooling everything into one undifferentiated bucket. If the labels are empty, Google cannot tell your hero products from your dead stock. Writing them is a feed-lane act (a field rule keyed off margin or a bestseller flag); using them to steer budget is a campaign-lane decision. This is the cleanest example of the feed enabling a lever it does not itself pull.
Common feed mistakes that throttle PMax
The same handful of feed errors quietly cap most retail PMax accounts. None of them is a bidding problem, which is exactly why they get missed: people audit the campaign and never look at the feed.
- Thin, generic titles. Written for someone already on the product page, missing the brand, product type, and searched attributes that PMax needs to match. The biggest avoidable loss, and the cheapest to fix.
- Optimizing every SKU equally. The fast win is the top ~50 products by revenue, not a uniform pass across 10,000 SKUs. Front-load the work where the spend is.
- Images that fail policy or the size floor. A promotional overlay or a sub-500x500 image disapproves the product on Google, and disapproved means invisible to PMax. (Mechanics and fixes: the disapprovals guide.)
- Price or availability drift between feed and landing page. A mismatch is a disapproval, and the product stops serving until the values agree again.
- Missing GTIN or identifier_exists on branded products. A limited-performance warning that caps visibility without fully removing the product.
- Empty product_type and custom labels. The campaign cannot segment or prioritize, so every product competes in one flat pool and your bestsellers get no special treatment.
- Relying on auto-classification for google_product_category. The auto-classifier is rough on niche products and hurts matching; setting the category yourself is a cheap, durable improvement.
For the precise diagnostic name, severity, and per-error fix on any of these, the Google Shopping feed use-case page carries the required-fields list and image spec, and the disapprovals guide above carries the rejection codes.
The feed lane and the campaign lane
Here is the boundary as a single table. Everything on the left is feed work, the kind Emberfeed does. Everything on the right is a Google Ads decision that Emberfeed does not make, and cannot make for you.
| Feed lane (Emberfeed) | Campaign lane (not Emberfeed) |
|---|---|
| Rewrite titles: brand, type, attributes, front-loaded to spec | Bid strategy, target ROAS, daily budget |
| Render compliant images: above the size floor, no overlay on Google | Audience signals and search themes |
| Keep price and availability accurate via hourly refresh | Asset-group structure and listing-group decisions |
| Populate product_type and custom labels so the campaign can segment | Uploading extra video and headline creative |
| Fix gtin and identifier_exists to clear limited-performance warnings | Final URL expansion on or off, geo targeting |
| Serve per-platform image variants: clean for Google, promo for Meta | Conversion tracking and measurement setup |
The two lanes are not in competition; they compound. A flawless feed cannot rescue a campaign with no conversion tracking and a broken bid strategy. A brilliant bid strategy cannot rescue a feed where the hero products are disapproved on price and the titles read like internal SKU names. PMax can only spend well on products it can see, described in a way it can match, priced in a way it can verify. That part is the feed, and it is the part you control most directly.
Related
- How to fix the 20 most common Google Merchant Center disapprovalsA field guide to the rejections that account for the bulk of suspended Google Shopping listings. The cause, the manual fix, the bulk shortcut, and the canonical Emberfeed error page for each one.
- Google Merchant Center 2026: 4 spec-change deadlinesApril 14, 2026 brings new attributes. June 30 enables video display. September 30 makes EU/UK pickup-cost rules mandatory. January 31, 2027 enforces 500×500 image minimums on every product. What to ship before each deadline, plus the Emberfeed shortcut for catalog-wide changes.
- AI-designed catalog images: how feed-bound templates change Meta and Google adsMost catalog ads still ship the raw product photo. There is a better workflow: design one template, let AI suggest the layout, render every product on-demand. Here is what that costs, what it gets you, and where it falls down.
Ship better catalog ads this afternoon.
Free for 3 months on one feed up to 1,000 products. Connect your XML feed, design a template, paste the new URL into Meta / Google / TikTok.