Meta ads naming convention: a template you can copy, and how to apply it to every ad
A naming convention is a reporting schema you type by hand. The template below has six fields per level, one delimiter, and no room for interpretation, which is the point.
What a naming convention is for
Ads Manager lets you break down performance by campaign, ad set and ad name. Exports, dashboards and any spreadsheet you build on top of them split on the same strings. A naming convention is therefore not tidiness; it is the schema of your reporting, and every typo is a corrupted row.
Three properties make a convention work:
- Fixed field order. The third field is always the same thing.
- One delimiter that never appears inside a field. We use
_. - Controlled vocabulary.
videois alwaysvid, nevervideo,VIDormp4.
Everything else (which fields, how many) depends on how you report. The template below is the one we use; take fields out before you add new ones.
The template
Campaign
{market}_{objective}_{funnel}_{yyyymm}
Example: NL_SALES_PROSPECTING_202608
market: ISO country code, orGLOBAL.objective: Meta's objective in short form:SALES,LEADS,TRAFFIC,AWARENESS.funnel:PROSPECTING,RETARGETING,RETENTION.yyyymm: the month the campaign started. Not the current date: campaigns outlive months.
Ad set
{audience}_{placement}_{geo}_{v}
Example: BROAD_AUTO_NL_v1
audience:BROAD,LAL1,INT-running,RT-30d. Short, but readable without a legend.placement:AUTOor the specific set you forced, for exampleREELS.geo: country or region when it differs from the campaign market.v: a version counter for the same audience relaunched with a different setup.
Ad
{concept}_{hook}_{format}_{ratio}_{filename}
Example: SUMMER_price-drop_vid_9x16_SUMMER_vid_02_NL
concept: the creative theme or test cell.hook: the first-three-seconds idea, in two or three words with hyphens.format:img,vid,car(carousel).ratio:1x1,4x5,9x16.filename: the asset's file name without extension. This is the field people drop and regret: it is the only link from Ads Manager back to the actual file.
The six mistakes that break breakdowns
- "Copy of" prefixes. Every duplicate starts with one. If you duplicate by hand, renaming is a manual step, and manual steps are skipped at 22:00.
- Spaces and mixed delimiters.
Summer Sale - vid_02splits differently in every tool. - Dates in three formats.
0826,26-08,Aug26. Useyyyymmddoryyyymm, always. - Meaning in capitalisation.
vidandVIDare the same word to a human and two values to a filter. - Fields that describe the moment instead of the object. "test", "new", "final". They are all wrong within a week.
- Creative names that do not contain the asset name. When the creative team asks "which file was ad 23", nobody knows.
Make the file name do the work
The cheapest place to encode creative metadata is the file name, at export time, by the person who made the asset. If your files are already called SUMMER_vid_02_NL.mp4 and SUMMER_img_04_NL.jpg, most of the ad name is done before anyone opens Ads Manager. Agree the file pattern with whoever produces the creatives, and the ad pattern becomes {concept}_{filename} with the rest derived.
Apply it automatically at upload
A convention that depends on typing is a convention with a typo rate. The way to get it to zero is to generate the name from a pattern at the moment the ad is created.
In Adlio you store a naming pattern once per ad account, with these tokens:
| Token | Resolves to |
|---|---|
{filename} | the asset's file name without extension |
{index} | the ad's position in the batch (01, 02, ...) |
{date} | the launch date as yyyy-mm-dd |
{campaign_name} | the campaign you launch into |
{adset_name} | the ad set you launch into |
{type} | image, video or carousel |
A pattern like {campaign_name}_{type}_{index}_{filename} then names every ad in a batch identically, with no "Copy of", no typos, and the file name preserved. The same tokens are available in the UTM template, so utm_content={filename} links your analytics rows to the same asset. Values are URL-encoded in UTMs and left readable in names.
Because the pattern is stored per ad account, client A's convention never appears on client B's ads, which matters more than it sounds when you run six accounts.
Roll-out in one afternoon
- Write the three patterns down in one shared document, with the controlled vocabulary next to each field.
- Agree the file-name pattern with the creative side.
- Rename existing ads once via Export and Import (formula in a spreadsheet, import back).
- Make sure every new ad is created from the pattern: set it in your uploader, or make the template the first line of your manual checklist.
- Add "names follow the pattern" to your pre-launch QA checklist.
After that, the convention maintains itself, which is the only kind that survives.
If you launch from a folder, the pattern is applied at creation: bulk upload Facebook ads from a folder shows how the tokens above fill in on every ad.
Frequently asked questions
Should the ad name include the file name of the creative?+
Yes, or a stable creative ID derived from it. The file name is the only thing that links the ad in Ads Manager back to the asset in your drive or DAM. Adlio's {filename} token exists for exactly this reason.
Underscores or pipes as the delimiter?+
Either, as long as it is one character, never appears inside a field, and is the same everywhere. Underscores survive copy-paste into spreadsheets and URLs better than pipes, which is why the template uses them.
How do I rename hundreds of existing ads to the new convention?+
Export the ads to a spreadsheet, generate the new names with a formula, and import the sheet back with Ads Manager's Export and Import. Do it once, then make sure every new ad is created with the pattern so you never have to do it again.
Can Meta apply a naming template automatically?+
Ads Manager offers a name template when you create a campaign, ad set or ad by hand, but it does not apply to duplicates or imports, and it does not know your file names. Applying the convention at creation time through a tool is the only way it holds across a bulk batch.
Adlio team
Built by media buyers who launch Meta ads in volume. Questions or corrections: support@adlio.ai.
Topic cluster
Launch hygiene and QA
Naming, UTMs, identity, DSA and the paused review that makes a bulk batch safe to set live.
- Meta ads naming convention: a template you can copy, and how to apply it to every ad
- UTM parameters for Meta ads: set them once per account, apply them to every ad
- The pixel and conversion event per ad account: set once, verify on every launch
- Instagram account not showing in Ads Manager: the causes, and when you do not actually need it
- Adding ads to an existing ad set: what it does to the learning phase, budget and delivery
- Facebook ad review when you publish in bulk: timing, re-review triggers, and the paused-ads advantage
- Rolling back a bulk launch: pause many ads at once without resetting learning
- Managing multiple Facebook ad accounts: how to keep client A's settings out of client B's ads
- Meta ads in the EU: the DSA beneficiary and payer fields, and how to stop them blocking your launches