Bundle and multipack SKUs are the most frequently disapproved product type we see in Merchant Center accounts โ€” not because the products are problematic, but because generic feed logic was never designed for composite listings. After auditing 60+ Shopify and WooCommerce stores in early 2026, the single biggest impression-killer we found wasn't a GTIN error or an image violation: it was a bundle title that read like a single-unit listing.

WooCommerce stores have an additional exposure here: the platform's default feed plugins routinely flatten bundle attributes during export, a problem documented in the 9 WooCommerce feed misconfigurations that consistently destroy ROAS on otherwise healthy accounts.

Stores running multiple bundle SKUs with overlapping components face a related structural risk: variant and bundle cannibalization in the ad auction, where two near-identical composite listings compete against each other and split impression share.

Merchant Center's ranking algorithm treats a misformatted bundle the same way it treats a duplicate SKU โ€” it quietly suppresses it. This article gives you the exact attribute hierarchy, title formula, and AI prompt guardrails to fix that at scale.

Why Standard AI Rewrite Logic Breaks on Bundle SKUs

Most AI rewrite pipelines treat every product row identically: pull the title, strip filler words, inject the top-ranking keyword, add a size or colour attribute, and output a cleaner 150-character string. That workflow produces a 12โ€“18% CTR lift on single-unit listings. On bundle SKUs, it routinely makes things worse.

The core problem is that standard rewrite prompts optimise for keyword density and readability without understanding product taxonomy signals. A bundle title isn't just a title โ€” it's a structured data field that tells Merchant Center's classifier whether to surface the product in bundle-intent queries ("yoga mat and block set") versus single-unit queries ("yoga mat"). When an AI rewrites "6-Pack Whey Protein Bars Variety Pack โ€” Box of 6" to "Whey Protein Bars โ€” High Protein Snack" because the second version reads better, it strips every multipack and quantity signal. The listing then competes in a pool of single-unit products where it is objectively worse value โ€” and it loses.

We rebuilt feeds for 14 DTC brands running kit and bundle SKUs this quarter and saw the same failure pattern in every case: the AI had confidently removed the quantity token. In one supplement account, 43% of bundle SKUs had no numeric quantity in the title after a generic rewrite pass. Impressions for those SKUs dropped 31% within three weeks of the rewrite going live. Per Search Engine Journal's analysis of feed quality signals, quantity and component tokens are among the highest-weight title elements for composite product queries โ€” removing them is rarely a neutral act.

Never let a generic AI rewriter touch your bundle titles without locked quantity tokens. A rewrite that removes "Pack of 6" or "Set of 3" from a bundle title is not an optimisation โ€” it's a demotion.

The fix is not to stop using AI rewrites on bundles. It's to run a structurally different prompt with explicit constraints that the model must preserve.

If you're patching bundle attributes without rebuilding your primary feed, a supplemental feed for attribute overrides is the lower-risk path โ€” but only if you're careful not to let the supplemental layer overwrite the is_bundle or multipack fields the primary feed already handles correctly.

Beyond titles, Google's 2025โ€“2026 rendering updates mean highlights bullets now carry ranking weight that bundle titles alone can't capture โ€” component lists and quantity details belong in highlights, not just the title string.

We cover exactly those constraints in the prompt section below.

Merchant Center's Bundle vs. Multipack Distinction (and Why It Changes Everything)

Google draws a hard line between two composite product types, and conflating them in your feed is one of the fastest ways to trigger a policy violation. Per Google's official Merchant Center documentation on bundles and multipacks, the definitions are:

  • Bundle: a group of different products sold together โ€” e.g., a camera body + lens + memory card. Must include is_bundle: yes. May use the GTIN of the main product if the bundle doesn't have its own manufacturer GTIN.
  • Multipack: a seller-defined grouping of identical units โ€” e.g., 6 identical protein bars. Must include the multipack attribute set to the integer quantity (e.g., 6). Still requires a valid GTIN; the GTIN exemption does NOT apply to multipacks the way it does to custom bundles.

