Campaign Naming Conventions: A Field-by-Field System

Advertising

Reading Time: 10 minutes

Share this article

A campaign naming convention is a fixed list of fields, in a fixed order, in a fixed format, that you use for every campaign, ad group and ad. If your team names things “Summer sale v2 FINAL” and “summer_sale_new”, you are paying for ads you cannot report on.

The fix takes an afternoon. Pick the fields, lock the order, lock the casing, write it down. The rest of this article shows how, with one worked example you can copy.

Key takeaways

  • A naming convention is a standardised rule set that puts meaning into campaign, ad group and asset names, so anyone can read an item’s purpose from its name (Adverity, 2025).
  • Decide the field order once, then standardise casing and spacing. Simon Data’s own pattern has five fields: brand, channel, lifecycle, purpose, date.
  • Google Analytics recommends one utm_source per platform, one utm_medium per channel, and a utm_campaign that matches the exact campaign name (Google Analytics Help).
  • Use a closed list of approved source and medium values. Free-text entry is where the mess starts.
  • The document matters more than the pattern. A convention nobody can find is a convention nobody follows.

Table of Contents

What a campaign name is, and what it has to do

A campaign name is the label you give a campaign inside an ad platform, an email tool or a URL tag. Most teams treat it as a note to self. It is actually a join key.

That is the useful way to think about it. The same label has to appear in the ad platform, in your analytics and, ideally, in the CRM. When the three spellings differ, the reports do not line up, and someone spends Friday afternoon matching rows by hand.

Adverity describes a naming convention as a standardised set of rules that encodes meaningful information into campaign, ad group and asset names, so a person can tell what an item is from the name alone. The same source reports that consistent names cut ambiguity, duplication and variation, which makes reporting outputs more trustworthy.

Sit with that last point. Nobody has published a clean, independent number for “hours saved by naming conventions”, and anyone quoting you one is guessing. What you can count is your own: how many minutes your team spends each month renaming, filtering and reconciling. That is your baseline. Measure it before and after.

Why most naming systems fail

They fail for three boring reasons, none of them about creativity.

Nobody owns the list. Five people add campaigns. Each has a slightly different idea of whether “paid social” is “paid-social”, “paidsocial” or “social_paid”. Five people, five spellings, one report with five rows for one channel.

The pattern is too clever. A 14-field name with codes only the author understands gets abandoned by week three. The pattern has to be shorter than the effort of ignoring it.

It was never written down. The convention lives in one person’s head, then that person changes jobs. Simon Data’s guidance is to document the protocols accessibly so they support standardisation across users, brands and departments and help onboard new people. That is the whole job of a style guide.

Pick your fields

Start from how your business actually makes decisions. Simon Data advises basing the convention on your business model and the structure of your marketing team, and lists brand, channel or team, dates, customer lifecycle and campaign purpose as candidates. Reporting needs should drive the choice: if you never cut a report by audience, do not put audience in the name.

Here is a field library for an Australian ecommerce brand. Take the ones you report on. Drop the rest.

FieldWhat it answersExample value
Brand or business unitWhich brand is paying?acme
MarketWhich country or region?au, nz
ChannelWhere does it run?meta, google, tiktok, email
Objective or lifecycleWhy does it exist?prospecting, retargeting, retention
Offer or purposeWhat is being pushed?eofy-sale, new-range
AudienceWho is it for?lookalike, cart-abandoners
DateWhen did it start?2026-10

The date field earns its place for one mechanical reason: names with a start month sort chronologically in any platform’s list view, so last year’s campaigns stop cluttering this year’s. A date such as yyyy-mm is enough. Day-level dates just invite typos.

Limit yourself to five or six fields. That is a judgement, not a law: once a name needs more than six, you are encoding things better held in a spreadsheet or a tag.

Order, casing and spacing

These three decisions are boring, which is why they get skipped, and why skipping them hurts.

Order. Put the field you filter by most first. If you run reports by channel every week, lead with channel. Simon Data’s advice is simply to decide the order in advance and use it consistently. Consistency beats cleverness: a mediocre order used 100% of the time beats a perfect order used 60% of the time.

Casing. Pick lowercase and stay there. Google’s own guidance notes that analytics treats values as distinct strings, so “Email” and “email” can show up as two separate rows in Google Analytics campaign reports. Lowercase removes the problem for good, because nobody has to remember anything.

