Why you have to clean up your campaign names before AI analyzes your ad accounts
Before you hand performance analysis to AI, check whether your campaign names, UTMs, and product-group mapping leave the account in a state AI can actually read.
AI reads names before it reads numbers
Say you ask AI: “Find the campaigns whose ROAS by product group has dropped over the last 14 days.” If your campaign names look like new_test_2, 전환_0501, meta_리타겟, 혜택소재_수정본, SA_브랜드_복사본, AI has no way to tell which product group or which funnel stage a campaign belongs to.
The answer usually goes one of two ways: it plays it so safe that you get a useless summary, or it confidently spits out the wrong classification. The problem isn’t that AI is dumb. It’s that the account isn’t structured in a language AI can read.
A campaign name isn’t housekeeping—it’s a data contract
Campaign names aren’t labels you slap on to make things look tidy for humans. They’re a data contract that lets your ad platforms, GA4, back office, spreadsheets, and AI agents all refer to the same thing in the same way.
When that contract breaks, AI loses the context even when it has the numbers. From a name like 전환_0501, it can tell the campaign has a conversion objective, but not which product group, which funnel stage, or which test it belongs to.
GA4, too, breaks out source, medium, and campaign from your UTM values. Google recommends using utm_source, utm_medium, and utm_campaign consistently, and notes that values with different capitalization are treated as different. SpringSale and spring_sale may look like the same campaign to a person, but they can show up as separate rows in your reports.
How bad naming wrecks AI’s answers
In AI analysis, classification errors are more dangerous than calculation errors. ROAS can be calculated correctly, but if the campaigns are bucketed wrong, the conclusion is wrong. A claim like “ROAS on skincare prospecting campaigns is down” might actually be a blend of retargeting and brand search campaigns.
| Bad pattern | How AI gets it wrong | How to fix it |
|---|---|---|
| Names with only new, test, copy | Guesses the test’s purpose and product group. | Break out the test ID and product group in the name. |
| Mixed Korean / English / abbreviations | Splits one product group across several buckets. | Build a product-group naming glossary. |
| No split between prospecting and retargeting | Averages away the performance gap between funnel stages. | Lock in fields like prospecting and retargeting. |
| Mixing brand and non-brand search | Treats demand generation and demand capture as the same campaign type. | Always separate brand from nonbrand. |
| Inconsistent UTM capitalization | The same campaign splits into multiple rows in GA4. | Standardize on lowercase and a single delimiter. |
The minimum AI needs to read a campaign
You don’t need to cram every detail into the campaign name. When names get too long, no one follows the convention. Instead, define the minimum set of fields AI needs to run analysis.
| Field | Why it’s needed | Example |
|---|---|---|
| Channel | Even within one product group, Meta, Google, and Naver play different roles and report on different terms. | meta, google, naver, tiktok |
| Objective | Purchase, lead, traffic, and brand search can’t be held to the same performance benchmark. | purchase, lead, traffic, brand-search |
| Funnel | Mixing prospecting and retargeting makes budget decisions shaky. | prospecting, retargeting, cart |
| Product group | To read ROAS, CPA, and AOV by product group, you have to know what each campaign is selling. | skincare, healthfood, b2b-consulting |
| Targeting strategy | Broad, lookalike, keyword, and remarketing each call for a different read on performance. | broad, lookalike, keyword, remarketing |
| Date or test ID | Lets you find test results again and tell the original from the variant. | 202605, test-a, promo-summer |
For example, meta_purchase_prospecting_skincare_broad_202605 is something AI can read. Whether you go with Korean or English is the team’s call. What matters is that you don’t mix forms like 스킨케어, skincare, and skin—pick one and stick with it.
When names aren’t enough, lean on UTMs and a mapping table
Try to pack every bit of context into the campaign name and you’ll fail. Each channel has different limits on name length, structure, and auto-parameter support, and the moment you rename a live campaign you can break the continuity of your reports. It’s safer to apply your rules to new campaigns and fix historical ones with a mapping table.
UTMs are how GA4 splits your traffic; the mapping table is how your team interprets campaigns. The tracking-parameter tooling differs by channel—Google Ads URL options, for one—but in the end GA4 and Neuro need to read consistent source, medium, campaign, and product-group values.
| Campaign | Product group | Funnel |
|---|---|---|
| meta_purchase_prospecting_skincare_broad_202605 | Skincare | Prospecting |
| naver_brand_skincare_202605 | Skincare | Brand demand |
| google_pmax_healthfood_202605 | Health food | Mixed |
In Neuro, you capture this kind of mapping standard as a table in your workspace guidelines or in a naming-audit Gem. If the rules get complex, you can keep them as JSON instead. The point is to stop making AI guess “Which product group does this campaign belong to?” every single time.
In Neuro, start with a naming audit
Before you ask AI to run performance analysis, have it audit the account’s classification rules. The goal isn’t to interpret performance—it’s to confirm AI can read the account reliably in the first place.
The key line here is “Don’t guess—flag them as unclassifiable.” A good AI answer isn’t one that fills the blanks with plausible guesses. It clearly marks what it doesn’t know and tells the team which rules to fix.
How to use this in Neuro
- Using your connected ad accounts and GA4, pull the active campaigns from the last 90 days. Instead of jumping straight to performance analysis, have AI classify them from campaign names and UTMs first.
- Sort the campaigns AI flagged as unclassifiable by budget or revenue share. What matters isn’t the total campaign count—it’s whether your high-spend campaigns can be read.
- Fix new campaigns to match your naming rules; correct historical ones with product-group/funnel mapping tables. Don’t go on an aggressive bulk-rename spree across live campaigns.
- Save the finalized rules in your workspace guidelines or a Neuro Gem. For example: “Group 스킨케어, skincare, and skin all under 스킨케어”—so the team’s interpretation rules are written down.
- Check the unclassifiable rate once per new-campaign setup cycle and once a quarter. If your team launches a lot of new campaigns, make it a monthly routine.
Prompts you can use today
| Context | Weak prompt | Better prompt for Neuro |
|---|---|---|
| Naming audit | Clean up my campaigns | Using the campaign names from the last 90 days, classify channel, objective, funnel, product group, and targeting strategy. For values you aren’t sure of, don’t guess—leave them as unclassifiable. |
| UTM review | Anything off in my GA4 traffic? | In my GA4 traffic data, find patterns where utm_source, utm_medium, and utm_campaign values are inconsistent. Start with capitalization, spaces, mixed Korean/English, and duplicate labels for the same campaign. |
| Product-group mapping | Show me performance by product | Group campaigns by product group from the campaign name, and pull any campaign whose product group can’t be inferred from the name into a separate table. Sort by budget or revenue share, descending. |
| New campaign QA | Is this name okay? | Check whether the campaign names below follow our team’s naming rules. Also flag any AI-critical field—channel, objective, funnel, product group, targeting strategy, or date—that’s missing. |
| Pre-report review | Build me a report | Before you write the report, check whether unclassifiable campaigns exceed our team threshold. If they do, surface the naming/UTM cleanup issues before any performance read. |
What these prompts share is that they don’t ask AI for the conclusion up front. They first check whether the account is readable, separate out the uncertain items, and only then move on to performance analysis. If you read this far, you should be able to paste them straight into Neuro.
Minimum rules your team must define
- Use the same name for the same product group.
- Always separate prospecting, retargeting, and brand search.
- Leave a test ID on every test campaign.
- Ban names that contain only new, test, copy, or 수정본.
- Standardize UTM values to lowercase with a single delimiter rule.
- Have AI flag items as unclassifiable instead of guessing when it doesn’t know.
- Fix historical campaigns that are hard to rename with mapping tables.
AI ad analysis starts with reading the account. Before you hand your ad accounts to AI in Neuro, the first question isn’t “Why did performance drop?” It’s “Can AI actually read this account correctly?”
Related posts
Why every new ad task should start in a new chat
Sometimes AI gives off answers not because the model is weak, but because it’s dragging in assumptions from earlier in the thread. Here’s how to decide between a new chat, the same chat, and Gem guidelines in Neuro.
The order an AI agent should read an ad account in
Auditing an ad account isn't about staring at ROAS alone. It's about working through goals, structure, budget, conversion quality, and creative signals in order.
How to ask AI when your ROAS numbers don’t match
Platform ROAS is each channel’s own count of the credit it claims at its touchpoints. Separate your GA4 and back-office numbers and settle on an attribution standard first—otherwise AI just automates the confusion.
How to use Gems in Neuro for ad operations
Neuro’s Gem is more than a place to save prompts. It’s how you lock in your standards for ad account analysis, reporting, and approval review as a dedicated AI persona for each task.
Sources
- Google Analytics Help: URL builders, collect campaign data with custom URLs
Official documentation on how GA4 identifies campaign traffic from UTM source, medium, and campaign values, and how capitalization and consistency cause your reports to fragment.
- Google Analytics Help: Import campaign data
Official documentation on why UTM values and campaign IDs have to match exactly when you join external ad-platform cost, click, and impression data with GA4 campaign data.
- Google Ads Help: About URL parameters
Explains how final URLs, tracking templates, custom parameters, and ValueTrack parameters pass click information in Google Ads.
- Google Ads Help: About tracking in Google Ads
Official help article explaining how to set and test Google Ads URL options at the account, campaign, ad group, and keyword levels.