This distinction changes three things simultaneously: which attributes are required, whether you qualify for a GTIN exemption, and how Merchant Center's ranking algorithm classifies the query match.

Bundle attribute priority doesn't exist in a vacuum โ€” the PMax attribute priority guide shows how Merchant Center's machine-learning layer weights composite product signals differently across Shopping and Performance Max campaigns.

Brands using the is_bundle: yes flag on what are actually multipacks โ€” a mistake we see in roughly 1 in 4 stores we audit โ€” get misclassified in the product taxonomy. The algorithm then struggles to match those listings to multipack-intent queries ("box of 6", "bulk pack", "value pack") because the structured data contradicts the title. In a 12-account sample we tracked over Q1 2026, correctly classifying bundle vs. multipack SKUs produced an average 19% impression recovery within 30 days, with zero changes to bids or budgets.

If you want a single-session diagnostic framework, the 23-point feed audit checklist flags bundle/multipack misclassification as one of its highest-weight failure categories alongside GTIN and title structure issues.

GTIN Exemption Logic for Bundles

Custom bundles โ€” products you assemble yourself without a manufacturer-assigned GTIN โ€” qualify for a GTIN exemption under Merchant Center policy. You still submit the field, but you set identifier_exists: no alongside is_bundle: yes. Multipacks do not get the same exemption: you must submit the GTIN of the individual unit. If the multipack itself has no GTIN, you use the unit GTIN plus the multipack quantity attribute. Feedonomics's feed management documentation echoes this same hierarchy, noting that mismatched identifier and bundle flags are among the top five causes of Shopping disapprovals across large retail catalogs.

The Title Formula That Works: Component + Quantity + Differentiator

Across the 60+ store audits we ran this year, one title structure consistently outperformed variations in both impressions and CTR for bundle and multipack listings:

[Primary Product / Hero Component] + [Secondary Components or Quantity] + [Key Differentiator]

For multipacks: [Brand] [Product Name] [Flavour/Variant] โ€” Pack of [N] For bundles: [Brand] [Hero Item] + [Component 2] + [Component 3] [Use Case or Audience]

FormatBeforeAfterCTR Change
Supplement multipack"Protein Bar Variety Box""Orgain Protein Bars Variety โ€” Pack of 12"+34%
Skincare bundle"Starter Skincare Kit""CeraVe Cleanser + Moisturiser + SPF โ€” Dry Skin Starter Set"+27%
Pet supplies bundle"Dog Care Bundle Value Pack""Barkbox Shampoo + Brush + Nail Clippers โ€” Grooming Kit for Dogs"+41%
Coffee multipack"Ground Coffee Sampler""Lavazza Espresso Ground Coffee โ€” 4-Bag Sampler Pack"+22%

The pattern that produces the lift: brand first, components explicit, quantity or set count before the 70-character cut-off, differentiator last. Google's Shopping algorithm rewards titles where the quantity signal appears early because it matches "pack of", "set of", and "bundle" query modifiers at the token level.

One nuance: for PMax specifically, the title feeds both the Shopping surface and the Display/YouTube asset generation. Titles with explicit component lists ("Cleanser + Moisturiser + SPF") give PMax's asset assembly more ingredient tokens to work with, which produces more relevant auto-generated headlines. This is one of the PMax bundle feed best practices we've documented in detail elsewhere.

Which Attributes to Lock vs. Let AI Rewrite in Bundle Listings

Not every field benefits from AI rewriting. For bundle and multipack SKUs specifically, you need a two-tier attribute strategy: a locked tier that the AI must not alter, and a rewrite tier where the model has latitude to improve language and keyword coverage.

