You're three months into bulk-launching ad variations. Hundreds of creatives are live. Performance is all over the place, and someone on your team just asked: "Which concept actually drove those conversions last week?"
You open the ad account. Every campaign name is a variation of "Final_Test_v2" or "New Campaign Copy." There's no way to answer the question without opening every single ad.
This is the pain that ad creative naming conventions solve. Not cute formatting tricks. Not organizational theater. Real, operational power: the ability to launch thousands of ads and still answer "what worked and why?" in under 60 seconds.
If you're managing creative testing at scale (hundreds to thousands of ad variations monthly), your naming convention isn't a nice-to-have anymore. It's the difference between creative analytics that drive decisions and a junk drawer you can't audit.
What You'll Learn About Ad Creative Naming
We're covering the complete system for naming ad creatives, campaigns, and ad sets on Meta and TikTok:
• Why naming conventions matter for creative testing at scale
• The 4-layer naming model (asset files, ads, ad sets, campaigns)
• Recommended schemas you can copy and implement today
• UTM mapping so your naming connects to site analytics
• Platform-specific features (TikTok templates, Meta automation)
• The rollout playbook that makes conventions stick
Let's get into it.
Why Ad Creative Naming Conventions Matter for Teams
Here's what's actually driving this search query.
Media buyers aren't looking for tips on formatting. They're trying to fix operational problems that cost real money:
Problem 1: You can't identify which creative concept an ad belongs to
When you've got 300 live ads and someone asks "how did the testimonial angle perform?", you shouldn't need to open every ad to answer. If your names don't encode the concept, you're flying blind.
Problem 2: Scaling winners destroys social proof because you can't reliably reuse Post IDs
Meta's engagement counts (likes, comments, shares) are massive trust signals. But if you can't quickly identify which Post ID belongs to a winning creative, you launch fresh ads and lose all that social proof. Preserving Post IDs when scaling is non-negotiable for performance teams.
Problem 3: Google Analytics becomes unusable because UTM parameters are inconsistent
When your ad names are inconsistent, your UTM tracking falls apart. GA4 shows "unassigned" traffic, duplicate campaign rows, and Source/Medium splits that make no sense. You can't join ad platform data to site analytics because there's no stable identifier.
Problem 4: Versioning is basically vibes
"v2" means nothing unless your team agrees on what triggers a version increment. Is it a new hook? Different aspect ratio? Changed offer? Without rules, versions are arbitrary labels that prevent real learning.
Problem 5: Reporting can't roll up performance by creative attributes
Want to know if UGC videos outperform product demos? If 9:16 beats 1:1? If Hook A resonates more than Hook B? Without structured reporting, you're stuck manually tagging ads in spreadsheets.
What "good" actually looks like:
You can answer these questions in less than 60 seconds, from ad names alone:
→ What concept is this ad?
→ What's the hook or angle?
→ Which creator or UGC type?
→ What format and aspect ratio?
→ Which version or iteration?
→ Can I find every variant of this concept across accounts and platforms?
→ Can I map clicks back to the exact creative in Google Analytics?
That's the standard. If your naming convention doesn't deliver this, it's theater.
What Are Naming Conventions? (Data Schemas, Not Descriptions)
Most teams fail because they treat ad names as descriptions instead of data models.
A naming convention is a compact data schema you encode into a string so humans and systems can:
1) Retrieve the thing fast (search and filter in ad manager)
2) Group it correctly (creative performance rollups)
3) Join it to other data (ad platform → UTMs → backend → dashboards)
Critical insight: If a field matters for decisions more than once, it deserves a standardized token in your naming schema. Otherwise, store it as metadata somewhere else.
This is why "Final_v2_really_final.mp4" fails. It's storytelling, not data.
7 Rules for Naming Conventions That Scale
Rule 1: Names Are for Retrieval, Not Storytelling
If your ad name reads like a sentence ("This is the summer sale video featuring testimonial from Jane"), you've already lost.
You want consistent slots (positional tokens) or key-value pairs so machines and humans can parse them reliably.
Rule 2: Every Creative Needs a Stable ID
You need an identifier that stays the same across:
• File name in your DAM (Google Drive, Frame.io, Dropbox)
• Ad name in Meta and TikTok
• UTM content parameter in site analytics
This is the only way to roll up creative performance across campaigns, platforms, and time windows. Without it, your "creative analytics" is just looking at individual ads in isolation.
Google explicitly warns that UTM parameter values are case-sensitive. facebook and Facebook become two different traffic sources in GA4.
Also, use underscores or pipes as delimiters (not spaces, ampersands, or slashes). They're URL-safe and don't break exports.
Rule 6: Versioning Must Be Deterministic
"v2" is meaningless unless your team defines what triggers a version bump.
Is it a new hook? A different aspect ratio? An offer change? Make it explicit, or versions become arbitrary labels that prevent learning.
Rule 7: The System Must Work Inside Your Launch Workflow
If your naming convention adds friction at the point of creation, people will bypass it.
The best convention is the one you can enforce automatically using templates, bulk tools, or platforms like AdManage that bake naming rules into the launch process.
The 4 Layers: What to Name in Your Ad Account
Paid social campaigns have four distinct layers. Each answers different questions and serves different stakeholders.
Layer A: Asset File Name (Creative Team → Media Team)
Goal: Identify the creative asset and group multi-format variants before ads even exist.
This is the filename your creative team hands off. It needs to tell you what the asset is and how it groups with other formats (9:16, 1:1, 4:5 versions of the same concept).
Why this matters:
If your file naming is inconsistent, bulk launch tools can't auto-group multi-placement creatives. AdManage's multi-placement feature relies on filenames matching exactly except for the aspect ratio identifier.
Campaign names are the broadest container. They should tell you the marketing goal and business context.
What to Include vs. Store Elsewhere: Field Library
Think in two buckets: decision fields (encode these in names) and context fields (store as metadata).
Bucket 1: Decision Fields (Encode These)
These are the fields you actually filter and group by every week.
Creative-level (ad + asset):
Field
Description
Priority
creative_id
Stable identifier
Required
concept
The creative idea or theme
Required
hook
The opening angle or message
Highly recommended
format
Video, image, carousel
Required
ratio
9:16, 1:1, 4:5, 16:9
Required
creator / ugc_type
If running UGC or influencer content
Optional
version
Iteration number
Required
Delivery-level (ad set / ad group):
Field
Description
Priority
audience_type
Broad, LAL lookalike, interest, retarget
Required
optimization_event
Purchase, lead, video_view, etc.
Required
placement_mode
Auto vs manual, if relevant
Optional
bid_strategy
Lowest cost, cost cap, bid cap
Optional
geo + language
If multi-market
Required for multi-market
Strategy-level (campaign):
Field
Description
Priority
objective
Sales, leads, traffic, awareness
Required
funnel_stage
Prospecting vs retargeting
Required
offer / promo
If time-bound: BFCM, Q1Sale, etc.
Optional
geo + language
Market targeting
Required for multi-market
timeframe
Launch date or quarter
Optional
Bucket 2: Context Fields (Store as Metadata, Not Names)
These change often, explode combinatorics, or are rarely queried:
• Every single targeting detail (detailed interest lists, age brackets, device types)
• Full ad copy text
• Internal ticket IDs or approval notes
• Creative brief details
Taxonomy best practices emphasize this: designate positions, standardize values, limit special characters, use short codes, and don't cram everything into the string.
Positional vs. Key-Value: Pick Your Schema Style
You have two architectural choices for encoding fields.
Positional Schema (Most Common in Ad Accounts)
Fast to scan. Easy to teach. Humans can read it quickly.
Pros: Robust to omissions, easier to parse programmatically
Cons: Longer strings, slightly harder to scan visually
My recommendation: Use positional for ad platform names (campaigns, ad sets, ads) and key-value for UTM parameters (because you're already in URL querystring land and parsing correctness matters more).
How to Implement Creative IDs That Actually Work
If you do nothing else, implement creative IDs.
A Practical Creative ID System
Use something like this:
• cr000123 (creative master ID, concept-level)
• cr000123_v03 (specific variant or version)
• Optionally hk01, ed02 for hook or edit families
Why not use platform-generated IDs?
Because you need the ID before you launch, and it needs to be stable across:
TikTok note: Ad names are internal only (not shown to users) and support up to 512 characters. Don't take the bait. Keep it human-scale.
3) Ad Set / Ad Group Name (Delivery Layer)
Template:
stage|audtype|audspec|opt|placement|bid|geo|lang
Example:
pros|broad|18-55|pur|auto|lowest|us|en
TikTok note: Ad group names also support 512 characters. Still don't use them. Keep it tight.
4) Campaign Name (Strategy Layer)
Template:
objective|stage|offer|geo|lang|startdate
Example:
sales|pros|evergreen|us|en|2026-01-13
How to Use Platform-Specific Naming Features
TikTok: Naming Templates (Ad Group Level Only)
TikTok supports ad group naming templates (last updated Feb 2025). Templates are available for all objectives except Branded Mission, and only at the ad group level (not campaign or ad level).
Templates can auto-fill fields like:
• Location
• Language
• Age
• Gender
• Operating system
• Bid strategy
• Schedule start/end time
• Custom fields
How to use this well:
Use templates to auto-populate your delivery layer (stage, audience, optimization, geo, language) so your team doesn't freestyle. But don't rely on it as your only naming system. You still need conventions for creative-level names and campaign strategy.
Meta: Naming Templates Exist, But Don't Rely on Them Alone
Meta has built-in naming templates for campaigns, ad sets, and ads (referenced in third-party docs that cite Meta's platform features).
How to use this well:
Use templates to reduce human error, but anchor everything around your creative ID + controlled vocabulary. Templates are helpful scaffolding, not the foundation.
UTM Best Practices: How to Connect Ad Names to Analytics
Your naming convention isn't done until it maps to UTM parameters.
Google's URL builder documentation explicitly warns that parameter values are case-sensitive. Facebook and facebook become two different sources in GA4.
The Cleanest UTM Mapping for Paid Social (Recommended)
Google's GA4 tagging best practices exist for a reason: inconsistent tagging breaks channel classification and reporting.
Also, browser privacy changes are not theoretical. Analytics experts note that Apple's iOS 26 "Link Tracking Protection" expansion created uncertainty around URL parameter stripping (especially click IDs). UTM parameters are typically safer than platform click IDs, but don't be complacent.
Use lowercase consistently. Use safe delimiters (pipes or underscores, not spaces or ampersands). Enforce via tooling, not humans.
How AdManage Enforces Naming Without Manual QA
AdManage is built for the painful parts: bulk launching, enforced naming, and UTM controls.
The platform automates the entire naming workflow so your team never manually types ad names again.
1) Enforce Ad Naming with Tokens (No More Manual Typing)
AdManage lets you configure naming conventions using dynamic tokens:
Then set {{customText}} to something like cr00142|pricingproof|hook01 so every ad inherits the structure automatically.
2) Standardize Date Formats (So Sorting Actually Works)
AdManage supports custom date formats. Example: {{dateFormat:ww-yy}} for "week 01 year 23."
Recommendation: Use ISO dates (yyyy-mm-dd) for anything you want to sort reliably. Dates like "Jan2026" or "12/15/25" break sorting in exports and dashboards.
3) Fix Asset Filenames Before Launch (Creative Team Handoff Problem)
AdManage's AI naming capabilities can detect:
• UGC vs. product shot
• Video length
• Creator demographics
• Auto-group multi-format creatives
Use this to enforce your asset layer so the ad layer inherits clean inputs.
4) Preserve Social Proof When Scaling Winners (Post ID / Creative ID Workflows)
AdManage documentation shows a workflow to launch with existing Post ID or Creative ID to preserve engagement counts (likes, comments, shares).
Naming implication: Add a simple marker when you're using an existing Post ID.
Example:
cr00142|pricingproof|hook01|vid|9x16|v03|pid
That pid token flags "social-proof preserved" so analysts can separate fresh ads from scaled winners with inherited engagement.
5) Multi-Placement Ads: Let Filenames Do the Grouping
AdManage's multi-placement guide states that files will be auto-grouped into placements based on filenames. Filenames must match exactly except for the placement identifier (e.g., ..._9x16.mp4 and ..._1x1.mp4).
This is why asset naming must be rock-solid before launch. If filenames are inconsistent, auto-grouping breaks.
How to Roll Out Naming Conventions That Actually Stick
Most naming conventions fail because they ship as a "doc." You need a system.
Step 1: Write a 1-Page Naming Spec
Include:
• The schema for each layer (asset, ad, ad set, campaign, UTM)
• "How to name a new concept" rules (creative ID issuance process)
Step 2: Create a Controlled Vocabulary List
Minimum viable dictionary:
Field
Allowed Values
stage
pros, rtg, lapsed, upsell
audtype
broad, lal, int, rtg
fmt
vid, img, car
ratio
9x16, 1x1, 4x5
objective
sales, leads, traffic
geo
ISO country codes or internal market codes
lang
ISO language codes
Step 3: Make It the Default in Tooling
• TikTok: Apply ad group naming templates
• AdManage: Configure naming convention tokens and date formats
• UTMs: Enforce via platform link builders or AdManage's UTM management
• Keep everything lowercase
Step 4: Add a QA Checklist Before Launch
Check:
✓ Every ad name contains crid + concept + hook + fmt + ratio + v
✓ Every multi-format creative has identical base filename except ratio
✓ utm_source, utm_medium, utm_campaign, utm_content are present and lowercase
✓ If scaling a winner: Post ID / Creative ID workflow used and marked with pid token
Step 5: Version the Naming Convention Itself
Eventually you'll need to change something. Don't silently mutate token meanings.
Add a convention version at the end if needed:
...|nc1
So nc1 = naming convention version 1, nc2 = version 2, etc.
Advanced Patterns: When Naming Becomes Competitive Advantage
Concept ID vs. Variant ID (So You Can Learn "What Works")
Use:
• cr00142 = concept (the "idea")
• v03 = execution variant
Then you can roll up:
• Concept performance across edits
• Hook performance across concepts
• Creator performance across everything
This is where you stop "testing ads" and start "testing hypotheses."
Campaign IDs as Join Keys (Real Multi-Source Measurement)
Naming conventions let you join disparate data sources by including a unique identifier that exists in platform names and URLs.
If you do any kind of data warehouse or BI work, this is pure gold. Your creative ID becomes the join key across:
• Meta Ads Manager exports
• TikTok Ads Manager exports
• Google Analytics sessions
• Backend conversion data
• BI dashboards
Flexible Ads / Dynamic Setups: Name the Inputs, Not the Algorithm
If the platform is mixing assets dynamically (e.g., Meta Advantage+ Shopping or Dynamic Creative), your job is to name the components and groupings so you can still analyze them later.
Set account-level UTM rules so every ad gets the right utm_source, utm_medium, utm_campaign, and utm_content parameters automatically.
3) Post ID preservation for scaling winners
Launch with existing Post IDs to keep social proof (likes, comments, shares) when scaling high-performers. This is critical for maintaining engagement-based trust signals.
4) Bulk preview links for approvals
Generate shareable preview links for all ads before going live. Get stakeholder sign-off without manual screenshot theater.
5) Multi-platform support (Meta + TikTok)
Launch the same creative to both platforms with consistent naming and UTMs. No platform-specific reformatting.
6) Translation and multi-market workflows
Built-in translation for multi-language campaigns. Your naming convention stays consistent across markets.
The ROI of Getting This Right
AdManage's homepage states that the platform has launched over 887,328 ads in the last 30 days, with significant time savings compared to manual processes.
Real numbers from the platform's public status page prove this scale.
That's the tactical benefit. The strategic benefit is bigger: when naming is automatic and consistent, your creative analytics become reliable. You can finally answer "which concepts drive conversions?" without opening every ad.
Short enough to scan in a table without horizontal scrolling. TikTok allows 512 characters for campaign, ad group, and ad names. That's not permission to write novels. Keep it human-scale.
Include only the identifiers you'll actually use for filtering and analysis. If something is never going to be a sorting criterion, leave it out.
Underscore or pipe delimiter?
Underscores are URL-safe and common in data taxonomies.
Pipes (|) are insanely readable in ad manager tables.
Pick one delimiter per layer and don't mix. I prefer pipes for ad platform names (better visual scanning) and underscores for UTMs (URL-safe).
Should we include dates in ad names?
Only if you actively segment analysis by launch wave. Otherwise, dates are better at the campaign layer or as metadata.
If you do include dates, use ISO format (yyyy-mm-dd) so sorting works correctly.
What if we already have a messy account?
Start forward:
• Define the new naming spec
• Apply it to everything new
• Optionally backfill winners and top spenders first
Don't try to retroactively rename every old campaign. You'll waste weeks. Focus on making everything new clean, then gradually phase out legacy naming.
Can we change the naming convention later?
Yes, but version it. Don't silently mutate token meanings.
Add a convention version marker (e.g., |nc1 for "naming convention v1") if you need to track which ads use which schema.
How do we handle dynamic creative or flexible ads?
Name the inputs (the assets and groupings you control), not the algorithm's behavior.
For example, if Meta is dynamically mixing headlines and images, your ad names should encode the creative IDs of those assets. You can't predict which combination will show, but you can still analyze performance by component.
What about AI-generated names?
AdManage's AI naming capabilities can auto-generate structured filenames by detecting attributes like UGC vs. product, video length, and creator demographics.
This is useful for the asset layer (fixing creative team handoff files). But you still need explicit rules for ad, ad set, and campaign layers because those encode strategy decisions the AI can't infer.
Naming Conventions: The Foundation of Creative Analytics
If you're launching hundreds or thousands of ad variations monthly, your naming convention is no longer optional. It's the infrastructure that makes creative testing scientifically valid instead of chaos.
The best naming convention is the one everyone on your team actually uses. That means:
• Document it clearly (1-page spec + controlled vocabulary)
• Make it automatic (templates, tooling, AdManage)
• QA it at launch (checklist before every batch goes live)
• Version it when needed (don't silently change token meanings)
When naming is baked into your workflow (not dependent on human memory), you turn your ad account from an un-auditable junk drawer into a well-indexed library of insights.
Start with the schemas in this guide. Copy the templates. Adapt them to your business. Ship the naming spec to your team. Configure the automation in AdManage.
Your future self (the one filtering next quarter's results) will thank you when meaningful patterns jump out from neatly named campaigns, rather than hiding in a tangle of "Untitled" and "Final_v2_really_final" labels.
🚀 Co-Founder @ AdManage.ai | Helping the world’s best marketers launch Meta ads 10x faster
I’m Cedric Yarish, a performance marketer turned founder. At AdManage.ai, we’re building the fastest way to launch, test, and scale ads on Meta. In the last month alone, our platform helped clients launch over 250,000 ads—at scale, with precision, and without the usual bottlenecks.
With 9+ years of experience and over $10M in optimized ad spend, I’ve helped brands like Photoroom, Nextdoor, Salesforce, and Google scale through creative testing and automation. Now, I’m focused on product-led growth—combining engineering and strategy to grow admanage.ai