App Campaign Naming Convention: Templates for Meta, Google, TikTok & ASA

You launched 40 app campaigns last quarter. Meta, Google, TikTok, Apple Search Ads. The whole stack. Now you're trying to figure out which ones drove subscriptions. Your campaign list looks like this:
-
Campaign_1 -
iOS_US_test_v2 -
Meta_retarget_new_FINAL_copy -
TikTok_aug_broad_3
The data is there. You just can't read it.
This is the app campaign naming problem. It's invisible when you're running three campaigns. It becomes expensive once you're managing 50. Messy app campaign names mean you can't filter by channel, can't compare creative formats, can't track what a specific audience is doing across platforms. You end up scrolling through a spreadsheet trying to remember what "copy_2_new" meant six months ago.
Key Takeaways
-
Campaign names are data infrastructure, not labels. What you name a campaign determines whether your reporting tools can parse it six months from now.
-
Every app campaign needs 5 core fields: platform, objective, audience type, launch date, and a unique identifier. That's 5 fields total.
-
Creatives need their own naming system, separate from campaigns, capturing format, style, and hook concept.
-
UTM naming for app marketing is the bridge between your ad platforms and your analytics, and it needs to mirror your campaign names, not contradict them.
-
One consistent system beats a perfect one. The best app campaign naming convention is the one your whole team actually uses.
Why Campaign Naming Breaks at Scale
Poor data quality costs organizations $12.9 million per year on average, according to Gartner. Forrester puts it more directly: 21 cents of every media dollar is wasted due to data quality issues. For app marketers, one of the most common data quality problems is also the most fixable, campaign naming.
When you're running three campaigns, inconsistent names are a minor inconvenience. When you're running 30, they become a reporting problem. At 100, they make decisions impossible.
Here's what typically happens: you launch a campaign, name it something sensible, then duplicate it to test a new audience. The duplicate keeps most of the original name. You do this 20 more times. Three months later, you have 60 campaigns, half are variations of each other with no clear way to tell what's actually different.
1. Where your app campaign data actually lives
When you run app campaigns, your performance data lives in 3 separate systems: your ad platform (Meta, Google, TikTok), your attribution tool, and your app store. Each defines installs differently, counts subscription events differently, and produces different numbers. Your ad platform counts a click; your attribution tool counts a first open; your app store counts a download. Your campaign names are the one thread connecting all three. If the names don't match across systems, reconciliation becomes a manual job. and a regular source of errors.
What "Fixed" Looks Like: Before vs. After
The fastest way to understand the system is to see it fix a real mess. Here are 6 common campaign names from an account running 3 months without a convention. Here's what each one looks like after applying the framework.
| # | Before | After |
|---|---|---|
| 1 | Campaign_1 | META_TRIAL_COLD_20260115_V1 |
| 2 | iOS_US_test_v2 | GADS_INSTALL_IOS_US_20260115_V1 |
| 3 | Meta_retarget_new_FINAL_copy | META_TRIAL_RETARGET_20260115_V2 |
| 4 | TikTok_aug_broad_3 | TT_INSTALL_COLD_20260801_V3 |
| 5 | google_app_march | GADS_INSTALL_AND_US_20260301_V1 |
| 6 | ASA_brand_keywords_copy2 | ASA_EXACT_US_20260115_V2 |
Every "after" name answers the same 5 questions in the same order. You can sort by platform, filter by objective, and compare audience types across all 6 campaigns in seconds, without opening a single one.
Note: Google campaigns (#2 and #5) add OS and GEO as extra fields. The channel-specific templates section explains this.
Build Your App Campaign Naming Framework
A solid app campaign naming convention is a fixed pattern applied to every campaign name so anyone, and any reporting tool, can understand key details at a glance. It answers five questions from the name alone: where is it running, what is it optimizing for, who is it targeting, when did it launch, and what makes it distinct from similar campaigns.
The formula for any app campaign name:
Platform + Objective + Audience type + Launch date + Unique identifier
Put these together using underscores as separators and you get something like:
META_TRIAL_COLD_20260115_V1
That name tells you: it's a Meta campaign, optimizing for trial starts, targeting cold audiences, launched January 15, 2026, creative variant 1. Anyone on your team can read it without opening the campaign.

1. Platform (2–3 letter code)
Use a short, consistent code for each ad channel. Pick one version and never vary it:
| Channel | Code |
|---|---|
| Meta Ads (Facebook + Instagram) | META |
| Google App Campaigns | GADS |
| TikTok Ads | TT |
| Apple Search Ads | ASA |
When you're running the same campaign structure across platforms and comparing performance, having three different names for Meta, FB, META, Facebook creates three separate rows in your analytics tool. They look like three different channels.
2. Objective (what you're optimizing for)
This field encodes what the platform is optimizing toward. For subscription apps, common values are:
-
INSTALL: app installs -
TRIAL: free trial starts -
SUB: paid subscriptions -
ROAS: return on ad spend
The objective field in your campaign name should always match your actual optimization event. Optimize for installs, you get installs. Optimize for subscriptions, you get subscriptions.
3. Audience type
Keep this high-level. You need to filter and compare, not encode every targeting detail:
-
COLD: new audiences, no prior interaction -
LAL1,LAL2: lookalike audiences at 1%, 2% size -
RETARGET: prior app visitors or engagers -
REENGAGE: lapsed users
With audience type in the name, you can compare how the same creative performs on cold vs. warm traffic without opening each campaign individually.
4. Launch date (YYYYMMDD format)
Use YYYYMMDD. Always. This format sorts chronologically in any spreadsheet or BI tool, across every country's date convention. 20260115 is unambiguous. Jan15 or Q1 is not.
Never use relative dates. "Summer2025" made sense at launch. Six months later, it's noise in your campaign list.
5. Unique identifier
The last field separates otherwise identical campaigns:
-
V1,V2,V3: creative variants -
T1,CTRL: test/control variants -
PROMO: limited-time offers
Name Your Creatives Separately
Campaign-level naming is the foundation of any app campaign naming system. Creative naming is where most teams fall short.
When you're running tests across Meta, TikTok, and Google simultaneously, you can have hundreds of active creatives. Without a separate naming system, you can see that an ad performed well, but you can't find the file, you don't know why it worked, and you can't build on it.
Creative naming answers three questions: format (what type of ad), style (how it was produced), and concept (what hook or idea it uses).
| Dimension | Codes | Example |
|---|---|---|
| Format | VID15, VID30, STATIC, CAR | 15s video, 30s video, image, carousel |
| Style | UGC, ANIM, DEMO, NARR | User-gen, animation, demo, narrated |
| Concept | PAIN, PROOF, OUTCOME, HOWTO | Pain point, social proof, result, tutorial |
A complete creative name follows the same logic: VID30_UGC_PAIN_V1. That's a 30-second UGC-style video built on a pain point hook, first variant. Enough to filter, compare, and iterate across channels.
One practical rule: platform-assigned creative IDs (the numeric IDs Meta or TikTok generate for each ad) change every time you duplicate or rebuild a campaign. Your internal creative naming does not. Always use your own system as the canonical reference.
TikTok creative fatigue arrives fast. Top-performing creatives typically last 7 to 10 days before performance drops, far shorter than Meta's 2-4 week cycle. TikTok's guidance is to refresh when delivery shows a consistently declining trend. Without creative naming, you can't tell which hooks are burning out vs. which still have runway.
Want to see how App campaign naming convention works with your data?
Get hands-on with Airbridge and see real results.
Try It Free →UTM Naming for App Marketing
Campaign names live inside your ad platform. UTM parameters travel with the click URL and flow into your analytics or attribution tool. Both systems need to work together, and the first step is making sure they speak the same language.
If your campaign names and UTM parameters use different naming schemes, you'll have two systems telling two different stories. Reconciling them manually does not scale.
1. The 5 UTM fields for app campaigns
The goal of UTM naming for app marketing is what StartApp School calls "apples-to-apples" cross-platform comparison, the same campaign structure producing the same data shape in every reporting tool you use.
| UTM Field | What it captures | App example |
|---|---|---|
| utm_source | Ad platform | meta, google, tiktok, asa |
| utm_medium | Channel type | paid_social, paid_search, cpc |
| utm_campaign | Specific campaign | Mirror your campaign name |
| utm_content | Creative variant | Mirror your creative name |
| utm_term | Audience or keyword | cold_lal1, brand_keyword |
The most common UTM mistake in app marketing is using inconsistent values across platforms. utm_source=facebook on one campaign and utm_source=fb on another look like two separate traffic sources in your analytics tool. Your total Meta performance appears split across multiple rows. Your aggregated reporting is wrong, and you won't notice until someone tries to reconcile the numbers.
2. The one rule for UTM naming
Understanding attribution windows helps you set the right UTM tracking windows across channels. Your utm_campaign value should mirror your campaign name structure. If the campaign is META_TRIAL_COLD_20260115_V1, the UTM should follow the same logic, not a different scheme that requires mental translation at reporting time.
Keep UTM values lowercase. No spaces (use underscores). No special characters. Google Analytics confirms UTM values are case-sensitive: utm_source=facebook and utm_source=Facebook are logged as two separate traffic sources (Google Analytics docs).

Channel-Specific Naming Templates
Here's how the framework translates to each major app campaign channel.
1. Meta Ads
Meta's three-level structure maps directly to a three-level naming system. In practice, Meta's delivery tends to prioritize 1–2 creatives per ad set, so naming makes it easy to identify which ads are getting budget and pull winners into new tests.
| Level | Template | Example |
|---|---|---|
| Campaign | META_{OBJ}{AUD}{DATE} | META_TRIAL_COLD_20260115 |
| Ad Set | {AUD_DETAIL}{GEO}{BID} | LAL1_US_MAXCONV |
| Ad | {FORMAT}{STYLE}{CONCEPT}_{VARIANT} | VID30_UGC_PAIN_V1 |
For more on how to structure Meta campaigns for subscription app performance, see Meta ads for subscription apps.
2. Google App Campaigns
Google App Campaigns give you less targeting control than Meta, but naming still matters for filtering and cross-platform reporting.
| Level | Template | Example |
|---|---|---|
| Campaign | GADS_{OBJ}{OS}{GEO}_{DATE} | GADS_INSTALL_IOS_US_20260115 |
| Ad Group | {CREATIVE_THEME}_{VARIANT} | OUTCOME_HOOK_V1 |
One important distinction: Google has less user data on iOS than on Android, which limits optimization quality on iOS. If you're running separate iOS and Android campaigns, make the OS explicit in the name: GADS_INSTALL_IOS_US vs GADS_INSTALL_AND_US. See how self-attributing networks report data differently.
3. TikTok Ads
TikTok mirrors Meta's three-level structure. Creative naming is especially important here because refresh cadence is higher than any other channel. Without clear naming, you can't tell which hooks still have runway and which ones are burning out.
| Level | Template | Example |
|---|---|---|
| Campaign | TT_{OBJ}{AUD}{DATE} | TT_INSTALL_COLD_20260115 |
| Ad Group | {GEO}{AUD_DETAIL}{BID} | US_BROAD_MAXCONV |
| Ad | {FORMAT}{STYLE}{CONCEPT}_{VARIANT} | VID15_UGC_HOOK1_V2 |
The first second of a TikTok ad drives most of the performance signal. Your hook concept in the creative name (PAIN, PROOF, OUTCOME, HOWTO) becomes your creative analytics layer, which tells you which categories are working before you burn budget finding out. For creative strategy specifics, see TikTok ads for subscription apps.
4. Apple Search Ads (ASA)
ASA only optimizes toward clicks and installs, not purchases. Your naming should reflect that ASA is a high-intent discovery channel, not a direct-subscription driver.
| Level | Template | Example |
|---|---|---|
| Campaign | ASA_{MATCH_TYPE}{GEO}{DATE} | ASA_EXACT_US_20260115 |
| Ad Group | {KEYWORD_THEME}_{GEO} | PRODUCTIVITY_APP_US |
For ASA, the keyword theme matters more than audience type, because you're capturing users already searching for a solution. See Apple Search Ads for subscription apps for keyword strategy.
3 Naming Mistakes That Tangle Your Data
1. Using special characters or spaces
Spaces, commas, asterisks, and exclamation points break URL encoding in app campaign names, get stripped by reporting tools, and create mismatches between ad platforms and analytics. Use only underscores (_) as separators. Never spaces.
This is the most common technical error teams make when figuring out how to name ad campaigns app-side. It's also the easiest to prevent. Establish the rule before you launch and enforce it with a shared naming document.
2. Being too specific or too vague
Too specific: META_TRIAL_US_M25-34_LAL1_PAINPOINT_SUMMERPROMO_V3_20260115_TESTB
Aside from being impossible to scan, long names create a hard technical problem: AppsFlyer enforces a 100-character campaign name limit. Names that exceed it are replaced with c_name_exceeded_max_length in your reports, making that campaign's data permanently unreadable.
Too vague: Meta_campaign_1
Useless after the first week.
One practitioner in the StartApp School curriculum described a naming convention with 14 underscores that caused regular mistakes by their design team. If your designers need a decoder ring to read a campaign name, it's too long.
The sweet spot is 5–7 fields in consistent order. Enough to filter and compare. Short enough to read at a glance.
3. Not documenting the system
A naming convention only works if everyone uses the same one. That requires documentation: a shared Google Sheet or Notion page listing your approved codes, your date format, and a naming example for each channel.
Without documentation, every new hire invents their own system. The chaos returns.
FAQ
Do I need an app campaign naming convention if I'm only running one channel?
Yes, but you can simplify. Drop the platform code (it's redundant when you have one channel) and focus on objective, audience, and date. The habit of consistent naming matters more than complexity. When you add a second channel in three months, you'll be glad you started early.
What is the difference between a campaign name and a creative name?
Campaign names identify where an ad is running, who it's targeting, and when it launched. Creative names identify what the ad looks like: its format, production style, and hook concept. Both follow the same naming logic: short codes, underscores, consistent order, but they live at different levels of your ad account structure. Campaign names go on the Campaign level. Creative names go on the Ad level.
Your App Campaign Naming Reference Card
Every code your team will ever need, in one place.
| Field | Format | Approved codes |
|---|---|---|
| Platform | 2–4 letters | META GADS TT ASA |
| Objective | 4–6 letters | INSTALL TRIAL SUB ROAS |
| Audience | Short tag | COLD LAL1 LAL2 RETARGET REENGAGE |
| Launch date | YYYYMMDD | 20260115 |
| Unique ID | Short tag | V1 V2 T1 CTRL PROMO |
| Separator | Character | _ (underscore only. No spaces, no hyphens) |
Full campaign name formula: {PLATFORM}_{OBJECTIVE}_{AUDIENCE}_{DATE}_{ID}
Full creative name formula: {FORMAT}_{STYLE}_{CONCEPT}_{VARIANT}
| Creative field | Approved codes |
|---|---|
| Format | VID15 VID30 STATIC CAR |
| Style | UGC ANIM DEMO NARR |
| Concept | PAIN PROOF OUTCOME HOWTO |
Keep a copy of this table in a shared doc. When a new code is needed (new channel, new objective), add it here first, then use it everywhere.
Build the System Before You Scale
App campaign naming conventions are infrastructure. Put them in place before the chaos arrives.
The system here takes about an hour to set up, 30 minutes to document, and zero extra time per campaign once it's a habit. Filter by audience type, compare creatives across channels, and build reports that don't need weekly cleanup.
And when you need to answer the question "which campaigns drove subscriptions last quarter?", the answer is in your data, sorted and filterable, without guesswork.
Ready to transform your mobile growth?
Learn how Airbridge helps leading brands measure and optimize every touchpoint.


