Meta Ads Naming Template: The Full Convention
The naming convention to copy: structure per level, separators, variables, real examples. Works with Google Sheets and Airtable.
Updated
A naming convention is not about tidiness. It exists to answer one precise question six weeks from now: which creative concept made money, and in which format?
The full convention is published below. The Google Sheets file adds the dropdowns and the concatenation formula, nothing else.
The principle: three levels, three questions
| Level | The question it answers |
|---|---|
| Campaign | Which objective, which market, which period? |
| Ad set | Which audience, which placement, which budget? |
| Creative | Which concept, which format, which iteration? |
A convention applied at one level only is useless: it is the intersection of all three that makes reporting readable.
Structure
Campaign
[OBJECTIVE]_[MARKET]_[OFFER]_[YYYYMM]
CONV_US_ANNUAL-PLAN_202608
| Variable | Values |
|---|---|
OBJECTIVE | AWA, TRAF, ENG, LEAD, CONV, RET |
MARKET | 2-letter country code: US, UK, FR, DE |
OFFER | the offer being pushed, in upper kebab-case |
YYYYMM | launch month |
Ad set
[AUDIENCE]_[TYPE]_[PLACEMENT]_[BUDGET]
LAL1-BUYERS_LAL_AUTO_CBO
| Variable | Values |
|---|---|
AUDIENCE | short name of the source audience |
TYPE | BROAD, LAL, INT, RTG, CUSTOM |
PLACEMENT | AUTO, FEED, REELS, STORIES |
BUDGET | ABO or CBO |
Creative
This is the level that matters most, and the one that almost always gets rushed.
[CONCEPT]_[FORMAT]_[RATIO]_[ITERATION]
UGC-UNBOXING_VID_9x16_v03
| Variable | Values |
|---|---|
CONCEPT | the creative idea, stable across iterations |
FORMAT | VID, IMG, CAR, COLL |
RATIO | 1x1, 4x5, 9x16 |
ITERATION | v01, v02, v03… |
The key point: CONCEPT stays identical across variants. That is what lets you aggregate
performance by creative idea and not just by file.
Five rules that prevent damage
1. One field separator, one word separator. Underscore between fields, hyphen inside a field. Mixing the two makes splitting impossible.
2. No accents, no spaces, no slashes. Créa_Été/Promo breaks every export. Accents and slashes
turn against you the moment you cross Meta’s export with a spreadsheet.
3. Fixed-length codes. 9x16, not 9:16 and not vertical. A variable-length code breaks
split formulas.
4. Dates as YYYYMM, never MM-YYYY. It is the only format that sorts correctly
alphabetically.
5. The separator must match what your reporting splits on. If your dashboard runs SPLIT on
_, the creative name has to carry exactly the right number of underscores. Test it on one
creative before launching fifty.
Full example
| Level | Name |
|---|---|
| Campaign | CONV_US_ANNUAL-PLAN_202608 |
| Ad set | LAL1-BUYERS_LAL_AUTO_CBO |
| Creative | UGC-UNBOXING_VID_9x16_v03 |
Reads as: conversion campaign on the US market for the annual plan, launched August 2026; lookalike of buyers, automatic placements, budget managed at campaign level; UGC unboxing creative, vertical video, third iteration.
What this convention does not fix
It says nothing about the quality of your concepts, and it does not replace team discipline. A convention that two people out of five follow produces worse reporting than no convention at all, because it looks trustworthy.
It also assumes you are willing to rename your files before import. That is the only moment when it is easy.
How this connects to automation
A strict naming convention is what lets a tool rebuild the campaign structure without you re-entering it. Apogee reads these names on import to derive concept, format and iteration, then structures the ad sets accordingly. The convention stays yours: it gets read, not imposed.
To understand the reasoning behind each field rather than copy the structure, see the Meta Ads naming convention guide.