A campaign naming convention sounds like an operational detail. Something for marketing operations, maybe a dedicated campaign manager.

In reality, it determines whether a CMO can answer a management question at the end of the quarter — or not.

What happens when no unified naming convention exists

We analyzed the campaign data of an international corporation: one brand, three countries, two platforms, one quarter. 4,096 data records. The result was unambiguous.

Three agencies, three completely different structures.

France: 2025/2026_Lead Ad_High Volume_Brochures → Fiscal year_Type_Strategy_Objective (underscores) Belgium: BE-FR-S-NB-Warmtepomp-regioA → Country-Language-Channel-Brand-Product (dashes) Sweden: ONR: 19825 | [Brand] | BERGVÄRME → Agency order no. | Brand | Product (pipes)

Each convention was locally consistent. None was compatible with the others.

The product "heat pump" appeared under five different names in this data — in four different languages, at three different structural levels. Automatic matching was impossible. Even within Belgium, "Warmtepomp" and "Warmtepompen" existed as separate campaigns — singular and plural, impossible to reconcile without manual mapping.

The consequence: the question "What did we spend on heat pump campaigns — across all markets?" could not be answered with this data. Even though all the data was there.

Why agencies don't solve this problem — and sometimes make it worse

Agencies optimize their campaign structure for their own processes — briefing, execution, billing. The Swedish agency wrote its internal order number into the campaign name because it simplifies their invoicing. For the client, this information is useless. For decision-making, it's noise.

This isn't the agency's fault. It's the structural consequence of having no binding campaign naming convention that applies across all agencies and markets.

There's an additional problem: in many companies, the ad accounts — Google Ads, Meta Ads — don't belong to the company. They belong to the agency. The client receives their own data as a manual export, in whatever format and granularity the agency provides. Automated data access through ETL tools is frequently blocked.

This means: even someone who wants to introduce a naming convention faces an account structure that works against them.

What a functioning naming convention must deliver

A naming convention isn't a style guide. It's a decision about how your data can be used for management decisions.

It must answer three questions:

What gets encoded? Country, language, channel, campaign type, product, audience — and in what order? Not everything needs to go into every name. But what must be included is the information by which data is aggregated at the management level.

How is it encoded? Uniform delimiter, uniform language, uniform abbreviations. No room for local interpretation.

Correct: HEAT-PUMP (uniform, language-independent) Reality: "Heat pump" (FR) / "Warmtepomp" (BE) / "BERGVÄRME" (SE)

Who is responsible? A convention that isn't anchored anywhere won't be followed. Every agency, every market, every new campaign is an opportunity for deviation — unless someone checks compliance.

A functioning naming convention is therefore not a technical document. It's an organizational decision that must be made and enforced at the management level.

The leverage is bigger than it looks

A unified campaign naming convention is the prerequisite for everything that comes after.

Cross-channel reporting? Only works if the same product category has the same name in every channel. Data-driven budget allocation? Only works if comparable data exists. Marketing controlling? Only works if the foundation underneath is consistent.

No tool — no data warehouse, no BI platform, no marketing controlling system — can replace this foundation. It can only use it, if it exists.

Skip this step and invest directly in a tool, and you're building on sand.

The one question worth answering

Can your marketing campaigns be filtered and aggregated across all markets, channels, and agencies using the same criteria — automatically, without manual mapping?

If not, that's where to start.