Skip to content

Classify ads with labels and naming rules

On this page you can attach labels (classification markers) to search terms, ASINs, and campaigns so you can read sales and ad spend along the axis of an ad role — like “Hero,” “Defensive,” or “Cut” — or a product line. You can also standardize campaign naming rules. Judging thousands to tens of thousands of keywords one at a time is impossible, so the goal is to be able to handle them in bulk by role.

ItemDetails
What you can do hereDesign a label taxonomy, auto-label competitor products, bulk-label search terms, and manage campaign naming rules
Applies toSearch terms, ASINs, SP campaigns, and Amazon DSP line items (across all of them)
Data / connections neededSearch-term data from a connected account. Auto-classifying competitor products uses an external product-info service
ScopeUpdates Picaro-side labels and naming rules after approval (analyze / propose → review → apply). It does not change the ad settings themselves (bids, budgets, keywords)
  • You want to auto-classify thousands to tens of thousands of keywords into the 5 ad roles: Hero / Profit Engine / Defensive / Exploration / Cut
  • You want to auto-classify competitor products that have slipped into search terms by price band, reviews, and category
  • You want to apply a label rule you designed once, in bulk, to existing search terms
  • You want to standardize campaign naming rules so report aggregation stays stable
  • You want to manage ACoS / ROAS / budget-allocation targets separately per label

Amazon’s ad console aggregates primarily by campaign and ad group. A number like “overall ACoS was 35%” tells you the total, but it does not reveal whether your Hero keywords are working, whether your defense is breaking down, or whether cut candidates are eating ad spend.

Once keyword counts reach the thousands or tens of thousands, judging each one individually is impossible. Unless you group keywords by ad role — which group earns profit and which runs in the red — operations stop scaling. The same applies to agencies managing multiple clients: trying to explain “why ACoS got worse” with data tends to mean hand-processing CSVs.

Labels close this gap. By attaching classifications like “Hero,” “Defensive,” or “Cut” to search terms, ASINs, and campaigns, you can aggregate and compare the same spend and sales data along a role-based axis. The basis for bid adjustments and reports shifts from gut feel to data, and you can give an AI agent high-level instructions like “review the bids on my Hero keywords.”

Without labels (today)

“This month’s overall ACoS was 35%, 3pt worse than last month.”

With labels (after applying Picaro labels)

LabelShare of salesACoSAssessment
Hero (own-brand branded search terms)42%12%Keep scaling
Defensive (brand + category)18%18%Maintain efficiency
Profit Engine (niche use-cases)20%18%Room to expand gradually
Exploration (new, still-learning search terms)10%32%Keep observing
Cut (competitor products, low-ROAS terms)10%78%Cleanup candidate

Viewed by label, you can immediately pinpoint “the ACoS decline is because the Cut group is eating ad spend.” For an agency, the client conversation shifts from “a list of numbers” to “an explanation of strategy,” and you can set a separate target ACoS per label for bid adjustments.

Section titled “Picaro’s recommended label design — 2 patterns”

There are broadly 2 patterns for designing a label taxonomy. Neither is the single right answer; choose based on how many product lines you have and the main axis of your analysis.

Pattern A: Ad-role firstPattern B: Product-line first
Best when1–2 product lines / thousands of keywords or more3+ product lines / multiple sub-brands
Top tier (1st)Ad role (Hero / Profit Engine / Defensive / Exploration / Cut)Product line / sub-brand
Mid tier (2nd)Product line or topicProduct variation / customer stage
Low tier (3rd)Match type or specific termTerm type (branded / generic / competitor)
StrengthInstantly shows how each term contributes to advertising, leading straight to actionEasy to manage ACoS and margin independently per product line

A design that classifies thousands to tens of thousands of keywords by their impact and role in advertising. You can instantly grasp “how this keyword contributes to the whole account,” leading directly to bid adjustments, exclusion decisions, and budget allocation. Best when you have few product lines and many keywords.

Top tierMeaningTypical examplesBid / budget stance
HeroHigh-ROAS × high-volume sales driverOwn-brand branded terms, key terms for staple productsPrioritize scaling, generous budget
Profit EngineHigh-ROAS × mid-low-volume hidden gemNiche-demand, high-margin product termsMaintain, expand gradually
DefensiveBrand-term / competitor-defense slotOwn brand + category, competitor brand name termsHigh bid, efficiency-focused
ExplorationNew, still learning (insufficient signal)New terms from Auto, Manual terms in the launch phaseObserve on low budget
CutLow-ROAS, slated for cleanupZero-purchase terms, ACoS over 2× targetMove toward exclusion, gradual pause

3-tier example (a brand running thousands of keywords):

Hero (top tier)
└── Product line A (mid tier)
├── Exact match (low tier)
├── Phrase match
└── Product targeting
Profit Engine (top tier)
└── Niche use (mid tier)
Defensive (top tier)
├── Own brand (mid tier)
└── Competitor brand (mid tier)
Exploration (top tier)
└── New-term pool
Cut (top tier)
└── Cleanup-pending pool

