Blog / · 6 min read

Facebook ad naming conventions: templates and tokens

Ad names broken into aligned token columns, one column highlighted
On this page

Six months into an account, someone asks a simple question: "Did our founder-story hooks beat the product demos last quarter?" If the ads are named "Video 3 copy copy" and "NEW - final v2", nobody can answer it without opening a few hundred ads one by one. A naming convention is the cheapest analytics tool you will ever set up, and it only works if you set it up before the ads exist.

Here is a template that holds up at campaign, ad set, and ad level, the tokens worth encoding, and the rules that stop it from decaying.

Why naming matters more than it looks

Ads Manager and TikTok Ads Manager both report on objects, not ideas. They know "ad 23849…" spent $412, but they have no idea that ad was a UGC testimonial with a problem-first hook from creator #4. The name is the only place that information lives in a way every export, pivot table, and reporting tool can read.

A good convention gives you three things:

  1. Filtering in the platform. Type _UGC_ into the search box and every UGC ad shows up. That is a creative analysis in five seconds.
  2. Pivotable exports. Split names on a delimiter in a spreadsheet and each token becomes a column you can group by: spend by concept, ROAS by format, CPA by creator.
  3. Shared language. When the editor, the buyer, and the client all say "C14 H2" and mean the same asset, handoffs stop losing information. This matters most in client reporting, where you need to explain why something worked.

The structure: one template per level

Each level should carry only what is true at that level. Repeating the objective in every ad name wastes characters and creates contradictions when someone moves an ad.

LevelWhat it describesTemplate
CampaignBusiness goal and structurePlatform_Market_Objective_Funnel_Budget_Launch date
Ad setWho, where, and how it optimizesAudience_Geo_Placement_Optimization event_Bid
AdThe creative itselfConcept_Hook_Format_Creator_Iteration_Launch date

The ad name does the heavy lifting because the ad is where creative analysis happens. Campaign and ad set names mostly help you find things and keep structure honest.

Three nested boxes for campaign, ad set, and ad, each carrying its own row of token slots joined by connectors, with the ad row the longest

Tokens worth encoding

Pick tokens you will actually group by. If nobody will ever pivot on it, it does not belong in the name.

Date

Use YYMMDD or YYYYMMDD, never 9/24 or "Sept". Sortable dates keep name lists in launch order, and they survive the US versus UK date format argument. Put the date at the launch level (campaign and ad), not every level.

Concept

The big idea behind the creative: "price anchor", "founder story", "before and after". Give each concept a short ID (C14) and keep the full description in a shared sheet or brief. Concepts are what you scale, so this is the most valuable token in the whole system. It ties directly to your creative brief template if the brief assigns the ID.

Hook

The first one to three seconds. The same concept often ships with several hooks, and the hook is usually what moves hook rate and hold rate. Encode it as H1, H2, and so on within a concept, so C14_H2 reads as "concept 14, second hook".

Format

Keep a closed list: UGC, STATIC, CAROUSEL, DEMO, GFX, PARTNER. A closed list is what makes format-level reporting possible, such as answering whether static or video is carrying the account.

Creator

Initials or a short handle for whoever is on camera or made the asset. Useful for UGC-heavy accounts where two creators with the same script can perform very differently.

Iteration

V1, V2, V3 for edits of the same concept and hook: new captions, tighter cut, different end card. Iteration is how you prove a fix worked, which is the whole point of iterating instead of starting over when creative fatigue sets in.

Examples

A worked set for a US skincare brand:

LevelExample name
CampaignMETA_US_SALES_PROSP_ABO_260915
Ad setBROAD_US_ADVPLACE_PURCH_LOWCOST
AdC14_H2_UGC_JM_V3_260918
CampaignTT_US-CA_SALES_PROSP_CBO_260920
Ad setBROAD_US-CA_AUTO_PURCH_COSTCAP
AdC09_H1_DEMO_IN-HOUSE_V1_260921

Read the first ad name back: concept 14, hook 2, UGC format, creator JM, third iteration, launched September 18, 2026. Everything a buyer needs to judge the result is in the string.

Rules that keep the convention alive

A convention fails from drift, not from a bad first draft. These rules matter more than the exact tokens:

  • One delimiter, used only as a delimiter. Underscore between tokens, hyphen inside a token (US-CA). Never let a token contain the delimiter, or your spreadsheet split breaks.
  • Fixed token order. Position is meaning. If format is the third token, it is always the third token, even when a value is blank (use NA).
  • Closed vocabularies. Formats, funnels, and placements come from a list, not free text. "UGC", "ugc" and "User gen" are three different values to a pivot table.
  • Uppercase codes. Case-sensitive filters and exports stop tripping over mixed case.
  • A written dictionary. Keep a shared sheet with every token, its allowed values, and concept IDs. New team members and freelancers learn the system from it, not from guessing.
  • Name at creation, not after. Renaming later is a job nobody does. Meta's Ads Manager has name templates that build names from fields you choose when you create a campaign, ad set, or ad; they help, but only for objects created that way.
  • Never reuse IDs. Concept 14 is concept 14 forever, even after it is paused. Recycling IDs quietly corrupts every historical report.

How naming feeds creative analysis

Once the names are clean, a weekly creative review becomes a pivot table instead of a debate. Export ad-level data, split the name into columns, and group by concept first, then by hook within your top concepts. You will see patterns quickly: a concept that wins across three hooks is a real winner, while a concept with one lucky hook is probably the hook. That distinction decides what goes into your next round of creative testing and what gets scaled.

Frequently asked questions

What is a good Facebook ad naming convention?

One template per level, with tokens separated by a single delimiter in a fixed order. Campaigns carry objective, market, and launch date; ad sets carry audience, placement, and optimization event; ads carry concept, hook, format, creator, iteration, and date. The best convention is the one your whole team actually follows.

Should I include the date in ad names?

Yes, in a sortable format like YYMMDD. Dates let you sort by launch order, compare cohorts of creatives, and tell iterations apart when the rest of the name matches. Put them at campaign and ad level rather than every level.

Can you rename ads without affecting performance?

Renaming an ad is a cosmetic edit that leaves targeting, budget, and creative untouched, so it is not the kind of significant edit that restarts learning. It is still better to name correctly at launch, because bulk renaming hundreds of live ads is error-prone.

Should Meta and TikTok use the same naming convention?

Yes, as far as possible. Sharing concept, hook, and format codes across both platforms lets you compare how the same idea performs in each feed. Only the platform-specific tokens, such as placement or bid strategy values, need to differ.


A naming convention works best when it is applied at the moment creatives go live. upload.ad names ads from your pattern as it uploads them to Meta and TikTok, so every ad reports cleanly from day one. Start free.

, Founder

I build upload.ad, the creative library and review workflow media buying teams use to get ads from edit to live on Meta and TikTok. I write about the parts of that job that waste the most time: creative testing, platform specs, review approvals, and the API behaviour nobody documents properly.

All posts by Veikka Grundström · Get in touch