Spacing and separators. No spaces. Spaces turn into %20 in URLs and break filters. Use one separator inside a field (a hyphen) and a different one between fields (an underscore). That way “eofy-sale” is one value and a script can split the name cleanly on underscores.

Put together, a name reads like this:

acme_au_meta_prospecting_eofy-sale_2026-10

Six fields, 42 characters, readable by a human and parseable by a spreadsheet. Compare with Simon Data’s published example, which follows a Brand_Channel_Lifecycle_Purpose_Date pattern and gives Brand_Email_Retargeting_Coupon_12-28-22. Same idea, different house style. (Mixed case and an American date format are fine for them. For an Australian team, use year-month first and lowercase, and nobody argues about 03-04.)

UTM naming conventions: the three parameters that matter

UTMs are where naming discipline either pays off or falls apart, because they feed your analytics directly.

Google Analytics defines the three core parameters this way: utm_source is the referrer, utm_medium is the marketing medium, and utm_campaign identifies the overall campaign, such as a product, slogan or promo code. Google recommends using all three, and standardising their values.

Three UTM parameters and their roles

The same help page goes further. It recommends one unique source for each distinct platform, one unique medium for each distinct channel, and one unique campaign that matches the exact campaign name. Inconsistent values fragment reporting.

That last line is the mechanism. GA4 does not guess that “fb”, “facebook” and “Facebook_Ads” are the same thing. It stores three sources, and your channel report splits one platform’s results three ways. Each slice looks small, so nobody notices the platform is working.

A closed list for source and medium

Do not let people type these. Write the approved values in a sheet and make everyone pick from it. A short closed list for source and medium is the single cheapest data-quality control you can add, and it is the thing most teams skip.

A starter list:

utm_sourceutm_medium
metapaid-social
tiktokpaid-social
googlecpc
youtubepaid-video
klaviyoemail
sms-providersms

The exact values are yours to choose. Google’s default channel grouping rules look at source and medium, so check your values against how GA4 will bucket them, or paid traffic can land in the wrong channel.

utm_campaign equals the platform campaign name

Make utm_campaign the exact string used as the campaign name in the ad platform. Not a close cousin of it. The same string.

Why: it means a row in GA4 and a row in Meta Ads Manager can be matched by a lookup rather than by a person’s memory. If your platform name is acme_au_meta_prospecting_eofy-sale_2026-10, your utm_campaign is that. Done.

Use utm_content for the creative or ad variant, and keep that value short. It is the field most worth keeping consistent across tests, because creative comparisons are where people hold the most arguments. If you want the wider argument on how to read those platform numbers once the naming is clean, our piece on Google Ads attribution columns shows what to check before you change bids.

A worked example: one campaign, four places

Take an Australian homewares brand running an end-of-financial-year sale in October. (The sale name is a placeholder. The point is the structure.)

  • Campaign in Meta: acme_au_meta_prospecting_eofy-sale_2026-10
  • Ad set: acme_au_meta_prospecting_eofy-sale_2026-10_lookalike-1pct
  • Ad: acme_au_meta_prospecting_eofy-sale_2026-10_ugc-kitchen-v1
  • Tagged URL: ?utm_source=meta&utm_medium=paid-social&utm_campaign=acme_au_meta_prospecting_eofy-sale_2026-10&utm_content=ugc-kitchen-v1

Now the same offer on Google search: acme_au_google_search_eofy-sale_2026-10, with utm_source=google and utm_medium=cpc.

Filter any report for “eofy-sale” and both channels appear. Filter for “2026-10” and you get everything that launched this month. Filter for “meta” and you get one platform. Three filters, zero manual clean-up. That is what a naming convention buys you.

Name the creative too

Campaign names get the attention. Creative names decide whether you can learn anything.

Meta treats near-identical ads as close to one ad, so fifteen thumbnails on one script behave like a single ad in delivery. If your names do not separate the idea from the execution, you will read fifteen results as fifteen tests when you ran one. Put the concept in the name (ugc-kitchen), the version after it (v1, v2), and track hook, format and talent in a sheet keyed to that ID.

This is also the line between what belongs in the name and what belongs elsewhere. Names carry the stable, filterable facts. A sheet carries the detail, such as script text, creator, cost and brief. If you stuff the detail into the name, it gets truncated in platform views, and you will have invented a second, worse spreadsheet.