Why this pattern works:

  • You can coarsely group thousands to tens of thousands of keywords into 5 roles, so operational decisions scale
  • Labels translate directly into action (Hero → scale, Cut → exclude, etc.)
  • Dashboards instantly show “Hero ROAS dropped” or “the Exploration slot is over budget”
  • You can instruct an AI agent at a high level, like “review the bids on my Hero keywords”

A design that places the product line (sub-brand) at the top. When ACoS targets and margins differ by product, cutting by product line first keeps KPIs from getting mixed up. Placing “branded / generic / competitor” at the lowest tier lets you drill down to “what is the ACoS for product line A × generic.” Placing “new / repeat” at the mid tier lets you manage acquisition cost and retention cost separately, enabling LTV-aware decisions.

GoalWhat you getChangesPrompt
Auto-classify competitor products slipped into search termsA list of competitor products × recommended labelsAssigns labels after approvalPrompt 1
Bulk-label search terms with pre-designed rulesA list of search terms × labels to applyAssigns labels after approvalPrompt 2
Manually assign labels to search terms / ASINsA list of targets × assigned labelAssigns labels after approval (overwrite)Prompt 3
Assign labels to campaigns / DSP / productsA list of targets × assigned labelAssigns labels after approval (overwrite)Prompt 4
Check, add, initialize, or delete the label taxonomyPer-operation resultsAdd / update / initialize / deletePrompt 5
Register or infer campaign naming rulesA list of naming patterns × match rateRegisters naming rulesPrompt 6
Design a label taxonomy by ad roleA 3-tier label taxonomy draftRegisters after approvalPrompt 7

Prompt 1: Auto-classify competitor products in search terms

Section titled “Prompt 1: Auto-classify competitor products in search terms”

Extract ASINs (B0XXXXXXXX format) included in search terms and automatically create and assign labels on 4 axes: price band, review rating, category relevance, and product name.

When to use — when you want to classify, in bulk, the competitor products that have slipped into search terms.

What you need — the cap on how many to process per run (default is 50).

Extract ASINs in B0XXXXXXXX format from the search terms,
and auto-generate competitor product labels on 4 axes
(price / reviews / category / product name).
Exclude ASINs that already have a label,
and cap it at 50 per run.
Show me the plan only first, then run for real if it looks good.

What you can change — the number processed per run (50 in the example; a cap set to keep the cost of the external product-info service down).

What you get back — a table of ASIN × recommended label × price × review count × category.

Changes — no labels are written until you approve. After approval, Picaro assigns the labels on its side.

Note — product info is retrieved via an external service, so retrieval can fail due to an outage on that service’s side (in that case it returns 0 labeled items, so wait a while and retry). When handling ASINs from overseas marketplaces (US / EU / UK), first register the target country’s Amazon domain, currency, and language in Prompt 5.

Next steps — to see how the classified competitor products perform, see Find high-performing keywords and product targeting.


Prompt 2: Bulk-label search terms with pre-designed rules

Section titled “Prompt 2: Bulk-label search terms with pre-designed rules”

Use the patterns already registered in the label taxonomy to bulk-assign labels to the search terms ingested into Picaro.

When to use — when you want to apply a label rule you designed once, in bulk, to the search terms that have accumulated.

What you need — a registered label taxonomy (if none, initialize it in Prompt 5).

For all search terms registered in Picaro,
bulk-apply labels using the label taxonomy rules.
Exclude terms that already have a label.
Show me the plan first, then run for real if it looks good.

What you can change — the target scope (whether to exclude already-labeled terms, etc.).

What you get back — a table of search term × label to apply × matched pattern. Terms that match no pattern remain unlabeled.

Changes — after approval, Picaro assigns the labels on its side. If the label taxonomy is not set up, it returns 0 candidates, so check it first in Prompt 5.

Next steps — the labels you assign can be used as aggregation axes in Check KPIs on the dashboard and Analyze high-performing search patterns with N-grams.


Prompt 3: Manually label search terms and ASINs

Section titled “Prompt 3: Manually label search terms and ASINs”

Without using auto-matching, directly assign search terms or ASINs to a label you specify.

When to use — when you want to deliberately, manually label targets that auto-classification can’t catch.

What you need — the destination label name (show the current state in Prompt 5 to see the list) and the target list.

For the label "{{LABEL NAME (e.g., Competitor / high-price)}}",
directly assign the following search terms / ASINs:
{{TARGET LIST (e.g., term1, term2, B0XXXXXXXX)}}
Let me review the content first, then run for real if it looks good.

What you can change — the label name and the target list (search terms or ASINs).

What you get back — a table of target × type (search term / ASIN) × existing label × post-assignment label. Targets that already have a label are clearly flagged as “this will overwrite.”

