Email Campaign Naming Conventions: Templates You Can Copy Today
A good email campaign naming convention is a single string that a human can read at a glance and a report can group by without manual cleanup. If your sent folder contains "Newsletter final v2" and your analytics show utm_source=Email, utm_source=email and utm_source=newsletter for the same send, you don't have a naming problem — you have a reporting problem that starts at naming. This article gives you copy-ready templates for campaign names, UTM parameters, subject lines, preview text and body copy, plus the rules that keep them consistent across a team.
When to use these email campaign naming convention templates
The convention pays off when any of these are true:
- You send at least one campaign a week, so manual memory stops working.
- More than one person builds or schedules campaigns.
- You report on performance by campaign type, audience or channel.
- You run paid, social and organic traffic into the same landing pages and need to tell email apart in analytics.
- You A/B test regularly and need to know which arm produced which result.
Scope note: this covers three things that should agree with each other — the campaign name (internal label), the UTM parameters (external tracking), and the copy templates that pair with them.
The four parts of a campaign name
Every campaign name in this system has the same four slots, in the same order:
YYYY-MM-DD_type_audience_variant
Worked example:
2026-03-14_promo_winback-lapsed-90d_v2
- Date — ISO format (
YYYY-MM-DD) so alphabetical sorting equals chronological sorting.03/14/26sorts wrong and means different things in different regions. - Type — from a closed list you write down once:
newsletter,promo,lifecycle,announcement,event. Five values is plenty. The convention only works if nobody invents a sixth on a Friday afternoon. - Audience — the segment name exactly as it appears in your platform. If the segment is called
lapsed-90d, the campaign sayslapsed-90d, notlapsed90orwinback-list. - Variant —
v1,v2for A/B arms, or a short label likeshort/longwhen the test variable is obvious from context.
Keep the whole string under roughly 60 characters where you can. Many platforms truncate campaign names in list views, and a truncated name loses exactly the part you needed.
Not sure your current tool is the right fit? Compare the Best Email Marketing Platforms by price, features and free plans for your exact list size.
The templates (copy and adapt)
1. Campaign name
YYYY-MM-DD_type_audience_variant
2026-04-02_newsletter_all-subscribers_v1
2026-04-06_lifecycle_trial-day-3_v1
2026-04-09_promo_cart-abandoners_v2
When to use: every campaign, no exceptions. How to adapt: replace audience with your own segment names and keep the type list closed. If your platform supports folders or tags, mirror the type there so filtering works two ways.
2. UTM parameters
utm_source=mailerflow
utm_medium=email
utm_campaign=2026-04-02_newsletter_all-subscribers_v1
utm_content=hero-cta
utm_term=subject-line-a
Rules that prevent the usual mess:
- Lowercase everything. Analytics tools treat
Emailandemailas different values. - Hyphens, never spaces. Spaces get encoded as
%20and break grouping. utm_campaignmirrors the campaign name exactly, so a click report and a send report line up.utm_contentnames the link position (hero-cta,footer-link), not the destination.utm_termis optional — use it for paid-style tests or subject line arms, skip it otherwise.
How to adapt: if you want a rolling report by type rather than by individual send, drop the date from utm_campaign and use 2026-04_newsletter_all-subscribers. Pick one approach and stay with it, because switching mid-quarter splits your history.
3. Subject line templates
Benefit-led: Cut your reporting time in half this month
Curiosity+specifics: The one field most teams forget in their UTM setup
Plain-internal: Your April product update is inside
When to use: benefit-led for promos and feature announcements, curiosity-with-specifics for newsletters and educational sends, plain-internal for lifecycle and transactional-adjacent mail where trust matters more than clicks. How to adapt: swap in your own concrete detail — the specificity is what makes the curiosity version work, not the phrasing.
4. Preview text template
Subject: The one field most teams forget in their UTM setup
Preview: It takes two minutes to fix and saves an hour of cleanup every month.
The rule: preview text continues the subject line, it doesn't repeat it. If your subject says "April product update," the preview should say what changed, not "Here's your April update."
5. Body copy skeleton
Hook: One line naming the reader's situation.
Detail: One proof point, number, or concrete example.
Action: One link, one verb, one outcome.
Three blocks, in that order. Most campaign emails that underperform have four or five competing actions rather than a weak offer.
How to adapt: keep this skeleton as a reusable template so the structure survives across senders. Mailerflow's visual block editor supports headings, heroes, products, columns and social links, and reusable templates let you save the skeleton once and start each new send from it. If you'd rather draft the whole thing from a description, the AI email builder generates a responsive design plus subject lines and preview text you can then edit.
6. A/B variant naming
2026-04-02_newsletter_all-subscribers_v1 (subject: benefit-led)
2026-04-02_newsletter_all-subscribers_v2 (subject: curiosity)
How to adapt: define what v1 and v2 mean once, in the shared doc, and never reuse the labels for a different variable in the same month. If you test more than two arms, use v1–v4 rather than inventing new suffixes.
How to personalize them
Personalization should happen inside the copy, never inside the campaign name. A campaign name is a database key; a merge field in a key breaks every filter that touches it.
- Keep the audience token identical to the segment name. If your report filter and your segment filter use the same string, the two views return the same set of people. The moment they diverge, someone spends a Friday reconciling numbers.
- Use merge fields in subject lines and preview text, with fallbacks.
Hi {{first_name | default: "there"}}avoids the "Hi ," that reaches inboxes when a field is empty. - Map variant suffixes to the actual variable.
v1/v2for subject line tests,short/longwhen the test is length. Don't mix systems within one send. - If you segment by behavior, Mailerflow supports dynamic segments on fields, tags, engagement, events and website behavior, plus AI personalization steps and website-behavior data via the JS SDK — useful when the audience token needs to reflect what a contact actually did, not just what they signed up for.
Subject lines and preview text to pair with them
| Type | Subject line | Preview text |
|---|---|---|
| Newsletter | The one field most teams forget in their UTM setup | It takes two minutes to fix and saves an hour of cleanup every month. |
| Promo | Your upgrade ends Friday — here's what changes | Same account, higher limits, no migration needed. |
| Lifecycle | You're three days into your trial | The two settings most people change first. |
| Announcement | New: scheduled sends across time zones | Set it once per campaign and let it run. |
| Winback | Your saved list is still here | Nothing was deleted — pick up where you left off. |
Constraints worth respecting: keep subject lines short enough to survive mobile truncation (front-load the meaningful words), avoid all-caps and stacked punctuation, and treat the preview as a second sentence of the subject rather than a summary.
A/B testing subject lines is the fastest way to learn what a specific list responds to, and it's cheap to run. Mailerflow supports A/B testing of campaigns, so you can split an audience and compare arms within a single send rather than guessing across months.
Mistakes to avoid
- Mixed date formats.
03/14/26and2026-03-14in the same account. Fix: ISO only, everywhere. - Free-text type values. Someone writes
promo, someone else writespromotion. Fix: a closed list of five values, written down. - UTM values with spaces or capitals. Fix: lowercase and hyphens, checked before the first send.
- Reusing a campaign name across sends. The second send overwrites nothing but confuses everything. Fix: date or sequence number in every name.
- Personalization tokens in campaign names. Fix: names stay static; personalization lives in the copy.
- Drifting variant suffixes.
v2,B,altfor the same concept. Fix: define the meaning once and enforce it. - Naming campaigns after the tool or the sender.
HubSpot send 4tells a future reader nothing. Fix: name by purpose and audience.
One governance note: put the convention in a shared doc with the closed type list at the top, and review it once a quarter. Conventions decay quietly, and the decay shows up as a messy report three months later.
FAQ
How long should a campaign name be?
Short enough to survive truncation in your platform's list view — aim for under about 60 characters. The four-part pattern usually lands between 35 and 55 characters, which leaves room for a longer audience name without losing the date or type.
Should UTM parameters match the campaign name exactly?
utm_campaign should, yes. Mirroring it means a click report and a send report can be joined without a lookup table. The other parameters serve different purposes: utm_source identifies the platform, utm_medium says email, and utm_content names the link position.
What do I do with campaigns already sent under the old naming?
Leave them. Renaming historical sends rarely fixes the underlying data, and it can break saved reports. Draw a line at a specific date, document it, and apply the new convention from that send forward.
Do I need a naming convention for automations too?
Yes, but a different one. Automation emails don't have a send date, so name them by workflow and step: lifecycle_onboarding_step-2. The date slot is replaced by the sequence position.
Does capitalization matter in UTM values?
It does in most analytics tools, which treat Email and email as two separate values. Lowercase everything as a rule so you never have to check.
If you want the copy side of this to take less time, generate a complete, on-brand email from a short description with Mailerflow's AI email builder — there's a free plan if you want to try it on your next campaign.


