Understanding: UTM mapping rules

Updated by Mikkel Settnes

Please only implement the scripts below IF you are currently using the legacy version 1.0 of Dreamdata's Web Tracking script. Otherwise, we recommend using the new Web Tracking script, version 2.0, which has built-in support for form tracking, intent sources and other integrations.

In this help doc, we'll explain how Dreamdata does mapping to Channel and Source based on your UTM parameters.

We'll cover how Dreamdata uses UTM information to categorize traffic into different Channel and Source, and how Dreamdata apply default UTM mappings to simplify the process of categorizing information into Channel and Source.

Note: This article is the second out of three articles, each covering what you need to know to fully comprehend UTMs and their usage.

Check out the first one about Sources, Channels, and Events here, and the third one about how to map your UTMs in Dreamdata's here.

Mapping rules that categorize traffic to a specific Channel and Source, are applied in the following order.

  1. Mapping based on paid ID parameters
  2. Mappings applied through the UTM mapping UI
  3. Mapping based on referrer and general UTM parameters

Dreamdata automatically applies the mappings 1 and 3 based on different UTM parameters.

Mappings 2 can be used to create your own mappings and create your own specialised Channel and Source.

Tip: In this article we'll cover 1 and 3. If you would like to apply your own mapping, you'll need to first understand how to do this through our UTM mapping UI in Dreamdata. Click here for that.
NB: Dreamdata strongly suggest that you do not try to reclassify and rename paid channels as this will conflict with the automatic mapping using paid ID parameters.

Mapping based on paid ID parameters

Dreamdata pulls a list of all paid campaigns and their associated IDs for each supported ad network. Dreamdata then matches IDs from the ad networks to the UTM parameters and automatically classify the traffic accordingly.

Example

[URL]?utm_campaign=blogpost&utm_medium=paid&utm_source=linkedin&campaign_id=2082777879

The url contains the parameter campaign_id=2082777879 and utm_source=linkedin. Through the LinkedIn integration Dreamdata knows that you are paying for a campaign with ID=2082777879. Dreamdata then automatically maps to Channel = “Paid Social” and Source = “LinkedIn” and sets other properties like campaign and campaign group according to the ID.

Different ad networks use different ID parameters and slightly different naming conventions. Refer to the setup guides for each ad network to see which ID parameters are required for this mapping to be enabled.

Dreamdata supports Hubspot's naming conventions for mapping traffic from Google Adwords, Facebook and LinkedIn

This is the recommended way to map your paid sources for ad platforms with a native integration. Normally, it only requires setup of UTM's parameters when setting up the ad in the various ad platforms.

Mapping based on referrer and general UTM parameters

If no paid ID parameters are found or Dreamdata does not integrate natively to the ad platform, Dreamdata applies a comprehensive mapping of general UTM parameters to group the traffic to Channel and Sources.

This uses the following UTM parameters and property fields

utm_source

The utm_source is used to determine the source of the link.

In general, people use the utm_source parameter to identify the origin of a click that results in a visit to their website.

These could be similar to things like LinkedIn, Facebook, Google, Bing etc.
utm_ medium

The utm_medium is a parameter that helps us identify the Channel through which a user comes to visit your website.

A utm_medium that is set to 'paid' refers to an advertisement. You could also encounter values like 'social' and 'organic'. These however, indicates a "non-paid" channel.
Sometimes when setting the utm_medium values people use terms like "cpc" (Cost per Click) or "cpa" (Cost per Action). Both cpc and cpa indicates that this particular event is coming from a paid channel.

In those cases, Dreamdata applies default mappings that automatically categorize the Channel as “Paid”.
referrer

The referrer is automatically collected through the Dreamdata or Segment analytics tracking.

This can be used together with the passed UTM parameters to classify the Channel and Source.
event

Finally, the name of the event can also be used to map.

This happens in cases for standard event naming conventions like 'email_clicked' will be categorised as channel 'Emails'

Mapping rules

