You open the ad account. Someone named a campaign "New Test 3 - USE THIS ONE." Another says "Q4_FINAL_v2." A third is just the product name with no context.
Nobody on the team can tell you what objective these campaigns are running, which audiences they're testing, or when they launched. So you open each one to find out. Then you open the next one.
This is how an hour of your Monday disappears.
A campaign naming convention is a fixed schema that encodes the most important attributes of a campaign into its name, so anyone reading it can instantly understand what it is, what it's doing, and how it fits into the broader account structure. You define the schema once. Everyone follows it. You never open a campaign just to find out what it does again.
Done right, your campaign names become a queryable reporting layer, not just labels.
The Real Cost of Not Having One
Before getting into the framework, it's worth being honest about what poor naming actually costs.
It's not just aesthetics. It's reporting time, decision latency, and onboarding drag.
When your account has 40 campaigns with arbitrary names and you want to know which funnel stage drove last quarter's highest ROAS, you're running mental gymnastics instead of filtering a column. When a new hire joins and needs to understand the account structure, inconsistent naming means a week of hand-holding instead of self-service.
And the problem compounds fast. Run campaigns across Meta, TikTok, Google Ads, LinkedIn, Snapchat, and Pinterest simultaneously, and the chaos multiplies across every account. An agency managing 15 clients across 6 channels without a shared naming system is one rogue intern away from a very expensive mistake.
The fix isn't complicated. But it does require committing to a system.
What a Campaign Name Actually Needs to Tell You
Every campaign name should answer four questions at a glance:
- What is this campaign trying to do? (Objective: conversions, awareness, traffic, lead gen)
- Who owns it? (Brand or client, especially for agencies)
- Where are we in the funnel? (Prospecting, retargeting, retention, upsell)
- When does it apply? (Evergreen, seasonal, or time-bound)
Everything else belongs either in the ad set name or in the ad name. Campaign names that try to encode audience targeting, creative formats, and bid strategies end up 80 characters long and unreadable.
The principle: Campaign names carry strategy. Ad set names carry targeting. Ad names carry creative. Keep each layer focused.
The Standard Campaign Naming Formula
Here's a template you can implement today across any channel:
[Brand/Client]_[Objective]_[Funnel Stage]_[Offer/Theme]_[Geo]_[Date]Real examples:
| Scenario | Campaign Name |
|---|---|
| DTC brand, conversion campaign | MotionBrand_Conv_Pros_SummerSale_US_2026Q3 |
| App UA campaign, awareness | AppXYZ_Aware_Pros_Install_Global_2026-07 |
| Agency client, retargeting | ClientA_Conv_Rtg_FreeShip_UK_2026-08 |
| B2B SaaS, lead gen | SaaSCo_Leads_Pros_DemoOffer_US_2026-09 |
| Evergreen brand, all markets | Brand_Conv_Pros_Evergreen_All_Always |
Field definitions:
- Brand/Client: Short code for the brand or client. Essential for agencies.
MotionBrand,ClientA,AppXYZ. Never skip this if you manage more than one account. - Objective:
Conv(conversions/sales),Leads,Traffic,Aware(awareness),Engage,Install. Match it to the platform's terminology where it matters. - Funnel Stage:
Pros(prospecting/acquisition),Rtg(retargeting),Lap(lapsed customers),Ups(upsell). This is the most important dimension for cross-channel analysis. - Offer/Theme: What's the hook or promotion?
SummerSale,FreeTrial,Evergreen,BFCM
Campaign Naming Across Platforms: What You Actually Need to Know
Most naming convention guides cover Meta and maybe Google. When you're running campaigns across 6, 8, or 12 channels, the rules get more nuanced. Each platform has different character limits, different campaign structures, and different default naming.
Here's a reference table for the platforms AdManage supports:
| Platform | Campaign Name Limit | Ad Set/Group Limit | Ad Name Limit | Notes |
|---|---|---|---|---|
| Meta (Facebook/Instagram) | 512 characters | 512 characters | 512 characters | Names appear truncated in most views; keep under 60 chars |
| TikTok | 512 characters | 512 characters | 512 characters | Ad group templates available for ad group level only |
| Google Ads | 256 characters | 256 characters | N/A | Keep names under 80 characters for readability across truncated views |
| 128 characters | 128 characters | N/A | Fewer campaign types; simpler naming | |
| Snapchat | 128 characters | N/A |
The practical implication: Your naming formula should fit the tightest limit across your full channel mix. If you run mobile or performance networks, AppLovin and Mintegral cap at 100 characters at every level; that is your ceiling. For teams running Meta, TikTok, Google Ads, and social channels only, the hard limits are generous, but names still get truncated in most dashboard views well before those limits.
Target 50–80 characters for campaign names. That fits every platform in this list, leaves room to add fields, and stays legible in compressed views. Test in every platform's campaign view before rolling out.
Building a Naming System That Works Across 12 Channels
Here's where most teams trip. They build a naming convention for Meta, then add another one for Google, then a third for TikTok. Three months later there's no way to answer "how did our summer sale perform across all channels?" because nothing maps across.
The solution is a channel-agnostic base schema with platform-specific adjustments, not platform-by-platform conventions.
Step 1: Define your controlled vocabulary
Pick your abbreviations and never deviate. Create a lookup table your team can reference:
| Field | Standard Values |
|---|---|
| Objective | Conv, Leads, Traffic, Aware, Engage, Install, Views |
| Funnel Stage | Pros, Rtg, Lap, Ups, Loy |
| Geo | ISO country codes (US, UK, AU) or region codes (EU, APAC |
The rule: If a field doesn't have an approved value for it, you don't add it to the name. You create the value first, add it to the vocabulary list, then use it. No freehand typing.
Step 2: Add platform identifiers for cross-channel campaigns
When the same campaign concept runs across multiple channels (as it should), add a channel prefix or suffix so you can filter by platform:
MotionBrand_Meta_Conv_Pros_SummerSale_US_2026Q3
MotionBrand_TT_Conv_Pros_SummerSale_US_2026Q3
MotionBrand_GGL_Conv_Pros_SummerSale_US_2026Q3
MotionBrand_LI_Leads_Pros_SummerSale_US_2026Q3This makes cross-channel reporting trivial. Filter by SummerSale and you see every channel's performance on that campaign. Filter by Meta and you see every Meta campaign.
Platform codes to use:
MetaorFBTT(TikTok)GGLorGAds(Google Ads)LI(LinkedIn)SC(Snapchat)PIN(Pinterest)RDT(Reddit)XorTW(X/Twitter)APL(AppLovin)TAB(Taboola)MTG(Mintegral)
Step 3: Decide whether platform identifiers go in the name or the UTM
If you're running each channel in its own ad account (which is standard), you may not need the platform prefix in the campaign name itself since the account tells you which platform it's on. In that case, save the characters and put the platform identifier in the UTM parameters instead.
If you're using a cross-channel reporting tool that aggregates all campaigns in one view (like AdManage's reports, or a BI tool), the prefix helps enormously because your campaigns from different platforms appear in the same table.
For most multi-channel teams: include the platform code in the name. The character overhead is worth the filtering clarity.
Naming Conventions for Different Campaign Types
Campaign names need slight adjustments depending on what you're running. Here's how to adapt the core formula:
Prospecting campaigns (new audiences):
Brand_Conv_Pros_Offer_Geo_DateStandard formula. Funnel stage Pros signals you're reaching new users.
Retargeting campaigns:
Brand_Conv_Rtg_30d_Offer_Geo_DateAdd the retargeting window when it matters: Rtg_7d, Rtg_30d, Rtg_90d. This tells you exactly which part of the funnel you're hitting.
App install / UA campaigns (AppLovin, Mintegral, TikTok):
AppName_Install_Pros_iOS_US_Date
AppName_Install_Pros_Android_US_DateFor mobile, include the OS (iOS, Android) since performance diverges heavily. Include the store if needed (AppStore, Play).
Evergreen always-on campaigns:
Brand_Conv_Pros_Evergreen_US_AlwaysUse Always for the date field to make it instantly clear this campaign runs indefinitely. Avoids the "which Q3 campaign are we in now?" confusion.
Seasonal or promotional:
Brand_Conv_Pros_BFCM_US_2026-11
Brand_Conv_Pros_Q4Sale_US_2026Q4Be specific about the season. Q4 is vague. BFCM tells you exactly what this is for.
The Most Common Campaign Naming Mistakes (and How to Spot Them)
After seeing thousands of ad accounts, the errors that cause the most downstream pain are predictable:
- No funnel stage. "Brand_Conv_US_2026Q3" tells you objective and geo but not whether you're prospecting or retargeting. You have to open the ad set to find out. Add
ProsorRtgevery time. - Spaces in names. Spaces break UTM parameters, cause issues in CSV exports, and make regex filtering a nightmare. Use underscores. Always.
- Inconsistent abbreviations. "Conversions" in one campaign, "Conv" in the next, "Purchase" in the third. When you search for "Conv" campaigns in a BI tool, you miss two-thirds of your data.
- No date context on seasonal campaigns. Seeing "SummerSale" campaigns from three different years in your account with no year in the name is a reporting nightmare. Always include at minimum the year.
- Version numbers in campaign names. "SummerSale_v2_FINAL" is campaign naming as editorial. Version numbers belong at the ad level, not the campaign level. If you're versioning campaigns, you're probably testing at the wrong level.
- Client name missing (agencies). The single most expensive naming mistake for agencies. One wrong assumption about which account you're in + a campaign with no client identifier = a very uncomfortable client call.
How AdManage Handles This Automatically
For teams launching at volume, enforcing a naming convention manually is not sustainable. Someone will deviate. Abbreviations drift. New team members default to "Campaign 1."
AdManage's naming convention templates let you define your schema once using dynamic tokens:
{client}for the brand or client name{YYYY-MM-DD}for auto-inserted dates in your preferred format{adtype}for the ad type or format{filename}to carry the creative file name through to the ad name
You set the schema at the account level. Every ad launched through AdManage inherits the structure automatically. No manual typing, no QA round to catch deviations, no naming drift over time.
The same applies to UTM parameters. AdManage's UTM management feature lets you define UTM rules at the account level so every campaign, ad set, and ad links back to your analytics with consistent parameters. The campaign name in your ad platform and the utm_campaign parameter in your landing page URLs stay in sync.
For deeper guidance on the full four-layer naming system (file names, ad names, ad set names, campaign names) and how they connect to creative analytics, see our ad creative naming conventions guide. For Meta-specific naming in detail, including the full three-tier hierarchy with examples, the Facebook ad naming convention guide goes deep on the Meta structure.
How We Know What We Know
We're AdManage, a bulk ad launch and management platform used by performance marketing teams across DTC brands, app companies, and agencies managing campaigns across 12 channels including Meta, TikTok, Google Ads, AppLovin, Snapchat, Pinterest, Reddit, X, LinkedIn, Taboola, ChatGPT Ads, and Mintegral.
We built naming convention automation into AdManage because we watched it fail manually at scale. The patterns in this article come from the operational reality of teams launching at volume across every major paid channel, not from general marketing theory.
The framework works whether you're running 50 campaigns or 5,000. The schema is simple enough to be adopted quickly and specific enough to give you real reporting leverage.
Numbers like our current launch volume and ad count are updated on our website regularly rather than here, since these figures change fast.
Frequently Asked Questions
What's the minimum a campaign name needs to include?
At minimum: objective, funnel stage, and some date context. Everything else is additive. A campaign named Conv_Pros_2026Q3 is already dramatically better than "New Campaign 2." Start there and add fields as your reporting needs grow.
Should I use the same naming convention across all ad channels?
Yes, with minor platform-specific adjustments. Building channel-specific naming conventions means your cross-channel reporting falls apart. Start with a shared base schema, add a platform identifier, and adjust abbreviations where needed. The goal is one naming system across all channels, not one per channel.
What's the difference between campaign naming and ad set naming?
Campaign names encode strategy: objective, funnel stage, offer, geo, timeframe. Ad set names encode delivery: audience type, targeting details, placement, bid strategy. Ad names encode the creative: format, hook, offer, version. Keep each layer focused on its job and you'll never have 120-character campaign names again.
How often should I update or change my naming convention?
Revise it when something genuinely breaks in reporting, or when you add a new channel or campaign type that doesn't fit the current schema. Never change it mid-flight for active campaigns. Apply updates to new campaigns going forward and document the change date, so you know which naming system applies to which historical periods.
Can I use spaces in campaign names?
No. Spaces break UTM parameters and create unpredictable behavior in CSV exports and filtering. Use underscores (_) between fields and avoid spaces everywhere.
Do I need to include the platform name in the campaign name if each channel has its own ad account?
It depends on your reporting setup. If you only ever look at campaigns inside a single-channel ad account, the platform identifier is redundant. If you pull data into a cross-channel dashboard or reporting tool where campaigns from multiple platforms appear together, the platform prefix is essential. For most multi-channel teams, include it.
How does campaign naming connect to UTM tracking?
Your campaign name in the ad platform and your utm_campaign parameter should match exactly. When they do, you can join ad platform performance data (spend, impressions, clicks) to site analytics data (sessions, conversions, revenue) by the campaign field. When they don't match, you lose that join. AdManage's UTM feature handles this automatically by syncing the naming schema to UTM parameters at launch.
For the full four-layer naming system including asset file naming, ad naming, and how to connect everything to Google Analytics UTMs, see our ad creative naming conventions guide. For agencies managing multichannel campaigns, explore AdManage for agencies.
