Help Center

FAQ: How to create custom labels?

Sarah B
Sarah B
  • Updated

If you run Google Shopping or Meta campaigns, custom labels are the fastest way to take control of how your products are grouped, bid on, and reported. With GoDataFeed, you can build custom labels from any data already in your feed, or from a simple list of SKUs you paste in yourself. That means you can separate your top sellers from your slow movers, isolate clearance items, or flag a seasonal collection, all without touching your store data. It is written for new and existing GoDataFeed users.

TL;DR: Custom labels (custom_label_0 through custom_label_4) are feed attributes you define for your own bidding and reporting. In GoDataFeed, you populate them with a feed rule. If your products can be identified by an existing attribute, build the rule on that attribute. If they cannot, create a List of SKUs under Import > Lists and use the condition [P].[sku] is in list to target exactly those products.

What are custom labels?

Custom labels are five optional feed attributes, custom_label_0 through custom_label_4, that you define yourself. Unlike required attributes such as title or price, custom labels have no fixed meaning. You decide what each one represents, and Google Merchant Center and Meta simply pass the value through so you can use it to subdivide campaigns, set bids, and filter reports.

A few things to know before you start. Shoppers never see custom labels, they only exist inside your advertising platform. They do not affect whether a product is approved or disapproved. And because you own the meaning, consistency matters: pick one purpose per label and use it the same way across every feed.

How do I create a custom label in GoDataFeed?

Custom labels are populated with a feed rule, so they are set per feed rather than per store. This is deliberate: it lets you label the same product differently for Google than you do for Meta.

  1. Open the feed you want to segment and select Rules from the left-side menu.
  2. Click the blue + button to create a new rule.
  3. Set the attribute you are updating to custom_label_0 (or 1 through 4, depending on which one you are using for this purpose).
  4. Build your condition. This is where you tell GoDataFeed which products should receive the label, for example a price range, a brand, a product type, or a list of SKUs.
  5. Enter the value you want written into the label, such as top_seller or clearance.
  6. Save the rule, then compile the feed and submit it so the new values reach the channel.

Keep your values short, lowercase, and free of spaces. Underscores read more reliably in campaign filters than spaces do, and a tidy value list is much easier to work with when you are building ad groups later.

Which attribute should I segment on?

Before building anything, answer one question: how is this group of products already identified in your data? The answer determines which of the two approaches below you should use.

Option 1: The group is already defined by an attribute

If the products you want to label share a value that already exists in your product data, build the rule on that attribute directly. This is the better option whenever it is available, because the label updates itself as your catalog changes. You can build conditions on any field in your feed, including product_type, brand, price, quantity, or platform-specific fields such as option1 from a Shopify import.

Option 2: The group is an arbitrary set of SKUs

If the products have nothing in common except that you decided they belong together, for example a list of 400 best sellers pulled from a sales report, use a List instead. Lists let you manage the group in one place rather than hardcoding SKUs into rule conditions. See the next section for the full setup.

Can I use product_type to segment my ads instead?

Yes, and it is often overlooked. The product_type attribute is your own category taxonomy, separate from google_product_category, and Google lets you subdivide campaigns on it exactly as you would on a custom label. If your catalog already has a clean category structure, mapping product_type in Feed Mapping may give you the segmentation you need without spending a custom label on it.

A practical way to split the two: use product_type for what a product is, and use custom labels for how a product performs or how you want to treat it. Category structure belongs in product_type. Margin tiers, seasonality, clearance status, and top seller flags belong in custom labels. You only get five custom labels, so do not burn one on data you already have elsewhere.

How do I apply a custom label to a specific list of SKUs?

When your group is an arbitrary set of SKUs, create a List first and then reference it in your rule condition. The List becomes the single place you maintain that group, so updating the segment later means editing the List rather than rebuilding rules.

  1. Go to Import > Lists and click the blue + button.
  2. Enter a List name and description. Name it for what it represents, for example Top_Sellers_Q4, since you will be selecting it from a dropdown later.
  3. Paste your SKUs into the dialog box. Values can be comma or semicolon delimited. If you are using a different delimiter, specify it in the Delimiter field.
  4. Click Save to create the list.
  5. Open your feed, go to Rules, and create a new rule that updates custom_label_0.
  6. Set the condition to [P].[sku] is in list [List_Top_Sellers_Q4].
  7. Set the value to the label you want, for example top_seller, then save.
  8. Compile and submit the feed so the labeled products reach the channel.

When your best seller list changes next quarter, update the values inside the List and recompile. The rule does not need to be touched.

This has a useful side effect. The person who knows which products are selling is often not the person managing the campaigns. Because the segment lives in a List rather than buried in rule conditions, a merchandiser or buyer can keep it current without anyone touching feed configuration.

How do I build top seller custom labels?

Top seller labeling is the most common reason merchants reach for custom labels, because Shopping campaigns give you no keyword to bid on. Segmentation is the lever. Isolating the products that actually convert lets you put budget behind them instead of spreading it evenly across a catalog where most items never sell. How you build it depends on whether performance data lives in your feed.

Example 1: A simple top seller flag

Use this when you have a list of best selling SKUs from your store reporting or your ad platform, but no sales figures in your product data. Create a List named Top_Sellers containing those SKUs, then build one rule:

  • Attribute: custom_label_0
  • Condition: [P].[sku] is in list [List_Top_Sellers]
  • Value: top_seller