Changes — after approval, Picaro assigns the labels on its side (existing labels are overwritten).

Next steps — to label campaigns or products too, go to Prompt 4.


Prompt 4: Assign labels to campaigns, DSP, and products

Section titled “Prompt 4: Assign labels to campaigns, DSP, and products”

Assign labels to SP campaigns, Amazon DSP line items (the DSP delivery-setting unit; only for accounts running DSP), and product ASINs so they can be used as aggregation axes on dashboards and in N-gram analysis.

When to use — when you want to classify not just search terms but campaigns and products themselves by role.

What you need — the destination label name and the targets you want to assign.

For the label "{{LABEL NAME (e.g., Hero / product line A)}}", assign the following:
- SP campaigns: {{campaign names or IDs (multiple OK)}}
- DSP line items: {{line item names or IDs (multiple OK)}}
- Product ASINs: {{ASINs (multiple OK)}}
Let me review the content first, then run for real if it looks good.

What you can change — the label name and the assignment targets (specify only the ones you want; omit those you don’t need).

What you get back — a table of target × type × existing-label status × post-assignment label. For product ASINs, no upfront duplicate check is possible, so the overwrite risk is clearly flagged as “caution.”

Changes — after approval, Picaro assigns the labels on its side (existing labels are overwritten).

Note — for DSP analysis, see Analyze Amazon DSP delivery performance. On some AI agent environments the label assignment may not be recognized (fix in progress; it may work via the Picaro-connection extension).

Next steps — check how the assigned labels perform in Check KPIs on the dashboard.


Handle the label taxonomy (category hierarchy → labels) in a single prompt — checking the current state, adding, updating, overseas-marketplace setup, initializing, and deleting.

When to use — when you want to tidy up or rebuild the overall label structure.

What you need — the operation you want to run (one of the below).

{{What you want to do with the label taxonomy (e.g., show the current state)}}.
What you can do:
- Show the current state
- Copy from the demo template to initialize
- Add or update a category hierarchy
- Add or update a label (including match patterns and rule types)
- Configure an overseas marketplace (target country's Amazon domain, currency, language)
- Create a new label
- Delete everything and start over (destructive, requires confirmation)

What you can change — the operation you want to run.

What you get back — results per operation (a list, an add/update confirmation, an initialization completion, etc.).

Changes — showing the state changes nothing. Add / update / initialize / delete modify the structure on Picaro’s side. Deleting everything is destructive, so it runs only after explicit confirmation.

Next steps — after changing match patterns, run Prompt 2 separately to relabel.


Prompt 6: Register and infer campaign naming rules

Section titled “Prompt 6: Register and infer campaign naming rules”

Register naming templates for campaigns and ad groups to keep naming consistent at creation time. You can also infer a naming pattern from existing names.

When to use — when campaign names are inconsistent and report aggregation isn’t stable.

What you need — a naming template (your own rule), or existing campaign names to infer from.

Manage campaign / ad group naming rules:
- Return a draft naming pattern from about 50 existing campaign names
- Or, register the naming template {{TEMPLATE (e.g., {brand}_{product_line}_{match_type})}}
- Or, update the existing rule

What you can change — the naming template (expressed in braces, like {brand}_{product_line}_{match_type}) and the sample size used for inference (roughly 30–100 is the sweet spot).

What you get back — a table of inferred naming pattern × match rate × example.

Changes — inference (returning a draft) changes nothing. Registering or updating saves the naming rule to Picaro.

Next steps — the registered naming rule is applied automatically at creation time in Create Sponsored Products (SP) campaigns.


Prompt 7: Design a label taxonomy by ad role

Section titled “Prompt 7: Design a label taxonomy by ad role”

Analyze ad contribution from your existing search-term data and design a 3-tier label taxonomy draft across the 5 ad roles: Hero / Profit Engine / Defensive / Exploration / Cut.

When to use — when you want to start label design from scratch, or want a first draft of a role-based taxonomy.

What you need — the target period (default is the last 30 days).

Propose a label taxonomy design that classifies search terms into the 5 ad roles
(Hero / Profit Engine / Defensive / Exploration / Cut):
1. Pull 10 representative examples per role from the last 30 days of search-term data
and show the rationale (ROAS / volume / strategic positioning)
2. Design a 3-tier label taxonomy draft: top tier (ad role) / mid tier (product line or topic) /
low tier (match type or term)
3. Note the decision criteria for each role (thresholds for ROAS / clicks / orders)
After reviewing, reply "register" to add it to the label taxonomy.

What you can change — the target period (reword it, like “for the last 90 days”).

What you get back — a 3-tier design draft of top tier (role) × mid tier × low tier × representative term examples × decision criteria.

Changes — presenting the draft changes nothing. Registration runs only after an explicit “register” confirmation.

Next steps — after registering, bulk-apply to existing search terms in Prompt 2.