# Naming convention — Ecommerce

The naming convention with three segments a store needs: which slice of the catalogue a campaign sells, which promotion it sits inside, and which creative set an ad belongs to.

Everything else is the general convention, unchanged. One row per segment, fixed positions, a closed list of values with an owner, one separator and a change rule that does not break reporting history.

## How to use it

1. Copy this file, or the CSV version if you would rather work in a sheet.
2. Decide the separator first, and pick one that cannot appear inside a value.
3. Fix the positions before the values, so a name can be split by position.
4. List the allowed values for every position, and give each list an owner.
5. Put optional segments at the end, never in the middle.
6. Write one full example name for every level, and check it splits correctly.
7. Agree the change rule before anybody renames anything that is already running.

## The columns

**Level** (Text). Which object this segment belongs to: campaign, ad set, ad, creative file, or the tracking parameters that carry the segment into the store's own analytics.

**Position** (Integer). This segment's slot in the name, numbered from the left. Put the channel and the catalogue segment early, because a store's names are long and several surfaces truncate before the last position.

**Token** (Text). The short code as it appears: bestsellers, newin, clearance. Lower case, no spaces, and short enough that a coordinator building a launch campaign can type it from memory.

**Meaning** (Text). What the token stands for, in the trading team's own words. This column is why somebody reading a name from two seasons ago can tell which part of the range it sold.

**Allowed values** (Text). The complete list this position may hold, owned by the trading team. Most stores need four or five catalogue segments, and a list that has grown past a dozen has started encoding products instead.

**Example** (Text). A real value written as it will appear, drawn from the current range rather than from a season that has ended.

**Required** (Text). Whether the segment must appear. A store campaign that spans the range needs an explicit value saying so, because an empty position reads as somebody forgetting rather than as a decision.

**Separator** (Text). The character between segments, and never one that appears inside a product or promotion name. A hyphen inside a value is how a split produces a different number of parts per campaign.

**Case rule** (Text). Lower case throughout, including promotion names that are capitalised everywhere else in the business. It is the only rule that survives several people building campaigns at speed during a launch.

**Where it appears** (Text). Every place this has to be repeated: the campaign name, the media plan, the tracking parameters and the creative file, so spend by segment can be read in the store's own analytics and not only in the platform.

**Maintained by** (Text). Who owns the list of values. For the catalogue segment that is the trading team, because they are the only people who know when the range has been restructured.

**Change rule** (Text). What happens when this has to change. A campaign that moves to another segment or another promotion is a new campaign, because renaming breaks the history a store has least of.

**Notes** (Text). What the next person needs: the segment value retired when the range changed, the promotion token reused by accident, the surface that truncates before the last position.

## The naming convention

| Level | Position | Token | Meaning | Allowed values | Example | Required | Separator | Case rule | Where it appears | Maintained by | Change rule | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
|   |   |   |   |   |   |   |   |   |   |   |   |   |
|   |   |   |   |   |   |   |   |   |   |   |   |   |
|   |   |   |   |   |   |   |   |   |   |   |   |   |
|   |   |   |   |   |   |   |   |   |   |   |   |   |

## Before you commit it

- One separator is used everywhere, and it never appears inside a value.
- The catalogue segment list matches the segments the trading team actually uses.
- The promotion token identifies the window, not the discount.
- Every position has a closed list with a named owner.
- Every level has one full example name that splits correctly.
- The change rule is agreed before anybody renames a live campaign.
- Retired segment and promotion values are recorded rather than deleted.