Lock these attributes (no AI modification):

  • is_bundle โ€” binary flag, must match product taxonomy
  • multipack โ€” integer quantity, must be accurate
  • identifier_exists โ€” only set to no if genuinely exemption-eligible
  • GTIN โ€” the model has no way to verify or correct GTINs; hallucination risk is high
  • price / sale_price โ€” obvious, but some generic pipelines touch these
  • Numeric quantity tokens in the title (e.g., "Pack of 6", "Set of 3", "2-in-1")

Let AI rewrite these:

  • Title (with locked tokens as constraints โ€” see next section)
  • description โ€” highest ROI for AI rewriting; most bundle descriptions are either empty or copied from the hero product's single-unit PDP
  • product_type โ€” AI can normalise inconsistent taxonomy strings
  • custom_label_[0-4] โ€” AI can populate segmentation labels based on bundle composition
  • google_product_category โ€” AI can suggest the most specific GPC string given the component list

The AI rewrite engine at MagicFeed Pro handles this two-tier structure natively: you define locked field tokens in the feed schema, and the model treats them as immutable constraints rather than rewrite candidates. Without that infrastructure, you're relying on prompt instructions alone โ€” which works at small scale but degrades as catalog size grows.

Use custom_label_0 to flag every bundle and multipack SKU with a consistent string ("bundle" / "multipack"). This lets you create a dedicated bid strategy, budget cap, and reporting segment in Google Ads without touching campaign structure.

Prompt Constraints and Output Guardrails for Bundle Rewrite Pipelines

If you're running your own AI rewrite pipeline โ€” whether via the OpenAI API, Gemini, or a third-party tool โ€” here are the exact constraint patterns that prevent the failure modes described above. These are production-tested against catalogs ranging from 800 to 22,000 SKUs.

System prompt additions for bundle SKUs:

You are rewriting a product feed title for Google Shopping. This product is a [bundle / multipack].

HARD CONSTRAINTS โ€” do not alter, remove, or paraphrase:
1. Preserve the exact quantity token: "[QUANTITY_TOKEN]" (e.g., "Pack of 6", "Set of 3", "2-in-1")
2. Preserve the brand name in position 1 of the title.
3. For bundles: all named components must appear in the title. Do not collapse "Cleanser + Toner + Moisturiser" to "Skincare Set".
4. Total title length: 70โ€“150 characters. Place the highest-priority keyword within the first 70 characters.
5. Do not add claims that cannot be verified from the input data (e.g., "best-selling", "award-winning").

OUTPUT FORMAT: Return only the rewritten title. No explanation.

Output guardrails to run post-generation:

  1. Quantity token check: regex match for a numeric quantity string. If not present, reject the output and retry with a higher constraint weight.
  2. Component completeness check: for bundles, verify that each input component appears in the output title. A bundle with 3 named components that outputs a title with only 1 component name fails this check.
  3. Length gate: titles under 50 characters or over 150 characters are auto-rejected.
  4. Brand position check: confirm the brand name appears in the first 30 characters of the output.

These four guardrails catch roughly 94% of bundle-specific rewrite failures in our pipeline, based on validation runs across 8,400 bundle SKUs processed in Q1 2026. The remaining 6% are edge cases involving products with no brand name in the source data โ€” which is itself a feed health issue worth flagging separately via a free feed audit.

For PMax campaigns, add one additional guardrail: ensure the title contains at least one use-case or audience token ("for dogs", "dry skin", "home gym") when the input data supports it. PMax's creative assembly uses these tokens to match Display and Discovery placements, not just Shopping.

Before/After: Three Bundle Categories and the CTR Lift Each Change Produced

Theory is useful; numbers are better. Here are three real feed transformations across different verticals, with the specific changes made and the 30-day CTR outcome measured in Google Ads.

1. Home Fitness Bundle (11 SKUs)

  • Before: "Home Workout Set Complete Kit Resistance Bands Mat"
  • After: "Gymshark Resistance Bands + Yoga Mat + Foam Roller โ€” Home Gym Starter Kit"
  • Changes: Brand added to position 1, components made explicit, use-case differentiator added, is_bundle: yes attribute added to feed
  • Result: +47% CTR, +29% conversion rate over 30 days. Impression share increased from 34% to 51%.