Add a second rule with no condition that sets custom_label_0 to standard, and place it above the top seller rule in your rules list. Because GoDataFeed processes rules top to bottom, every product gets the default value first and the top sellers then overwrite it. This gives you two clean segments to split in your campaign instead of one segment plus a pile of blanks.

Example 2: Revenue ranges

Use this when your import or a merge file carries a revenue figure per SKU. Ranges let you bid in bands instead of treating every strong performer identically, and naming the value after the actual dollar amount means anyone opening your Google Ads account knows what the segment represents without asking. Build one rule per band, ordered from broadest to narrowest:

Rule order Condition custom_label_0 value What it lets you do
1 No condition (applies to all products) revenue_under_500 Sets a baseline so no product is left blank
2 revenue is greater than 500 revenue_500_to_2000 Steady performers worth protecting
3 revenue is greater than 2000 revenue_2000_to_5000 Bid up, these carry the campaign
4 revenue is greater than 5000 revenue_over_5000 Separate campaign with its own budget

Order is what makes this work. Each rule overwrites the one before it for the products that qualify, so a product generating $6,000 passes through every band and finishes on revenue_over_5000. Reverse the order and every qualifying product lands in the lowest band instead.

Example 3: Price buckets

Price bucket segmentation is the most common starting point for merchants who do not yet have performance data in their feed, and it works on data you already have. If your catalog spans a wide price range, a $19 accessory and a $900 centerpiece almost never deserve the same bid, but a single campaign treats them identically. Splitting by price band fixes that on day one.

  • Rule 1 (no condition): set custom_label_1 to under_50
  • Rule 2: if price is greater than 50, set custom_label_1 to 50_to_150
  • Rule 3: if price is greater than 150, set custom_label_1 to over_150

Once the bands are live, watch them for a few weeks before changing bids. Merchants are often wrong about which band actually earns, and the reporting view you get from this segmentation is worth as much as the bidding control.

Other labels worth building

Once the pattern is familiar, the same rule structure covers most segmentation needs. Each of these answers a different bidding question:

  • Margin: label products high_margin or low_margin from a cost field, so you can bid on profit rather than revenue.
  • Clearance: label products where sale_price is populated, so you can push discounted stock harder while the price advantage lasts.
  • Season: maintain a List of seasonal SKUs labeled winter or holiday, so you can raise and cut spend as a group instead of product by product.
  • Stock level: label low quantity products low_stock, so you can pull back before you are paying for clicks on something about to sell out.
  • Data quality: label products missing a description or a real image needs_attention, so you can bid down on listings that look weak next to competitors until you fix them.

How should I plan my five labels?

Decide what each label represents before you build a single rule. Five is not many, and reusing one for two purposes across different feeds is the fastest way to end up with a Google Ads account nobody can interpret six months from now. Write it down somewhere your whole team can see:

Label What it represents Example values
custom_label_0 Performance revenue_over_5000, revenue_500_to_2000
custom_label_1 Price band under_50, 50_to_150, over_150
custom_label_2 Profitability high_margin, low_margin
custom_label_3 Promotion status clearance, sale, full_price
custom_label_4 Season winter, holiday, evergreen

One constraint to design around: Google accepts up to 1,000 unique values per custom label. That is generous for buckets and bands, but it rules out setting a label equal to something highly unique like the product title on a large catalog.

Troubleshooting

My custom label is blank for some products. The condition did not match those products. Open Feed Preview, search the affected SKU, and check the value of the field your condition is built on. If you are using a List, confirm the SKU in the List matches the SKU in your product data exactly, including any prefixes or leading zeros.

Every product got the same label. A rule with no condition applies to your entire catalog. Check your rule order in the Rules section, since a broad rule placed below a narrow one will overwrite it.

The label looks right in GoDataFeed but not in Merchant Center. Compile and submit the feed after saving your rules. Until the feed is compiled and submitted, the channel is still working from your previous submission.

Frequently asked questions

How many custom labels can I use?

You can use five per product, custom_label_0 through custom_label_4. Each one holds a single value per product, so plan what each label represents before you start building rules. Reusing a label for two different purposes across feeds is the most common source of confusion later.

Do custom labels affect whether my products get approved?

No. Custom labels are for your own bidding and reporting inside Google Ads or Meta. They are not shown to shoppers and they are not evaluated during product review, so an incorrect or missing custom label will not cause a disapproval.

Do I need to change my store data to use custom labels?

No. Custom labels are built with feed rules inside GoDataFeed, so nothing in your store or import source changes. This is what makes them useful for grouping products that your store platform has no way to categorize together.

What happens when my list of SKUs changes?

Update the values inside the List under Import > Lists, then compile and submit your feed. Any rule referencing that List picks up the change automatically, so you never have to rebuild the rule itself.

Can I use a custom label to exclude products from my feed?

Yes. Once a custom label is populated, you can reference it in a Feed Filter to include or exclude those products. This is a common pattern for clearance or discontinued inventory, since it lets you manage one List and use it for both labeling and exclusion.

If you need additional support, contact our support team for further assistance. Be sure to provide any affected SKUs or screenshots of where you are encountering an issue.
Open a support ticket

Related Help articles:

📌 Feed: How to use feed rule operators to optimize your feed

📌 All-in-one Feed Setup Overview Guide

Related to

Was this article helpful?

0 out of 0 found this helpful

Have more questions? Submit a request

Comments

0 comments

Please sign in to leave a comment.