Attribute Guide
Google Shopping Custom Label Attribute: Campaign Segmentation Guide (0–4)
Complete guide to custom_label_0 through custom_label_4 in Google Merchant Center. How all 5 label slots work, top segmentation strategies for bidding and…
Products segmented by margin + season
Each segment has the right bid. Margin-driven, performance-aware, seasonally adjusted — without touching product data.
All products in one product group
High-margin products get the same bid as loss-leaders. Seasonal bestsellers are capped by average-performers. No way to separate promotions from full-price items. Blind bidding.
Custom labels are invisible to shoppers — they exist solely to give your Google Ads campaigns a way to slice the product catalog into meaningful groups for bidding, budgeting, and reporting. Five independent slots (0–4) let you layer multiple segmentation dimensions simultaneously on every product.
What are custom labels?
Custom labels (custom_label_0 through custom_label_4) are five optional free-text attributes in Google Merchant Center that let you attach your own internal categorization to products. They are never shown to shoppers — they exist exclusively to give your Google Ads campaigns a structured way to segment your product catalog for bidding, budgeting, exclusion, and reporting.
Without custom labels, Google Ads campaigns can only segment products by the standard attributes Google knows — category, brand, product type, item ID, and condition. These are useful but often don’t reflect the dimensions that actually drive smart bidding decisions in your business: margin, seasonality, promotional status, sell-through rate, or competitive positioning. Custom labels bridge that gap by letting you bring your business logic into your campaign structure.
Technical specifications
| Feed names | custom_label_0, custom_label_1, custom_label_2, custom_label_3, custom_label_4 |
| Required | Optional |
| Max length per label | 100 characters |
| Max unique values per slot | 1,000 |
| Total slots | 5 (independent — each can have a different value) |
| Format | Free-text string; no restricted vocabulary |
| Shopper visibility | Not visible — internal use only |
| Campaign applicability | Shopping campaigns, Performance Max, Dynamic Remarketing audiences |
Where custom labels are used
-
Shopping Campaigns — product group segmentation: The core use case. In Standard Shopping campaigns, you can subdivide product groups by custom label, creating separate bidding tiers within one campaign. For example, one campaign subdivided by
custom_label_0(margin tier) gives you distinct CPC bids for high-margin vs. low-margin products without maintaining separate campaigns. -
Performance Max — listing group filters and asset group signals: In PMax campaigns, custom labels let you define listing groups (product subsets) and use label values as signals when creating asset groups. This is one of the primary mechanisms to maintain some segmentation control in a campaign type that otherwise runs almost fully automated.
-
Google Ads — reporting filters: In Google Ads reports, you can filter and segment performance data by custom label values. This lets you see ROAS, cost, and conversion data broken down by your own business dimensions (e.g., ROAS by margin tier, spend by promotional status) without needing to build separate campaigns.
-
Merchant Center — product filtering: Custom labels are available as filter fields in Merchant Center’s product list view, making it easier to audit which products carry which labels and spot missing or incorrect values.
Rules
-
100 characters maximum per label value — Values exceeding this are truncated without warning.
-
Maximum 1,000 unique values per slot — Use categorical values (e.g., “high / mid / low”) not unique identifiers. Values beyond 1,000 are silently ignored.
-
No restricted vocabulary — Unlike most GMC attributes, Google imposes no requirements on what values you use. Any string within the character limit is valid.
-
Five independent slots — You can use all five simultaneously on a single product. Each slot is independent; values in one slot have no effect on others.
-
Not inherited — Custom labels are not inherited from parent products to variants. Each variant in a product group must have its own label values if labels are being used for that product family.
Best practices
The five-slot framework: one dimension per slot
Assign each slot a single, consistent business dimension and document it in your team playbook. A recommended starting framework:
| Slot | Dimension | Example values |
custom_label_0 | Margin tier | margin_high, margin_mid, margin_low, margin_negative |
custom_label_1 | Seasonality | evergreen, seasonal_peak, seasonal_off, christmas, summer |
custom_label_2 | Promotion/price status | full_price, on_sale, clearance, bundle_deal, promo_15pct |
custom_label_3 | Performance bucket | top_performer, normal, underperformer, new_product |
custom_label_4 | Price tier / strategic | price_under20, price_20_50, price_over50, hero_product |
Top 5 segmentation strategies
-
Margin-based bidding — Tag each product with its gross margin tier. Bid aggressively on high-margin products where a higher CPA is still profitable, and conservatively (or exclude) on negative-margin products. This alone typically improves blended ROAS by 15–30% for catalogs with wide margin variance.
-
Seasonality labels — Identify which products have predictable seasonal demand spikes. Apply a “seasonal_peak” label before the window opens, then set higher bids or budgets for that group during peak weeks. Use “seasonal_off” to automatically suppress or reduce bids out of season without deleting products.
-
Performance bucket rotation — Monthly, pull Google Ads data and classify each product: top 20% by ROAS = “top_performer”, bottom 20% = “underperformer”, rest = “normal”. Adjust bids by tier and update the supplemental feed. This creates a self-reinforcing optimization loop — top performers get more spend to grow further.
-
Promotional status tracking — Mark products with an active sale or promotion as “on_sale” and clearance items as “clearance”. Clearance items often have lower margins and don’t need aggressive bids — their job is sell-through, not ROAS optimization. Full-price items should have higher bids to protect margin.
-
New product launch support — Tag new products as “new_product” for the first 4–8 weeks. Create a separate campaign or ad group for this label with slightly elevated bids and broader match to gather early performance data. After 4 weeks, reclassify into the standard performance bucket.
Using supplemental feeds for dynamic labels
The fastest and most maintainable way to manage custom labels is via a supplemental feed containing only id and the custom label columns. This feed can be refreshed independently of your main product feed — critical for sale/promotion labels that change daily. Your main feed keeps the stable labels (margin, price tier), while the supplemental feed handles the dynamic ones (promo status, performance bucket).
Impact on performance
-
Bidding precision — The single biggest impact of custom labels is the ability to bid each product at its true value to your business, not at a blended average. Catalogs that implement margin-tier bidding consistently outperform flat-bid catalogs by a significant margin because they stop over-spending on low-value products and under-spending on high-value ones.
-
Budget efficiency — With custom labels you can isolate top-performing product segments into separate campaigns and give them uncapped budgets, while capping spend on underperformers. Without labels, budget is shared across the entire catalog, often going disproportionately to products with high impression share but low conversion value.
-
Seasonal spike capture — Seasonality labels enable pre-scheduled bid adjustments tied to known demand windows, capturing high-conversion traffic during peak periods that flat bidding would miss due to slow Smart Bidding adaptation.
-
Reporting clarity — Custom label segmentation turns Google Ads performance reports from a flat product list into structured business intelligence — spend by margin tier, ROAS by seasonal category, cost per conversion by promotion status. This data directly informs inventory, pricing, and merchandising decisions.
Common mistakes
-
Using unique product IDs or dynamic strings as label values — this quickly hits the 1,000-value limit and makes campaign segmentation impossible
-
Assigning no meaning to slots and using them inconsistently across the team — results in conflicting labels and unusable segmentation
-
Never updating labels after initial setup — margin changes, new promotions, and seasonal cycles make stale labels actively misleading
-
Applying the same label value to every product in a slot — a slot where everything is “normal” adds no information and wastes a slot
-
Using custom labels in place of proper campaign structure — labels are for product segmentation within a campaign, not a substitute for separating distinct strategies into distinct campaigns
-
Forgetting that label values are case-sensitive in Google Ads product group filters — “Margin_High” and “margin_high” are treated as different values
Pro tips
-
Build a label management script — Automate custom label assignment from your ERP or BI tool. A weekly script that pulls margin data, sale flags, and performance metrics from your data warehouse and outputs a supplemental feed with updated custom labels eliminates the manual update burden entirely and ensures labels are always current.
-
Use underscores, not spaces, in label values — “margin_high” is cleaner to filter on in Google Ads than “margin high”. Consistent formatting also prevents accidental duplicate values from spacing differences.
-
Document your slot assignments in a shared team doc — Custom labels only deliver value if the whole team knows what each slot means. A simple table (slot → dimension → valid values → update frequency) prevents chaos when campaigns are handed over or new team members onboard.
-
In Performance Max, create separate asset groups per custom label value — Pair each label segment with tailored creative: high-margin hero products get premium lifestyle imagery and strong copy; clearance products get direct price-focused creative. Label-based asset groups give PMax the context it needs to optimize creatives toward the right audiences.
Frequently asked questions
What are custom labels and who sees them?
custom_label_0 through custom_label_4 are five free-text attributes you can attach to products in your Google Merchant Center feed. They are completely invisible to shoppers — they never appear in Shopping ads or listings. Their only purpose is to allow you to segment your product catalog in Google Ads campaigns for bidding, budgeting, reporting, and exclusion. Think of them as internal tags that travel with your product data into your ad campaigns.