The detailed rules are in the tables below

The rules are applied in order ie. a url is first checked against order = 1, then order = 2 until it matches a rule. The Channel and Source is then set according to that rule

  1. Paid Source

Check if the combination of utm_medium, referrer or utm_source match a recognized paid source

  1. Review Site and Podcast

Check if utm_source or referrer match a recognized review site

  1. Organic

Check if utm_source or referrer match a recognized organic social or search network

  1. Other default channels

Check if utm_medium, referrer or utm_source indicate channels like Emails, Webinar or Events

OR

if event name indicate channels like Emails, Webinar, Events, Calls, Chat, Partners, Content or Login

  1. Fallback

If noting else matched set channel to direct or referrer depending on existence of utm_source and referrer fields

On the notation used:
utm_source = 'dreamdata' means that utm_source is exactly equal to 'dreamdata'
utm_source = '%dreamdata' means that utm_source contains 'dreamdata'
utm_source = 'dreamdata%' means that utm_source starts with 'dreamdata'
utm_source = '%dreamdata' means that utm_source ends with 'dreamdata'

Define Paid Search, Paid Social, Paid Video, Display Ads, Paid Other

Does the combination of utm_medium, referrer and utm_source match a recognized paid source?

Order

Rule

Channel

Source

1

referrer is a paid search engine

AND

utm_medium: paidsearch, paid-search, paid search, ppc, cpc, ads, cpv, cpa, cpp, %paid, paid%, %ads, ads%

=

Paid Search

matching referrer

2

referrer is a paid social network

AND

utm_medium: paidsocial, paid-social, paid social, ppc, cpc, ads, cpv, cpa, cpp, %paid, paid%, %ads, ads%

=

Paid Social

matching referrer

3

referrer is a paid display network

AND

utm_medium: visual-ad, display, cpm, banner, programmatic, remarketing, retargeting, retargeting-ad, display_ads, ppc, cpc, ads, cpv, cpa, cpp, %paid, paid%, %ads, ads%

=

Display Ads

matching referrer

4

referrer is a paid video site

AND

utm_medium: video, youtube, ppc, cpc, ads, cpv, cpa, cpp, %paid, paid%, %ads, ads%

=

Paid Video

matching referrer

5

referrer: com.Slack, org.telegram.messenger, org.telegram.plus, com.google.android.talk

=

Instant Message

matching utm_source

6

utm_source is a paid search engine

AND

utm_medium: paidsearch, paid-search, paid search, ppc, cpc, ads, cpv, cpa, cpp, %paid, paid%, %ads, ads%

=

Paid Search

matching utm_source

7

utm_source is a paid social network

AND

utm_medium: paidsocial, paid-social, paid social, ppc, cpc, ads, cpv, cpa, cpp, %paid, paid%, %ads, ads%

=

Paid Social

matching utm_source

8

utm_source is a paid display network

AND

utm_medium: visual-ad, display, cpm, banner, programmatic, remarketing, retargeting, retargeting-ad, display_ads, ppc, cpc, ads, cpv, cpa, cpp, %paid, paid%, %ads, ads%

=

Display Ads

matching utm_source

9

utm_source is a paid video site

AND

utm_medium: video, youtube, ppc, cpc, ads, cpv, cpa, cpp, %paid, paid%, %ads, ads%

=

Paid Video

matching utm_source

10

utm_source: google%, adwords%, bing%, yahoo%, naver%

=

Paid Search

matching utm_source

11

utm_source: adroll%, rollworks%, nextroll%, gdn, 6sense%, dribbble%, orixa%, stackadapt%, outbrain, criteo, dv360, dbm

=

Display Ads

matching utm_source

12

referrer: %googleadservices.com, %ads.google.com, %naver.com

=

Paid Search

matching referrer

13

referrer: %.doubleclick.net, %.googlesyndication.com, %.googleusercontent.com, %.2mdn.net

=

Display Ads

matching referrer

14

referrer: ads.tiktok%, facebook_ad%

