Ask ten email marketers how they name their campaigns and you'll get ten different answers. April newsletter. promo_spring_v2_FINAL. Email 14/03. Campaign 47. Some teams have a shared spreadsheet that nobody updates. Some have a naming convention document from 2019 that everyone ignores. Most have nothing at all.

It doesn't feel like a big deal — until you're trying to pull a year's worth of performance data, trace a UTM parameter back to a specific campaign, or hand over to a new team member and realise your entire email archive looks like a filing cabinet that's been dropped down a flight of stairs.

A consistent email campaign naming convention is one of the cheapest and highest-leverage improvements you can make to how your team runs email marketing. It costs nothing to implement, takes about twenty minutes to set up, and pays dividends every single time you open your ESP or pull a report.


Why email campaign naming conventions matter

The case for consistent naming comes down to three things: organisation, reporting, and handover. Let's take each one.

Organisation

Most email service providers — Mailchimp, Klaviyo, Brevo, HubSpot, ActiveCampaign — store your campaigns in a flat list. There are no folders, no categories, no smart filing. The only thing separating a promotional email from a nurture sequence from a transactional trigger is the name you gave it when you created it.

If those names are inconsistent, searching your archive becomes painful. If they're consistent, you can filter by type, by date, by channel, or by audience in seconds. A name like NL_Email_AllSubs_MarketingUpdates_2026-03 tells you everything at a glance. March newsletter tells you almost nothing.

Reporting and analytics

This is where inconsistent naming really bites. If your campaign names don't follow a pattern, your reporting falls apart at the first filter. You can't slice performance by campaign type. You can't compare this quarter's promotional emails against last quarter's. You can't identify which audience segments are driving open rate improvements over time.

Good naming conventions also make UTM tracking far more reliable. If your utm_campaign parameter is generated from the campaign name — which is standard practice in most ESPs — inconsistent naming flows directly into inconsistent GA4 data. You end up with newsletter, Newsletter, weekly-newsletter, and email_newsletter_march all appearing as separate sources in your analytics. That's not data — that's noise.

Real-world example: A marketing manager inherits a Mailchimp account with four years of campaigns, none of them named consistently. She needs to pull open rate trends for promotional emails across the past two years. Without a naming convention, she has to open each campaign individually to check what type it was. With a convention like PROMO_Email_Customer_[theme]_[date], a ten-minute report becomes a two-minute filter.

Team handover and scalability

Email marketing rarely stays with one person forever. When someone leaves, goes on leave, or when you bring in a freelancer to cover — the first thing they'll do is look at your campaign archive to understand what's been going out. A consistent naming convention means that context is self-documenting. They don't need to ask questions. The name tells the story.

The same applies as your team grows. A solo marketer can keep their naming conventions in their head. A team of three cannot. A documented, enforced convention is the difference between a team that scales smoothly and one that spends the first hour of every campaign briefing arguing about what to call things.


What a good email campaign name includes

The best campaign naming conventions are built from a small set of consistent components, always appearing in the same order, separated by the same character. Here are the core components most teams should include:

1. Campaign type

What kind of email is this? Newsletter, promotional, nurture, welcome, re-engagement, transactional, announcement, event. This should always come first — it's the highest-level categorisation and the one you'll filter by most often.

Examples: NL (newsletter), PROMO, NURTURE, WELCOME, WIN (winback)

2. Channel

Especially relevant if you run campaigns across email, SMS, push notifications, or direct mail from the same platform. Including the channel keeps multi-channel campaigns distinguishable in your archive.

Examples: Email, SMS, Push

3. Audience segment

Who is this going to? All subscribers, customers only, VIP tier, lapsed contacts, B2B prospects? This is critical for any team running segmented campaigns, and becomes invaluable when you're trying to understand performance by audience.

Examples: AllSubs, Customer, VIP, Lapsed, Prospect

4. Campaign date

Always include a date. Always. It's the most reliable sorting mechanism you have, and it's the one piece of context that never becomes ambiguous over time. Pick a format and never deviate from it.

Common formats: 2026-03 (ISO, recommended), 2026-03-15 (with day), 202603 (compact)

5. Theme or descriptor

What's this specific campaign about? The topic, promotion, or content hook that makes this one different from every other newsletter or promo you've sent.

