Skip to content

Facebook ads naming convention: find any campaign later

· 5 min read

A Facebook ads naming convention puts the same facts in the same order in every campaign name, so a search or a sort finds anything in seconds. Ours is brand, platform, objective, budget type, audience and start date, lowercase and joined by underscores, for example amberly_skin_meta_sales_cbo_broad_20261005.

Why does campaign naming matter?

Campaign naming is the rule you follow when you type a name into Ads Manager. It sounds like housekeeping until you manage twenty campaigns, or five brands, and need every sales campaign launched last month. Ads Manager can filter by name, reports group by name, and your analytics tool receives names through UTM parameters. A name that carries the facts makes all three work without extra columns.

A naming scheme also settles arguments. "Spring promo final v3 NEW" tells nobody what it is. A name built from fixed parts tells everyone the objective, the budget type and when it started, and two people naming the same campaign get the same result.

What is a good Facebook ads naming convention?

Six parts, always in this order. This is the convention Tempomat uses for every campaign it builds, and it works just as well by hand.

Campaign name parts, example amberly_skin_meta_sales_cbo_broad_20261005
PartValuesIn the example
BrandThe brand's short name, lowercase, underscores for spaces and dashesamberly_skin
Platformmeta (later tiktok, google_ads)meta
Objectivetraffic, sales, leads, awareness, engagementsales
Budget typecbo (campaign budget) or abo (ad set budget)cbo
Audiencebroad (Advantage+ audience) or custombroad
Start dateYYYYMMDD, in the brand's timezone20261005

CBO means the budget is set on the campaign and Meta spreads it across the ad sets; ABO means each ad set has its own budget. Putting it in the name matters because the two behave differently when you scale, and you shouldn't have to open a campaign to find out which one it is.

Why the date last, in YYYYMMDD? Because it sorts. Alphabetical order then groups campaigns by brand, platform and objective, and within each group puts them in launch order. A date like 5/10/26 sorts by day of the month and means different things in different countries.

How should I name ad sets and ads?

Children inherit the campaign name and add one short suffix. That way an ad seen on its own, in a report or a UTM, still says which campaign it belongs to.

Names below the campaign
ObjectPatternExample
Ad set{campaign}_as{n}amberly_skin_meta_sales_cbo_broad_20261005_as1
Creative{campaign}_cr{n}amberly_skin_meta_sales_cbo_broad_20261005_cr1
Ad{campaign}_ad{n}_{asset id, first 6 characters}amberly_skin_meta_sales_cbo_broad_20261005_ad1_3f9c2a
Second launch, same day{campaign}_v2, then _v3amberly_skin_meta_sales_cbo_broad_20261005_v2

The asset ID in the ad name links the ad back to the exact image or video in your library, so "which creative is this?" never needs a screenshot. The version suffix only appears when a name is already taken in the ad account: launch the same setup twice on the same day and the second one becomes _v2.

Which naming rules keep it clean?

  1. Lowercase and underscores only. No spaces, no capitals, no emoji. Some tools treat "Sales" and "sales" as two values, and spaces turn into %20 in URLs.
  2. Fixed order, every time. The point is that position means something. Never drop a part; write custom rather than leaving the audience out.
  3. Facts that don't change. Put in what is true for the life of the campaign. Leave out the budget amount, the status or "test": they change, and the name won't.
  4. One brand slug per brand. Decide it once (amberly_skin, not amberly or amberlyskin) and write it down. For agencies this is what keeps clients apart in a shared account view.
  5. Free text at the end, if at all. If a campaign needs a note, such as a product or an offer, add it after the date so sorting still works.

How do names reach Google Analytics?

Through URL parameters. Meta supports dynamic parameters such as campaign_name={{campaign.name}} and ad_name={{ad.name}}, filled in automatically when someone clicks. Note the catch: Meta says name-based parameters "are set to the campaign, ad set or ad name used when the ad was first published", so renaming later doesn't change them (Meta Business Help Center, dynamic URL parameters, checked on 2026-10-04). Name it right before you launch.

Campaigns built with Tempomat add these tags to the ad link by default: utm_source={{site_source_name}}, utm_medium=paid_social, utm_campaign={{campaign.name}} and utm_content={{ad.name}}. With the convention above, your analytics tool then shows the brand, objective and launch date for every visit without a lookup table. If you report to clients weekly, the weekly client report reads the same names.

Names matter most when you test several creatives side by side; see testing creatives on a small budget. And because every campaign Tempomat builds is created paused, you can check the names in Ads Manager before anything runs (why we never auto-activate).

Frequently asked questions

What is the best naming convention for Facebook ads?

One with fixed parts in a fixed order that sorts well: brand, platform, objective, budget type, audience and start date as YYYYMMDD, lowercase with underscores. Ad sets and ads add a short suffix to the campaign name.

Should I put the budget in the campaign name?

No. Budgets change and names don't follow. Put the budget type (CBO or ABO) in the name instead; it is fixed for the life of the campaign and changes how you read it.

Can I rename a campaign after it is published?

Yes, in Ads Manager. But Meta's name-based URL parameters keep the name the ad had when it was first published, so your analytics keep the old name.

How do I name two campaigns launched on the same day?

Add a version suffix: the first keeps the plain name, the second gets _v2, the third _v3. If they differ in something real, like the objective or audience, the name already differs.

Let every campaign name itself

Build a campaign from one message and get the name, the ad set, the ad and the UTM tags written the same way every time, paused until you turn it on.

Start your 7-day free trial