Starter plan & up

Custom channel taxonomy

Map the raw UTM source and medium values your links use to a single canonical value, so reports group that traffic under the channel you expect.

Ordinary Written by The Ordinary Team · Updated
On this page

Custom channel taxonomy is available on Starter and higher. On Free, Ordinary’s global default mappings apply.

The same channel often arrives with different spellings in your UTM tags: fb, Facebook and facebook_ads all mean Meta. Settings → Channel Taxonomy maps each raw spelling (an alias) to one canonical value, so reports add that traffic up under a single channel instead of splitting it across several rows.

Channel Taxonomy settings: raw UTM source aliases mapped to a canonical channel, each with an Override button. Demo data.

Before you start:

  • You’re on Starter or higher.
  • You’re an admin on your Ordinary organization.

How mappings work

Each mapping has three parts:

  • Alias — the exact value that arrives in utm_source or utm_medium. Matching ignores upper and lower case, so FB and fb are the same alias.
  • Kind — source or medium. Source and medium mappings are separate: a source mapping only applies to utm_source, a medium mapping only to utm_medium.
  • Canonical value — the normalised value reports group on.

One alias maps to one canonical value. There are no wildcards, no pattern matching and no rule order: if an alias has a mapping, that mapping applies; if it doesn’t, the raw value is used (lowercased).

Global defaults and your overrides

The page lists every mapping that applies to your store, split into a Source table and a Medium table. Each row has an Alias, Canonical and Scope column:

  • Global rows are Ordinary’s defaults and apply to every store. They can’t be edited or deleted, but each has an Override button.
  • Org rows are your own mappings. They apply to your store only and take precedence over a Global row for the same alias. Each has Edit and Delete buttons.

Adding or overriding a mapping

  1. Go to Settings → Channel Taxonomy.
  2. In the Add / override mapping card, fill in:
    • Alias (raw UTM value) — exactly what arrives in the UTM tag.
    • Kind — source or medium.
    • Canonical value — the value reports should group on.
  3. Click Save mapping.

To change a default, click Override on its Global row. The form fills in with that alias and its current canonical value; change the canonical value and click Save mapping. Saving an alias that already has an Org mapping updates that mapping in place.

When a mapping takes effect

  • Channel reports — Marketing Mix and the attribution reports look up your source mappings when they load, so a new source mapping regroups past orders there straight away.
  • Visit-level data — each visit is stored with the canonical values that applied when it was recorded. A new mapping applies to visits recorded after you save it; earlier visits keep their original value.

There’s no separate re-run step. Add mappings as soon as you start using a new UTM spelling, so its traffic groups correctly everywhere from the first visit.

Deleting a mapping

Click Delete on an Org row and confirm. That alias then falls back to the Global default, if one exists, or to its raw value (lowercased). Global rows can’t be deleted.

Examples

Your paid social links use utm_source=fb_paid: add a source mapping from fb_paid to facebook. That traffic then groups with the rest of your Meta traffic, which reports label Meta. (fb itself is already a Global default.) Instagram traffic groups under Meta too.

Your email links use utm_medium=newsletter: add a medium mapping from newsletter to email.

An affiliate uses several spellings of their name: add one source mapping per spelling (partnerco, partner_co, partner-co), all to the same canonical value.

Tips

  • Map to an existing canonical value when the traffic belongs to a channel you already see in reports, so it joins that channel rather than creating a new one.
  • Use one canonical spelling per channel. Two canonical values that differ only slightly show up as two separate channels.
  • Don’t duplicate the defaults. If a Global row already maps an alias the way you want, you don’t need an Org mapping for it.

Did this answer your question?

Thanks for your feedback! 🙌

Related articles