=

Paid Social

matching referrer

15

utm_medium: paidsearch, paid-search, paid search

=

Paid Search

equal to utm_source

16

utm_medium: paidsocial, paid-social, paid social

=

Paid Social

equal to utm_source

17

utm_medium: visual-ad, display, cpm, banner, programmatic, remarketing, retargeting, retargeting-ad, display_ads

=

Display Ads

equal to utm_source

18

utm_medium: video, youtube

=

Paid Video

equal to utm_source

19

utm_medium: ppc, cpc, ads, cpv, cpa, cpp, %paid, paid%, %ads, ads%

=

Paid Other

equal to utm_source

Define Review Sites and Podcast

Does the referrer or utm_source match a recognized review site or podcast?

Order

Rule

Channel

Source

20

referrer is a review site

=

Review Sites

matching referrer

21

utm_source is a review site

=

Review Sites

matching utm_source

22

utm_source is a podcast site

=

Podcast

matching utm_source

Define Organic

Does the referrer or utm_source match a recognized organic search or organic social network?

Order

Rule

Channel

Source

23

referrer is an organic search engine

=

Organic Search

matching referrer

24

referrer is an organic social network

=

Organic Social

matching referrer

25

referrer is an organic video site

=

Organic Video

matching referrer

26

utm_source is an organic search engine

=

Organic Search

matching utm_source

27

utm_source is an organic social network

=

Organic Social

matching utm_source

28

utm_source is an organic video site

=

Organic Video

matching utm_source

29

utm_medium: social, organic-social

=

Organic Social

equal to utm_source

30

referrer: com.google.android.googlequicksearchbox, search.google.com

AND

utm_source and utm_medium is null

=

Organic Search

Google

Define channel Emails, Events and Webinar based on utm fields

Does the utm_source, utm_medium or referrer indicate the default channels Emails, Events or Webinar?

Order

Rule

Channel

Source

31

utm_source: event

OR

utm_medium: event

=

Events

equal to utm_source if it exists

otherwise

Event

32

utm_source: webinar

OR

utm_medium: webinar

=

Webinar

equal to utm_source if it exists

otherwise

Webinar

33

referrer: mail.qq.com, %msn.com, mail.google.com, com.google.android.gm, outlook.live.com

=

Emails

equal to utm_source if it exists

otherwise

matching referrer

34

utm_source: %email%, %newsletter%

=

Emails

Email or Newsletter

35

utm_medium: %email%, %newsletter%

=

Emails

equal to utm_source if it exists

otherwise

Email

36

referrer: %webmail%

=

Emails

Webmail

37

utm_medium: %offline%

=

Offline

equal to utm_source if it exists

otherwise

Offline

Define other default channels using event name

Does the utm_source, utm_medium or referrer indicate the default channels Emails, Events or Webinar?

Order

Rule

Channel

Source

38

event name: email_sent, email_opened, email_clicked, email_replied, %intercom_email%

=

Emails

equal to utm_source if it exists

otherwise

Email

39

event name: inbound_phone_call, outbound_phone_call, phone_call

=

Calls

Inbound, Outbound or Call

40

event name: register_conference, attended_conference, register_event, attended_event

=

Events

Register or Attended

41

event name: register_webinar, attended_webinar

=

Webinar

Register or Attended

42

event name: lead_referral

=

Partners

equal to utm_source if it exists

43

event name: download%

=

Content

Download

44

event name: conversation, %intercom%

=

Chat

equal to utm_source if it exists

otherwise

Chat

45

event name: login

=

Login

equal to utm_source if it exists

otherwise

Login

Fallback to direct or referrer

If nothing matched, we set referrer or direct depending on existence of fields

Order

Rule

Channel

Source

46

utm_source: %referral%

=

referrer

equal to utm_source

47

utm_source is null

AND

referrer is null

AND

utm_medium is null

=

direct

direct

48

utm_source is not null

=

referrer

equal to utm_source


How did we do?