← All docs

Reference

How SourceTag Categorises Visitors

When someone visits your site, SourceTag categorises them into a marketing channel based on their UTM parameters, click IDs, and referrer. This channel (along with source, campaign, and other data) is stored in the cookie and populated into your forms.

Why utm_medium is the primary signal

Channel detection is built around utm_medium, not utm_source or utm_campaign. The medium tells you how the traffic arrived (paid click, email, social post), while the source tells you where it came from (Google, Facebook, Mailchimp). A single source can send traffic via multiple channels (e.g. Google sends both paid and organic), so medium is the more reliable signal for categorisation.

utm_source and utm_campaign are used as filters to narrow a match after detection, not as primary detectors.

The 11 default channels

SourceTag comes with 11 pre-configured channels based on industry-standard channel groupings. They’re evaluated top to bottom. The first match wins.

PriorityChannelHow it matches
1Emailutm_medium is email, e-mail, email-marketing, newsletter, or broadcast
2Affiliatesutm_medium is affiliate, affiliates, or partner
3Paid Socialutm_medium is paidsocial, paid-social, paid_social, social-paid, cpc, ppc, or paid. Also matches if has fbclid or ttclid click ID. Must also have utm_source matching a social platform (facebook, fb, meta, instagram, ig, linkedin, twitter, x, tiktok, snapchat, pinterest, reddit, threads, youtube)
4Paid Searchutm_medium is cpc, ppc, paid, paidsearch, paid-search, paid_search, search-ads, adwords, or adword. Also matches if has gclid, msclkid, gbraid, or wbraid click ID
5Displayutm_medium is display, banner, cpm, interstitial, expandable, or rich-media
6Paid Videoutm_medium is video, paid-video, paid_video, pre-roll, preroll, or instream
7Other CampaignsHas UTM parameters but didn’t match any channel above
8Organic SocialReferrer is a recognised social network (70+ domains). Also matches if utm_medium is social, organic-social, or organic_social
9Organic SearchReferrer is a recognised search engine (80+ domains including AI search engines). Also matches if utm_source is chatgpt, openai, perplexity, claude, gemini, copilot, meta.ai, phind, kagi, or andi
10ReferralHas an external referrer that didn’t match any channel above
11DirectNo referrer and no UTM parameters

How matching works: detection vs filters

Each channel has conditions. There are two types:

Detection conditions (utm_medium, has_click_id, referrer_domain) use OR logic. If ANY one of these matches, the channel is a candidate.

Filter conditions (utm_source, utm_campaign) use AND logic. If specified, these must ALSO match on top of the detection. Filters narrow the match after detection - they never trigger a match on their own.

Example: Paid Social detects on utm_medium = cpc (among others) but also filters on utm_source matching a specific social platform name (facebook, fb, meta, instagram, ig, linkedin, twitter, x, tiktok, snapchat, pinterest, reddit, threads, youtube). So utm_medium=cpc&utm_source=google does NOT match Paid Social (fails the source filter), but utm_medium=cpc&utm_source=facebook does.

Why priority order matters

Paid Social (priority 3) is checked before Paid Search (priority 4) because it’s more specific. Both channels detect on cpc as a medium, but Paid Social adds the extra requirement that utm_source is a social platform. Without this ordering, utm_medium=cpc&utm_source=facebook would incorrectly match Paid Search first.

Email sits at priority 1 because email traffic always has a distinctive utm_medium value - there’s no ambiguity, so it’s matched early and removed from consideration.

Other Campaigns (priority 7) sits above the organic and referral channels as a catch-all for UTM-tagged traffic that didn’t match a specific paid channel. This prevents UTM-tagged visits from falling through to Organic Social or Organic Search based on their referrer.

More specific channels should always be higher priority than broader ones.

Fallback channels

The last four channels (Organic Social, Organic Search, Referral, Direct) are primarily referrer-based or catch-all:

  • Organic Social: Referrer from a social network domain, or utm_medium is social/organic-social/organic_social
  • Organic Search: Traffic from a recognised search engine (including AI search engines and answer engines)
  • Referral: Visitor has an external referrer but didn’t match any channel above
  • Direct: No referrer and no UTMs

Customising channels

All channel rules can be customised in the SourceTag dashboard. You can:

  • Reorder channels to change priority
  • Disable channels you don’t need (toggle off)
  • Extend default channels by adding extra utm_medium values, utm_source values, or referrer domains
  • Add custom channels with your own name and conditions

For example, you might add a “Partner Referrals” channel that matches utm_medium=partner and place it above Affiliates in the priority list.

See Configure Channel Rules for step-by-step instructions.

Smart fields

Each channel has 4 smart fields that contain the most relevant data for that channel type. These are the core fields most users work with, and you can customise the mapping for each channel.

ChannelSmart Field 1Smart Field 2Smart Field 3Smart Field 4
Emailutm_source (e.g. mailchimp)utm_campaignutm_termutm_content
Affiliatesutm_sourceutm_campaignutm_termutm_content
Paid Socialutm_source (e.g. facebook)utm_campaignutm_termutm_content
Paid Searchutm_source (e.g. google)utm_campaignutm_term (keyword)utm_content
Displayutm_sourceutm_campaignutm_termutm_content
Paid Videoutm_sourceutm_campaignutm_termutm_content
Other Campaignsutm_sourceutm_campaignutm_termutm_content
Organic SocialReferrer domain (e.g. Facebook)utm_campaignutm_termutm_content
Organic SearchReferrer domain (e.g. Google)Referrer URLutm_termutm_content
ReferralReferrer domainReferrer URL--
Direct----

These defaults can be customised per channel in the channel editor. Each dropdown shows all available options with “(Default)” next to the recommended setting.

When a detail value is empty (e.g. no utm_term was present), the form field shows (not set) rather than being left blank. This makes it clear in your CRM that the field was captured but had no value, rather than the field being missing entirely.

What else gets captured

Beyond the smart fields, SourceTag also captures raw UTM values, click IDs, landing pages, visitor metadata, and custom parameters. All available as optional extended field groups you can toggle on or off.

See Captured Fields for the full list.

Doesn't answer your question or need more help? Get in touch.