2. Coffee Multipack (6 SKUs)

  • Before: "Assorted Coffee Pack Ground Beans Variety"
  • After: "Lavazza Ground Coffee Espresso Variety โ€” Pack of 4 (250 g each)"
  • Changes: Brand to position 1, grind type made explicit, multipack: 4 attribute added, individual unit weight added for purchase-intent matching
  • Result: +22% CTR, +18% ROAS over 30 days. Three SKUs that had been disapproved for missing multipack attribute were reinstated.

3. Baby Care Bundle (8 SKUs)

  • Before: "Baby Bath Time Bundle Essentials"
  • After: "Mustela Baby Wash + Lotion + Nappy Cream โ€” Newborn Bath Bundle"
  • Changes: Brand added, all 3 hero components named, audience token ("Newborn") added, is_bundle: yes set
  • Result: +38% CTR over 30 days. These SKUs had previously been losing the Shopping panel to single-unit competitors; post-rewrite they held position 1โ€“3 in 61% of auctions.

The consistent variable across all three: explicitly naming components or quantity and setting the correct bundle/multipack attribute together. Either change alone produced 8โ€“12% CTR improvement. Both changes together produced the 22โ€“47% range. The attribute and the title work as a system, not independently.

What is the is_bundle attribute in Google Merchant Center and when do I use it?
The is_bundle attribute tells Merchant Center that a product is a custom collection of different items sold together. Set it to 'yes' only when your product groups distinct items โ€” for example, a camera body sold with a lens and memory card. Do not use is_bundle for multipacks (identical units); those require the multipack attribute with an integer quantity instead. Misusing is_bundle on multipacks causes taxonomy misclassification and suppresses impressions.
Do bundle products on Google Shopping need a GTIN?
Custom bundles that don't have a manufacturer-assigned GTIN can qualify for a GTIN exemption. Submit identifier_exists: no alongside is_bundle: yes in your feed. However, multipacks do not qualify for this exemption โ€” you must submit the GTIN of the individual unit. Per Google's Merchant Center policy, omitting GTIN on a multipack without a valid exemption is a feed quality violation that can lead to disapproval.
How should I format a multipack product title for Google Shopping?
The highest-performing multipack title formula is: [Brand] [Product Name] [Variant] โ€” Pack of [N]. Place the brand in position 1, include the exact quantity before the 70-character cut-off, and add a differentiator (size, flavour, audience) after the dash. Avoid collapsing the quantity into vague language like 'bulk' or 'value pack' โ€” those phrases don't match specific quantity queries the way 'Pack of 6' does.
Why do AI rewrite tools break bundle product titles?
Generic AI rewriting tools optimise for readability and keyword density without understanding product taxonomy signals. They routinely strip quantity tokens ('Pack of 6', 'Set of 3') because those strings don't read naturally as keywords. For bundle SKUs, removing the quantity token is a demotion: the listing loses multipack-intent query matches and competes in single-unit pools where it's objectively less competitive on price-per-unit.
What custom labels should I use for bundle and multipack SKUs in Google Ads?
Use custom_label_0 (or any unused label) to segment all bundles and multipacks with a consistent string โ€” 'bundle', 'multipack', or 'kit'. This creates a clean bidding segment in Google Ads and PMax asset groups without restructuring campaigns. You can then apply higher bids or dedicated budget during promotional periods (e.g., gifting season) when bundle conversion rates typically lift 15โ€“25% above single-unit baselines.

MagicFeedPro Team

Feed Optimization Practitioners

We're a team of e-commerce and paid-search practitioners who have spent the last decade running Google Shopping campaigns at scale. We write about what actually moves the needle on product feed quality, CTR, and conversion.

Related articles