Examples: SummerSale, ProductLaunch, MarchUpdate, ReactivationOffer

Putting it all together

With these five components in a consistent order, separated by underscores, a campaign name might look like this:

NL_Email_AllSubs_2026-03_MarchUpdate — newsletter to all subscribers, March 2026
PROMO_Email_Customer_2026-04_SummerSale — promotional email to customers, April 2026
WIN_Email_Lapsed_2026-03_ReactivationOffer — winback email to lapsed contacts, March 2026

Anyone on your team — or a new starter on their first day — can read these names and immediately understand what each campaign is, who it went to, and when it sent. That's the goal.


Choosing your separator and date format

Two decisions that seem minor but matter more than you'd expect: your separator character and your date format. Both need to be decided once and locked in forever.

Separator

The most common options are underscore (_), hyphen (-), and dot (.). Underscores are the safest choice for most teams — they're universally supported, look clean in URLs and UTM parameters, and don't interfere with date formatting if you're using hyphens in your dates.

Avoid spaces. Spaces in campaign names become %20 in URLs and create all sorts of problems in spreadsheet formulas and reporting tools.

Date format

ISO 8601 (YYYY-MM-DD or YYYY-MM) is the most widely recommended format because it sorts chronologically when campaigns are listed alphabetically. 2026-03 will always appear after 2026-02 and before 2026-04. Formats like March-26 or 03/26 do not sort correctly and will make your archive harder to navigate over time.


How to enforce it across your team

The best naming convention is worthless if it's only followed some of the time. Here's how to make it stick:


The free Campaign Naming Generator — what it does

I built the LiamMail Campaign Naming Generator specifically to solve the "I know I should be consistent but I never remember the format" problem. It's free, requires no account, and runs entirely in your browser — nothing is sent to a server.

Here's what it does:

🏷️
Five configurable fields
Campaign type, channel, audience segment, date, and theme/descriptor. Each field has a dropdown of presets based on real email marketing conventions, or you can type your own.
🔀
Drag-to-reorder
Every team structures names differently. Drag the field chips to reorder them — the name updates in real time to match. Your order is saved for next time.
📅
8 date formats
Choose from ISO, compact, US-style, month-year, and more. The date auto-fills to today and you can adjust it. Format preference is saved locally.
⚙️
Separator toggle
Switch between underscore, hyphen, dot, or space with one click. The name updates instantly — no retyping required.
💾
Session memory
Your field values, separator, date format, and field order are all saved in your browser's localStorage. Come back tomorrow and pick up exactly where you left off.
📋
One-click copy
The generated name is displayed in a clean output box with a copy button. One click, ready to paste directly into your ESP's campaign name field.
Coming soon: A team configuration mode where marketing teams can pre-set their naming structure — locking in field order, approved values per field, and separator — so every team member generates names that follow exactly the same convention. No deviation, no guesswork. If that's something your team needs, get in touch and I'll prioritise it.

A quick note on UTM parameters and campaign naming

If you're using UTM tracking — and you should be — your campaign naming convention and your UTM utm_campaign parameter need to work together. Most ESPs let you set UTM values per campaign, and the utm_campaign field should either match your campaign name exactly or be a clean slug version of it.

The LiamMail UTM Builder — another free tool in the toolbox — automatically slugifies your campaign name to lowercase-hyphenated format so it's GA4-safe. So NL_Email_AllSubs_2026-03_MarchUpdate becomes nl-email-allsubs-2026-03-marchupdate in your UTM string. Clean, consistent, and traceable.


Where to start

If you're starting from scratch — or inheriting a messy archive — don't try to retroactively rename everything. It's not worth the time and it'll break historical UTM data. Instead:

  1. Decide on your convention today. Five components, one separator, one date format.
  2. Document it somewhere your team can always find it.
  3. Apply it to every new campaign from this point forward.
  4. Use the naming generator to remove the manual effort.

Within three months you'll have a clean, searchable, reportable archive of every campaign you've sent. Within a year, you'll wonder how you managed without it.

Try the Campaign Naming Generator — free
No signup. No AI. Runs entirely in your browser. Your preferences are saved between sessions so your team can use it consistently every time.
Open the free tool →