Custom Labels for Shopping Campaign Segmentation
How to use Merchant Center's five custom label fields to segment Performance Max and Shopping campaigns by margin, season, or bestseller status.
Written by Mantas Jurgutis — Founder, Adsify — builds the Google & Meta automation merchants use daily
Editorially reviewed by Adsify Editorial on March 26, 2026 — Reviewed against Shopify, Google Ads and Meta official documentation.
What custom labels actually are
Google's product feed specification includes five optional attributes — custom_label_0 through custom_label_4 — that carry no meaning to shoppers and no ranking weight in search; they exist purely so advertisers can group products for reporting and bidding logic inside Google Ads. Each label holds a short text string per product, and you can filter or segment campaigns using these values without changing anything customers see.
This matters more with Performance Max than with legacy Shopping campaigns, because Performance Max removes granular keyword-level control and leans on the feed and asset groups to communicate structure to Google's automated bidding. Custom labels are one of the few remaining levers merchants have to tell the system 'these products are different from those' inside a single campaign.
Common segmentation patterns
A typical setup uses custom_label_0 for margin tier (high/medium/low), custom_label_1 for seasonality (spring, summer, holiday, year-round), custom_label_2 for bestseller status (top-seller, standard, clearance), custom_label_3 for price tier (under-25, 25-75, 75-plus), and custom_label_4 for a promotional flag (new-arrival, sale, discontinued). None of these are Google-mandated categories — the label names and values are entirely up to you, since Google just stores whatever string you send.
Setting values from Shopify
Shopify's native Google & YouTube channel doesn't expose direct custom label mapping in its basic settings; custom labels are more commonly populated by tagging products with a consistent Shopify tag (for example custom-label-0:high-margin) and using a feed rule or a feed management app to map that tag into the corresponding feed column. If you're on Google's Content API or a supplemental feed workflow, you can set the values directly per product ID without touching the primary feed.
A practical Shopify pattern: create product tags following a strict naming convention like margin:high, season:holiday, bestseller:yes. A feed rule (in Merchant Center Next's rules editor, or a third-party feed app) reads the tag prefix and writes the value after the colon into the matching custom label column. This keeps segmentation logic visible to whoever manages product tagging in Shopify admin, rather than buried in a spreadsheet only one person understands.
Using labels inside Performance Max
Once labels are in the feed, Performance Max campaigns can use the 'listing group' filters inside the asset group or campaign-level product feed filter (accessed via the campaign's Product feed section in Google Ads) to include or exclude products by custom label. This lets you run a dedicated high-margin campaign with a higher target ROAS, separate from a clearance campaign that tolerates lower ROAS to move inventory.
In standard Shopping campaigns, custom labels appear as a subdivision option in the product groups tree under Campaigns > Product groups. You can subdivide an 'All products' node by custom_label_0, then set different bids or exclude a subgroup entirely — for example, bidding down or excluding a 'clearance' label group so budget isn't spent chasing discontinued inventory that's about to sell out anyway.
Reporting without campaign changes
Even before changing bidding structure, custom labels are useful purely for reporting: the Google Ads Shopping reports and Merchant Center's Best Sellers-adjacent product performance views let you filter or pivot by custom label, so you can see conversion rate or ROAS by margin tier or season without exporting every SKU manually and matching it in a spreadsheet.
Keeping labels fresh
Custom labels are static feed attributes — they don't update automatically as, say, a product moves from 'new-arrival' to 'standard' after 60 days on the shelf, or as bestseller status shifts week to week based on sales velocity. If you're setting values via Shopify tags, this means someone (or a scheduled automation) needs to update tags periodically, otherwise labels become stale and segmentation decisions get made on outdated groupings.
Avoiding overlap and gaps
A frequent mistake is leaving custom labels blank for a large share of the catalog, which then falls into an implicit 'unlabeled' bucket that campaign structure doesn't explicitly account for. When subdividing a Shopping campaign by custom label, always check the 'everything else' node Google creates for unlabeled or unmatched products, since it can silently absorb a large chunk of spend with no explicit bid strategy applied.
Combining labels with product type or category
Custom labels work best as a layer on top of, not a replacement for, Google's product_type and google_product_category attributes. Use category attributes for what the product is, and custom labels for how you want to treat it strategically. Structuring a campaign purely by custom label without category context can produce asset groups that mix unrelated product types, which weakens Performance Max's ability to match creative assets to relevant search themes.
A worked example
Say a store has 400 SKUs, with 60 tagged bestseller:yes generating an assumed 40% of total ad-attributed revenue. Splitting those 60 into a dedicated Performance Max campaign with a lower target ROAS constraint (because they're already efficient) while leaving the remaining 340 in a broader campaign with a stricter ROAS goal is a direct, low-effort application of a single custom label — no new creative or landing pages required, just a feed filter and a second campaign.
How Adsify uses this
Adsify's optimizer, which runs every six hours, can incorporate custom label segments into its profit/POAS calculations so margin-tier campaigns are evaluated against different profitability targets rather than one blended ROAS goal across a whole catalog.
Custom labels cost nothing to add and don't affect approval or policy compliance, which makes them one of the lower-risk feed changes available — unlike GTIN or price attributes, getting a custom label wrong doesn't cause a disapproval, only a segmentation mistake you can fix by editing a tag and re-syncing the feed.
