Facebook ads naming convention: a copyable template

Name every ad so a pivot table can answer your questions later. The template below puts batch, desire, angle, awareness stage, format and creator into one string you can paste today.

What a naming convention has to do

A name is a column you can't add afterward. If the angle isn't in the ad name, you'll be guessing it from a thumbnail three months from now.

So start from the questions you want answered, then build the name backward. The questions most teams actually ask are these: Which desire wins? Which angle wins inside that desire? Does founder-led video beat UGC? Does a cold-audience message beat a problem-aware one? Which creator keeps making winners?

Each question becomes one field in the name. If you never ask a question, skip the field. A short name that is always filled in beats a long one that is half empty.

The Meta ad naming convention template

Here is the full string. Fields are separated by underscores. Words inside a field are joined with hyphens. No spaces, no special characters.

B042_SLEEP_NO-3AM-WAKE_A2_UGC-VID_MAYA_H1_V1

Read it left to right: batch 042, the desire is better sleep, the angle is no 3 a.m. wake-ups, awareness stage 2, a UGC video, made by Maya, hook 1, version 1. The values are an example. Swap in your own.

Where each part lives: campaign, ad set, ad

Meta gives you three name fields. Use all three, and don't repeat information across them.

The campaign name holds the stable stuff: product, objective and audience type. Something like SLEEPGUMMY_PURCH_BROAD. It rarely changes.

The ad set name holds the batch. One concept, one ad set. That keeps the test clean: the ad set is the batch, and the batch number is the first thing in its name. For example, B042_SLEEP_NO-3AM-WAKE_A2.

The ad name holds the full string from the template. Yes, desire and angle repeat from the ad set. That is on purpose. Ad-level exports often arrive without the ad set name attached, and the ad name has to stand on its own.

This is also why creative test batch naming starts with the number. Sort by name and your batches line up in the order you launched them.

Copy this naming convention

Paste these lines into your team doc and fill in your own values.

  • Ad name: BATCH_DESIRE_ANGLE_AWARENESS_FORMAT_CREATOR_HOOK_VERSION
  • Example: B042_SLEEP_NO-3AM-WAKE_A2_UGC-VID_MAYA_H1_V1
  • Ad set name: BATCH_DESIRE_ANGLE_AWARENESS (one concept per ad set)
  • Campaign name: PRODUCT_OBJECTIVE_AUDIENCE
  • Separate fields with underscores. Join words inside a field with hyphens.
  • Batch = B + three digits. Numbers go up and are never reused.
  • Awareness: A1 unaware, A2 problem aware, A3 solution aware, A4 product aware, A5 most aware.
  • Use only values from the master list. Add new values on purpose.
  • No spaces, no dates, no results in the name. Never rename a live ad.
  • Judge each batch 7 days after launch, then log the verdict next to the batch.

Stop decoding ad names every Friday

14 days free, no card. $299 a month after that, every feature and every teammate included.

Plan your next batch

Keep the values clean

Most naming systems die from drift, not from bad design. One person writes UGC-VID, another writes ugc video, and the pivot table splits one format into three rows.

Fix it with a short list of rules and one place where the allowed values live.

Common naming mistakes

The first mistake is naming by date. A name like March_Test_2 tells you when, and nothing about what. Dates are already in the report. Batch numbers tell you the order, and the other fields tell you what was tested.

The second is putting the result in the name. WINNER_SLEEP_V3 is out of date the moment spend shifts. Results belong in a verdict, not in a label that can't change.

The third is mixing concepts in one ad set. If a batch holds three angles, you can't say which one worked, and the batch field becomes meaningless.

The fourth is skipping awareness stage because it feels fuzzy. It is fuzzy, but a rough A1 to A5 call still beats nothing. After a few batches you will see whether your wins sit with cold or warm viewers.

The fifth is a name that nobody can read aloud. If your editor can't tell what B042 is without asking, the batch needs a short written brief behind it, not a longer name.

Turning names into a verdict

Names only pay off when you read the results by field. Export at the ad level, split the name on the underscore into columns, and group the spend and ROAS by batch first.

Then judge each batch once, after 7 days, by one written rule. Does it have a big share of its campaign's spend? Did the campaign grow? Did the batch beat the campaign's own ROAS? Those answers sort a batch into Scaler, Spender, Efficient or Miss. Give it a second look in week 2 or 3 before you write it off, because a batch can still become a Scaler late.

Once batches carry verdicts, count hit rate by field: the share of batches that became a Scaler or Spender, split by desire, angle, awareness stage and format. That is where the naming pays you back. Your next brief starts from what sold, not from a hunch.

Hitrate does the naming step for you. You plan each test as a numbered batch, and Hitrate writes the ad names, so every result maps back to the batch, desire, angle, awareness stage, format and creator. Results sync daily from Meta, and the labels come from the written rule, not from a person with a spreadsheet.

Questions

What should a Facebook ad naming convention include?

At minimum: a batch number, the desire, the angle, the format and the creator. Add awareness stage if you want to compare cold and warm messages. Every field should answer a question you will ask in your reports.

Should I name the campaign, ad set or ad?

All three, with different jobs. The campaign holds product, objective and audience. The ad set holds the batch. The ad holds the full string, since ad-level exports often come without the ad set name.

How long can an ad name be?

Meta allows fairly long names, but length isn't the real limit. Anything you can't read in a narrow Ads Manager column will get skipped. Use short codes and aim for a name you can scan in a second.

Can I change names on ads that are already live?

Avoid it. Renaming a live ad can make your history harder to follow across reports and exports. Fix the name before launch, and use the version field when you change a cut.

What is creative test batch naming?

It means giving each test a number and keeping one concept in one ad set. Every ad inside carries that batch number in its name. When the 7 days are up, you judge the batch as a unit and can still trace each ad inside it.

How do I analyze ads by angle or format?

Export results at the ad level, split the ad name on the underscore into columns, and pivot by the field you care about. Group by batch first so one big batch doesn't skew the angle totals.

Do I have to build this in a spreadsheet?

No. The template works fine in a sheet if someone keeps it clean. In Hitrate, the ad names are written for you from the batch plan, so the fields never drift and results sync back to the right batch.

Related guides

Stop decoding ad names every Friday

14 days free, no card. $299 a month after that, every feature and every teammate included.

Plan your next batch

Updated 2026-10-02