How Feed Labels Help Optimize Your Campaigns
Feed labels help you optimize because they let you group products by your own criteria - margin, bestseller, season, stock, price - and then give each group a different budget, targets and strategy. In short: they turn a flat feed, where every product is equal, into a structure you can control.
Feed labels (or custom labels) are the attributes custom_label_0 through custom_label_4 in your product feed. You fill them with values of your choice - margin band, season, bestseller status - so you can group products and treat them differently in campaigns.
The problem with a “flat” feed
Without labels, Google sees your catalog as a pile of equal products. It doesn't know which ones bring profit, which are bestsellers, which are seasonal or which are still in stock. So it treats them all the same and pushes budget toward whatever generates cheap clicks - rarely toward what matters to you. Feed labels are how you give it the business context it's missing.
In practice: if you have 2,000 products with no labels, they all compete for the same budget, in the same pot. A 20 RON accessory and an 800 RON hero product are treated identically - and since the algorithm has no priority signal, it allocates budget by what gets the most clicks, not by what brings you the most money.
What you can label
Almost any criterion that's relevant to your business can become a label. Each one unlocks a different optimization lever:
| Label (example) | You group by | How it helps optimization |
|---|---|---|
margin_high | Margin band | Targets and budget set on profit, not revenue |
bestseller | Top sellers | Priority budget on what reliably converts |
season_winter | Seasonality | Start and stop at the right time |
low_stock | Stock level | Cut budget on what's almost sold out |
price_premium | Price range | Separate strategies for premium vs entry |
new_product | Launches | Push new arrivals with a dedicated budget |
clearance | Clearance | Aggressive bidding to clear out stock |
And you can go further: heavy products with high shipping costs, priority brands with a co-funding agreement, or products with a high return rate - each deserves a separate bidding approach, if you can isolate it with a label.
You don't have to use them all. You have five slots - ideally you assign them to the criteria that actually change your decisions: usually margin, season and performance cover most situations.
The real power comes from combining them: a group that is both profitable and a bestseller is exactly the one you want to scale most aggressively - while a group with low margin and surplus stock can only be pushed hard until it's cleared out. Without labels, these groups don't even exist.
How labels turn into optimization
A label on its own does nothing. The value comes when you use it to make different decisions per group:
- Structure. Split campaigns or asset groups by label, so each segment is managed separately.
- Budget. Allocate more where there's profit or high intent, and cap it where it isn't worth it.
- Bidding. Set different tROAS targets - relaxed for high margin and bestsellers, strict for low margin.
- Exclusion. Remove sold-out, unprofitable or unsuitable products from campaigns without touching the rest.
- Reporting. See performance by segments that make sense for the business, not just generic categories.
The key is that all these decisions start from a single data layer - the labels in your feed. Change a label and the effect spreads instantly to every campaign that uses it, without going through each one separately.
A feed without labels is a list. A feed with labels is a strategy.
How to implement labels
You fill in the values directly in your main feed, in the custom_label_0–custom_label_4 attributes. If you can't edit the main source, you add them through a supplemental feed in Google Merchant Center, which injects them based on the product ID.
The most important detail is keeping them updated. A label like low_stock or bestseller only makes sense if it's recalculated often, based on current data. That's why dynamic labels - generated automatically from price, stock and sales - beat static labels set once by a wide margin.
For example, a rule can automatically tag any product with fewer than 5 units in stock as low_stock, and when stock is replenished, the label disappears on its own. You set the logic once, and the feed maintains itself with no manual work.
margin_high, not “high” one time and “large” another). That way you can combine labels - for example high margin + bestseller - without them getting mixed up.Common mistakes
Labels are powerful, but easy to misuse. The most common problems:
What to avoid
- Static labels - you set them once and never update them when stock, price or sales change.
- Inconsistent values - the same idea written ten different ways, impossible to filter.
- Too much granularity - dozens of values that fragment your data and slow down learning.
- Labeling without acting - you put labels in the feed and then treat the whole catalog the same.
- Overlapping criteria in the same slot, mixing margin with season in
custom_label_0.
Key takeaways
- Feed labels (custom_label_0–4) let you group products by any business criterion.
- The most useful: margin, performance (bestseller), season, stock, price, launches, clearance.
- The value comes when you use labels for different budgets, targets, exclusions and reporting.
- Keep labels dynamic and consistent, or you'll optimize on old data.
- Assign each slot to a single criterion so you can combine them.
Conclusion
Feed labels are the bridge between your catalog and the logic of the bidding algorithms. Without them, Google optimizes for what it sees - clicks and revenue. With them, it optimizes for what matters to you - profit, stock, season, priorities. It's not a minor technical setting, but the layer that decides whether your budget goes to the right products or gets spread evenly across everything. And in a serious account, that's the difference between managing a feed and making it work for you. The effort is a one-time investment: once the label structure is in place, every later optimization gets faster and more precise.