Campaign naming conventions for Sales Ops that stay searchable
Campaign naming conventions that help Sales Ops keep domains, segments, owners, and tests searchable months later with a simple, repeatable format.

Why campaign names get messy fast
Campaign names usually start simple: "Q1 outreach" or "New leads test." Then things speed up. New segments appear, owners change, and someone duplicates an old campaign to save time. Before long, names turn into half-notes and inside jokes that made sense on launch day.
The problem usually isn't carelessness. It's that most teams never decide what a campaign name must include, so every new launch becomes a one-off. That’s how you end up with ten campaigns that sound similar but behave differently.
Here’s what breaks first:
- You can’t find everything owned by one rep because names switch between "JD," "John," and "Jones."
- You can’t pull a clean list for a segment because one person writes "saas," another writes "b2b-saas," and a third uses a list nickname.
- You can’t trace deliverability issues to a sending setup because the domain or pool isn’t in the name.
- You can’t compare tests because A/B naming drifts into "v2," "final-final," and "subject test".
- You can’t tell what’s active vs paused because status is implied instead of labeled.
This gets painful after 30 to 90 days. Your memory fades, but the data sticks around. Someone asks, "Which campaign did we use for EU agencies last quarter?" and you end up clicking into each one to inspect settings, copy, and sending accounts. Reporting takes longer, and mistakes get easier, like reusing a suppressed segment or sending from the wrong domain.
A quick example: a team runs three similar offers across two sending domains. Two months later, replies drop. If the names don’t include the segment and sending setup, troubleshooting becomes guesswork. If they do, you can filter fast and see whether the issue follows a domain, a segment, or a specific test.
Good campaign naming conventions feel boring, and that’s the point. A good name is searchable, sortable, and consistent across tools. If you run outbound in a platform where domains, mailboxes, sequences, and reply outcomes live together (like leadtrain.app), clean names make it much easier to spot patterns without digging through settings.
What a naming convention should do for Sales Ops
A naming convention isn’t a style preference. It’s a way to answer basic questions weeks or months after a campaign launched. If your team can’t find the right campaign in 10 seconds, the name failed.
Start with the questions Sales Ops asks most often. The name should answer them without opening the campaign:
- Who was targeted (segment/ICP)?
- Who launched it (owner/team)?
- What motion is it (cold email, follow-up, reactivation)?
- What’s being tested (if anything)?
- When did it start (month, week, or sprint)?
Then make it non-optional. If people are allowed to "just name it something" for a one-off, the system breaks quickly. Edge cases will happen, but they still need to fit the same structure.
Order matters more than creativity. When every name uses the same sequence of parts, your eyes learn where to look. Scanning a long campaign list becomes easier, and filtering becomes reliable.
Keep it readable for a new teammate on day one. Avoid inside jokes, vague labels (like "test 2"), and abbreviations only one person understands. If you abbreviate, use the same abbreviation every time.
The key parts: period, motion, segment, owner, sending setup, test
A good campaign name answers one question fast: what is this, who is it for, who launched it, what’s it sent from, and what’s being tested?
Think of the name as a few tags in a fixed order. Most tools sort alphabetically, so the early parts determine what groups together.
1) Period (month or day)
Use a period that sorts cleanly:
- Month:
2026-01 - Day (for short tests):
2026-01-17
Pick a default. Most teams do fine with month-level naming for ongoing outbound and day-level only for short experiments.
2) Motion
Add the motion so intent is obvious, for example: cold-email, follow-up, reactivation.
Keep the list small. If everyone invents their own ("cold", "outbound", "prospecting"), search results get messy.
3) Segment tag
This is the "who". Use one compact tag that combines ICP and the cut, for example:
saas-financeagencies-10-50ecom-us
Decide on separators once and keep them consistent. Hyphens are usually the simplest for readability.
4) Owner tag
Add an owner so questions land with the right person. This can be a team (sdr-east) or a person (mia).
If ownership rotates often, prefer the team tag in the name and track the current individual elsewhere.
5) Sending setup tag (domain or pool)
Cold email performance often depends on the sending domain or mailbox pool. Put a short domain alias or pool tag in the name so deliverability issues don’t get hidden.
Examples: d1, d2, pool-a.
6) Test tag
Make tests obvious with boring tags you can compare later:
controlt01a,t01bv1,v2(only if you use them consistently)
Avoid descriptive test text in the name. It feels helpful today, then becomes impossible to scan across dozens of experiments.
A simple structure you can standardize on
Pick one template and don’t change the order. A practical default is:
period_motion_segment_owner_sending_test
Example:
2026-01-17_cold-email_founders_jd_d1_t01a
If you later search for founders, jd, or d1, you’ll still find the right campaign months after it launched.
Keep it consistent:
- Use lowercase.
- Avoid spaces and extra punctuation.
- If a field is unknown, use
narather than leaving it blank. - Keep tags short (roughly 3 to 12 characters).
- Don’t include full company names or personal data. Use a segment label instead.
Set it up in one hour
You can land a workable convention in a single session if you focus on two things: one template and a small tag dictionary.
0:00 to 0:10 - Lock the template
Decide:
- Month vs day (
YYYY-MMvsYYYY-MM-DD) - One separator (underscores are easy to scan and copy)
- The exact order of tags
Write the template at the top of your doc and treat it like the rule.
0:10 to 0:30 - Build a small tag dictionary
Keep the lists tight. If it’s not in the dictionary, it doesn’t go in a campaign name.
- Motions:
cold-email,follow-up,reactivation - Segments: 5 to 15 max, based on how you route leads
- Owners: a short handle or team code (but choose one approach)
- Sending setups:
d1,d2,pool-a(whatever matches how you rotate) - Tests:
t01a,t01b(increment only when the hypothesis changes)
0:30 to 0:50 - Define change rules
This is where naming systems usually break. Keep the rules simple:
- New list or new segment: new campaign name.
- New sending domain or mailbox pool: new campaign name.
- New offer angle: new campaign name.
- Minor copy tweak inside the same campaign: keep the name; note it elsewhere.
- New hypothesis (real A/B test): bump the test tag (for example, from
t01tot02).
0:50 to 1:00 - Publish a one-page cheat sheet
Include:
- The template
- The approved tag dictionary
- 6 to 10 real examples (new segment, owner handoff, domain rotation, A/B test)
Also pick one person (usually Sales Ops or RevOps) to approve new tags. This one step prevents "just this once" names that ruin searchability.
Rules for edge cases (so the system survives real life)
A naming system only works if it handles the weird stuff without a debate every week.
When the plan changes mid-month
If a new segment appears mid-month, don’t rename the existing campaign. Keep the original name stable and create a new campaign with the new segment tag. That keeps reporting clean.
Owner changes are similar. If you want names to serve as a historical record, keep the original owner in the name and track current ownership elsewhere (CRM, notes, or a handoff doc). Decide this once and stick to it.
Multi-domain, multi-test, retries
If one campaign uses multiple domains, don’t list them all in the name. Use a pool tag (like pool-a) and keep a separate mapping of pool tags to actual domains.
For multiple tests at once, avoid stacking several test labels into one long name. If the audience split is different, split into separate campaigns. If the audience is the same and only the message changes, keep it one campaign and use one test tag.
For relaunches, use retries (r1, r2) only when the concept stays the same. If the offer or segment changes meaningfully, treat it as a new campaign with a new period tag.
Common mistakes and how to avoid them
Mistake 1: Free-text segments
Segments drift fast: us smb, us-smb, smb us, usa-smallbiz. A month later, search becomes guesswork.
Fix: keep a short approved segment list and reuse it.
Mistake 2: Separator chaos and mixed date formats
If one person uses underscores, another uses hyphens, and a third uses spaces, filters stop working. Dates are worse because 01-02-24 is ambiguous.
Fix: pick one separator and one date format and never vary. YYYY-MM and YYYY-MM-DD are clear and sort correctly.
Mistake 3: Hiding key info
If segment, owner, or sending setup is missing (or buried at the end), you can’t scan a long list or diagnose deliverability quickly.
Fix: make segment and owner required, and keep the sending setup tag in a fixed position.
Mistake 4: Renaming after results are shared
Changing names after reporting breaks the paper trail. Notes, screenshots, and exports stop matching.
Fix: treat names as stable IDs. If something truly changes, create a new campaign name instead of rewriting history.
Mistake 5: Names that try to include everything
Overstuffed names become unreadable and still miss what matters.
Fix: keep the name to a few consistent fields and put details (list source, exclusions, hypothesis) in the campaign description or an internal sheet.
Quick checks: a 5-minute naming audit
You don’t need a workshop to see if naming works. Run a few searches on 10 recent campaigns (including at least one A/B test):
- Search by one segment tag. The results should be clean and complete.
- Search by your A/B marker (for example,
t01). You should see the full set of tests without opening campaigns. - Search by sending setup (
d1orpool-a). You should get an exact list. - Ask two teammates to name the same hypothetical campaign. If they produce different names, your rules aren’t specific enough.
- Check an export view. If names get cut off or look like noise, move the most important tags earlier.
If a check fails, don’t rename everything. Tighten one rule, standardize going forward, and clean up only the most recent campaigns.
Example: one month of outbound that stays searchable
Imagine a 2-SDR team running two segments (SaaS founders and agencies) across two sending domains. They use one format:
YYYY-MM_motion_segment_owner_sending_test
Example names:
2026-01_cold-email_saas-founders_maria_d1_t01a2026-01_cold-email_saas-founders_maria_d1_t01b2026-01_cold-email_saas-founders_jay_d2_t02a2026-01_cold-email_agencies_maria_d1_t01a2026-01_cold-email_agencies_jay_d2_t01b
Now common questions become fast:
- "Pull all agency work Maria launched" - search
agencies_maria. - "List active tests" - search
t(or your specific pattern liket01). - "Deliverability dipped on d2" - search
d2and review only those campaigns.
Keep notes out of the name. Put details like list source, exclusions, or a one-line hypothesis in the campaign description field. That keeps names short and searchable.
Next steps: roll it out and keep it consistent
A naming system only works if people use it the same way every time. Make it a lightweight rule, not a suggestion. One owner (Sales Ops or RevOps) should be accountable for the template, the tag dictionary, and basic cleanup.
Make naming part of your launch checklist: confirm the segment, owner, sending setup, and test tag exist in the dictionary, and confirm the order matches the template.
Once a month, do a short cleanup: fix typos, remove duplicate tags, and retire old labels. That prevents slow drift from turning search into guesswork.
If you run outbound in LeadTrain, having a consistent name helps even more because domains, mailboxes, warm-up, sequences, and reply classification sit in one place. When the campaign name includes the segment and sending setup, it’s easier to connect performance changes to what actually changed.
FAQ
What’s the simplest campaign naming convention that actually works long-term?
Use a stable format that answers, at a glance, when, what motion, which segment, who owns it, what sending setup, and what test variant. A simple default is YYYY-MM(_DD)_motion_segment_owner_sending_test, kept in lowercase with underscores.
Should we use month or day in the campaign name?
Use month-level (YYYY-MM) for ongoing outbound so lists stay tidy and comparable across the month. Use day-level (YYYY-MM-DD) only for short experiments or launches where the exact start date matters for analysis and quick rollbacks.
How do we prevent “motion” tags from turning into a mess?
Pick a small set of motion tags and don’t allow new ones without approval. Most teams only need a few, like cold-email, follow-up, and reactivation, so search results don’t fragment across “cold”, “outbound”, and other near-duplicates.
What’s the best way to name segments so we can search them later?
Create an approved segment dictionary and reuse it exactly as written. Keep each segment to one compact tag that combines ICP and cut (like saas-finance or agencies-10-50) so filtering stays reliable months later.
How should we handle owner tags when reps change or handoffs happen?
Use a short, consistent owner handle (or a team tag) and stick to one approach. If ownership rotates a lot, put the team in the name and track the current individual elsewhere so the name remains a useful historical record.
Why include the sending domain or mailbox pool in the campaign name?
Add a short domain alias or pool tag (like d1, d2, or pool-a) so you can quickly isolate performance changes tied to sender reputation. This is especially useful when you’re troubleshooting deliverability and need to filter without opening each campaign’s settings.
How should we label A/B tests so results stay easy to compare?
Use boring, repeatable test tags such as control, t01a, t01b, then increment only when the hypothesis changes. Avoid descriptive test text in the name, because it won’t scan well after you have dozens of experiments.
When should we create a new campaign name instead of editing the old one?
Treat the campaign name like a stable ID once results are shared. If the segment, sending setup, or offer angle changes in a meaningful way, create a new campaign with a new name instead of renaming and breaking reports, notes, and exports.
What do we put in the name if we don’t know a field yet (like owner or sending setup)?
Use na as a placeholder so the structure stays consistent and searchable. Leaving fields blank makes names drift and breaks pattern-based searches, while na keeps the template intact and flags what needs cleanup later.
How does a naming convention help more when we run outbound inside LeadTrain?
If you use LeadTrain, keep the campaign name consistent with the same tags you rely on for filtering and troubleshooting. Since domains, mailboxes, warm-up, sequences, and reply classification live together, a clear segment and sending setup tag in the name makes it faster to spot whether drops in replies track to a domain/pool, a segment, or a specific test.