If you need creative produced at the volume that makes this matter, our ad creative production service is built around exactly this: concepts, versions and IDs tracked from brief to report.

Name the creative too — overview diagram

Document it, then enforce it

A naming convention has three parts: the pattern, the approved value lists, and the person who owns them. Skip the third and the first two rot.

  1. Write a one-page guide. Pattern, field definitions, two or three examples, the approved lists. If it needs more than a page, the pattern is too complex.
  2. Build a generator. A shared sheet that concatenates the fields and builds the tagged URL. Dropdowns for source and medium. People paste the output rather than typing.
  3. Name an owner. One person approves new values. Everyone else asks.
  4. Audit monthly. Export campaign names and filter for anything that breaks the pattern. Fix it while the campaign is live, because renaming a campaign mid-flight can split its history in some platforms and tools.
  5. Onboard from the document. The first task for any new hire or agency is to read it and build one campaign with the sheet.

The same discipline applies to handles and profile names. If your brand name is already taken on a platform, work out the fallback pattern before you launch, and write it in the same document. A guide to social media handle strategy covers what to do when the name you want is not free.

What if you already have two years of messy names?

Do not rename history. Start the convention on the next campaign you launch and add a mapping table for the old names: old string in one column, clean category in the next. That gets you comparable reporting without touching live campaigns. Ignore anyone who tells you to freeze everything for a big-bang clean-up. It costs a week and breaks tracking.

Mistakes that break reports

  • Free-text source and medium. Covered above. It is the number one cause of fragmented channels.
  • Mixed case. Pick lowercase. Argument over.
  • Spaces and special characters. They get encoded in URLs and filtered inconsistently.
  • Dates in the day-first, month-first or text format at random. Use year-month.
  • Names that describe the idea, not the structure. “Big spring push” tells you nothing at 4 pm on a reporting day.
  • Tagging only some channels. Untagged links land in direct or referral and the campaign vanishes from your reports.
  • Treating the convention as an agency problem. If you work with an agency, hand them your document on day one. If they have their own, make sure the two map to each other.

If you want to go past naming into what the numbers mean, see our pieces on incrementality testing for Meta ads and when media mix modelling pays off. Clean names are what make both possible.

Our view: naming is a measurement decision

Most naming advice treats it as admin. We treat it as the first measurement decision in any campaign, because a campaign you cannot join across Meta, Google, email and the store is a campaign you cannot judge.

We see the same pattern when teams hand us accounts: strategy in one place, creative in another, ads in a third, landing pages in a fourth, each with its own labels. The hand-off is where the data breaks. That is why we run strategy, creative, paid media and conversion work as one team, working from one taxonomy, so a result in the report maps back to a decision somebody made.

Our rule is plain. Names carry structure. Sheets carry detail. Someone owns the list. And if a name cannot be filtered, it is decoration.

One caveat. A perfect convention will not fix a bad offer or a weak creative. It only lets you see the problem faster. Which is still worth an afternoon.

— Harry

Want us to set this up for you?

If your reports are stuck in reconciliation, our team builds the taxonomy, the tagging sheet and the reporting view as part of our growth marketing services for ecommerce and DTC brands. We can also work channel by channel, from Meta and TikTok ads to Google Ads. Happy to share our template sheet if it would help, no strings.

FAQ

What is a good campaign naming convention?

A good one has five or six fields in a fixed order, in lowercase, with no spaces. Typical fields are brand, market, channel, objective, offer and start month. It is short enough that people use it and strict enough that a script can split it.

How should I structure UTM parameters?

Use utm_source for the platform, utm_medium for the channel and utm_campaign for the exact campaign name. Google Analytics Help recommends using all three and keeping their values standardised. Use utm_content for the ad or creative variant.

Should campaign names be lowercase?

Yes. Analytics tools can treat “Email” and “email” as separate values, which splits one channel into two rows. Lowercase removes the decision from every person who builds a link.

Do I need to rename old campaigns?

No. Apply the convention to new campaigns and keep a mapping table for the old ones. Renaming live campaigns can break reporting continuity.

Sources

We'll 3X your investment in us

That's our pinky promise to you! You'll see measurable improvement in results within the first 90 days with better ads and higher conversions.

Keen to have us as your performance marketing partner? Please click the "partner with us" button to see if we're a good fit.

more from our desk