Home Articles How to Segment Your Product Feed for Creative A/B Testing How to Segment Your Product Feed for Creative A/B Testing Published Date: 22 Sep, 2026 Most product feeds carry exactly one image reference, one title and one description per SKU. That single row is also what Performance Max and Meta's catalog ads use to decide what creative a shopper sees. If your feed has no way to say "this is a bestseller" or "this is a clearance item" separately from "this is just another SKU," neither platform has anything to test against — every product gets the same treatment, and "which creative converts better for which segment" stays a guess. Google's own documentation on managing Performance Max with listing groups caps listing groups at 1,000 per asset group and explicitly warns that going past that hurts performance, which tells you the intended pattern is a handful of deliberate segments, not one per SKU. This guide walks through building that segmentation into your feed, wiring it into Performance Max asset groups and Meta product sets, and running a creative test you can actually read the results of. It is for feed and paid media teams running catalog ads on Google and Meta who want segment-level creative control, not just segment-level bidding. Why most feeds can't support a real creative test Performance Max and Shopping campaigns already let you subdivide a feed by attribute inside a listing group filter — brand, category, item ID, condition, channel, or a custom attribute. Google's Listing Groups for Retail API documentation lists these as distinct ListingDimensionInfo types, and it notes plainly that "Custom Attribute in Google Ads is the equivalent of Custom Label in Google Merchant Center." In other words, custom_label_0 through custom_label_4 are the only fields in a standard product feed built specifically for you to define your own groupings — not Google's taxonomy, not a scraped attribute, a label you write. The catch is that listing groups only control which products appear where. To show different creative to different segments, Google's retail Performance Max documentation is explicit: "you should only target a certain set of products from an asset group — for example, Products A-L would be in Asset Group 1 and Products M-Z would be in Asset Group 2," and each asset group carries its own set of creative assets. One asset group cannot show two different headlines or images to two different product segments. Two asset groups, each scoped to a segment via a listing group filter, can. That's the entire mechanism a creative test rests on, and it depends on your feed having a segment worth testing in the first place. Step 1 — Decide what a segment means for your catalog Before touching a feed field, define the axis you actually want to test creative against. In our work with catalog advertisers, three axes account for most of the useful tests: Merchandising tier — bestseller, new arrival, clearance, evergreen. Tests whether urgency- or discovery-framed creative outperforms plain product shots. Category or use case — e.g. "outerwear" vs. "accessories," or "gifting" vs. "everyday." Tests whether a lifestyle image beats a studio shot for a given category. Margin or price tier — premium vs. entry-level. Tests whether a more polished, higher-production creative changes conversion rate on higher-AOV items enough to justify the production cost. Pick one axis for the first test. Testing two axes at once means you can't attribute the result, and it also multiplies your asset-group count past what most accounts can manage cleanly. Step 2 — Write the segment into the feed Google Merchant Center Help specifies custom_label_0–4 as optional, freeform string fields, "1–100 characters, up to 1,000 unique values account-wide for each custom label attribute," not case sensitive, one value per attribute per product. That's generous enough to encode a full taxonomy across five slots without hitting a ceiling. A before/after example for a single SKU, assuming you're testing the merchandising-tier axis: FieldBeforeAfter idWM-4471-BLK-MWM-4471-BLK-M titleWool Blend Coat — Black, MWool Blend Coat — Black, M custom_label_0(empty)bestseller custom_label_1(empty)outerwear custom_label_2(empty)creative-test-a That last row matters: reserve one label slot purely for the test assignment (creative-test-a / creative-test-b) rather than overloading your merchandising label to also carry the test group. It keeps the listing group filter you'll build in Step 3 unambiguous, and it means you can end the test and clear one field without touching your permanent segmentation logic. Step 3 — Map segments to Performance Max asset groups With the label written, build one listing group filter per test cell and assign each to its own asset group. Google's Listing Groups for Retail documentation gives a worked example of subdividing first by ProductCondition, then by ProductBrand within the "Other" branch — the same tree logic applies to a custom label split: Listing group filterAsset groupCreative assigned custom_label_2 = creative-test-aOuterwear — Test ALifestyle imagery, benefit-led headlines custom_label_2 = creative-test-bOuterwear — Test BStudio product shots, price-led headlines Everything elseCatch-allExisting default creative Google Ads Help's guidance on asset group best practices is worth repeating here: keep the total listing groups per asset group well under the 1,000 cap, since "a large number (>1K) of listing groups is not a best practice, and your performance may suffer." A two- or three-cell test is nowhere near that limit, but it's the reason to resist the urge to spin up a listing group for every custom label value you own — segment for the test, not for the sake of it. One caveat worth stating directly: this reshapes what creative a segment sees, not what you bid for it. Feedance doesn't set or adjust bids, and nothing in this workflow touches bid strategy — Performance Max still runs its own automated bidding across whatever asset groups and listing groups you define. Step 4 — Mirror the same segments as Meta product sets Meta's Advantage+ catalog ads use product sets — saved filters over your catalog fields — to scope which products a given ad or creative treatment applies to, the same underlying idea as a Google listing group filter. If you've already written custom_label_2 into the feed for the Google test, the same field is available to build a matching product set filter in Meta's catalog tools, so both platforms are testing the same product population at the same time. Meta's public documentation on Advantage+ catalog ads is less specific than Google's about exactly how granular per-set creative controls are — that's a real gap in what's publicly documented, not something we're going to paper over with a confident-sounding claim. Confirm in your own Ads Manager account what creative-level controls (overlays, frames, template variants) are available per product set before you commit a test plan to both platforms simultaneously. Step 5 — Design the creative variants per segment Once the feed and the campaign structure agree on what a segment is, the creative itself needs to actually vary in the dimension you're testing — not just swap a logo position. If you're testing merchandising tier, that typically means two template variants: one built around urgency and social proof copy pulled from feed fields (availability, a "bestseller" flag), one built around plain product presentation. Generating both from the same feed rows, rather than hand-designing two full creative sets, is what keeps a segment-level test affordable — this is the specific case where a feed-driven creative tool (HTML5 creative and image creative generated per row) earns its keep, because the two variants differ in treatment but pull from identical underlying data. Step 6 — Close the loop A creative test without a read-out is just a campaign restructure. Track performance per asset group (Google reports natively at that level) for at least one full purchase cycle before calling a winner, then fold the result back into your permanent custom label taxonomy rather than leaving two indefinite test asset groups running. If you need a methodology for isolating whether a feed-side change actually moved ROAS versus normal account variance, we've written that up separately in measuring the ROAS impact of a feed change; the same discipline applies here. For a broader custom label strategy beyond creative testing — segmenting for bid signals and reporting rather than creative — see our guide to Google custom labels. What this doesn't cover This is a feed-structure and campaign-mapping guide, not a statistics course: it doesn't tell you how to size a test for significance, and for accounts with thin traffic per segment, a formal experiment platform will get you a trustworthy result faster than manually eyeballing two asset groups. It also doesn't cover TikTok Shop, which has no public equivalent to Google's listing-group-to-asset-group creative mapping at the time of writing. And if your test matrix needs more than two axes and dozens of live variants at once, a dedicated creative-testing and multivariate platform — something closer to what Marpipe is built for — will manage that complexity better than feed labels and asset groups alone. Feedance's job in this workflow is making sure the feed data and the generated creative stay accurate and in sync across however many segments you define; it is not a bid management or experiment-design tool. FAQ Do I need a separate custom_label just for creative testing, or can I reuse an existing one? Use a dedicated slot. Google Merchant Center gives you five custom label fields per product, and reusing one that already drives bidding or reporting logic makes it hard to tell whether a performance change came from the test or from whatever else that label controls. How many asset groups can one Performance Max campaign have? Google's own guidance focuses on keeping listing groups per asset group well under the 1,000-item cap rather than publishing a hard cap on asset group count, but every additional asset group adds management overhead. Two to three per test is enough to isolate a result without fragmenting the campaign. Will this hurt Performance Max's machine learning if I split traffic across more asset groups? Google's asset group best-practice guidance generally favors fewer, broader asset groups for volume. That's a real tradeoff against running a segment-level creative test, which is why this is meant for a defined test window with a clear end date, not a permanent account structure. Can I run this same test on Meta and Google at the same time? Yes, if the same custom_label field is available to both platforms' catalog tools, since both use a filter over catalog fields to define the audience for a given creative treatment. Confirm Meta's current creative controls per product set in your own account first — the public documentation doesn't spell out that granularity as clearly as Google's does. What if I only have a few hundred SKUs — is segmentation still worth it? Only if each segment still has enough impression and conversion volume to produce a readable result inside a normal reporting window. Below roughly a few dozen SKUs per segment, a full creative test is unlikely to reach a trustworthy sample size, and a smaller-scale qualitative comparison will serve you better. Does Feedance manage the bidding for these asset groups once they're set up? No. Feedance manages the feed data and generates the creative assets from it; bid strategy and budget allocation inside Performance Max or Meta Ads Manager stay with the advertiser. What happens to the test asset groups after the test ends? Fold the winning treatment back into your default creative, remove the test-specific custom_label value from the feed, and either delete the losing asset group or repurpose it for the next test axis rather than leaving duplicate, unmanaged asset groups live in the account. Do I need this level of segmentation for every category I sell? No — start with the category or tier that has the highest spend and the most ambiguous creative decision behind it. Segmentation has a maintenance cost every time the feed updates, so it should be reserved for products where the creative answer genuinely isn't obvious yet. Want to see how Feedance generates and syncs creative variants per feed segment without manual design work for each one? Request a walkthrough of the Creative Suite. Prev Article Getting Your Product Feed Accepted on Akakçe, Cimri, N11 and ÇiçekSepeti Related to this topic: How Bilyoner Ran Catalog Ads for the First Time and Lifted ROAS by 49% 15 Aug, 2026 How Note Cosmetics Increased ROAS by 127% — While Spending 10% Less 15 Aug, 2026 How Vivense Lifted ROAS 32% by Not Advertising Products It Couldn't Sell 15 Aug, 2026