Channel type is the type of acquisition channel the user came from, for example:
Channel Type | Description |
---|---|
Direct | User typed in the URL directly or used a saved link. |
Paid Search | User clicked on an ad from a search engine, e.g. Google, Bing, or Baidu. |
Paid Social | User clicked on an ad from a social media platform, e.g. Facebook, LinkedIn, or Twitter |
Paid Video | User clicked on an ad from a video platform, e.g. YouTube or Twitch. |
Paid Shopping | User clicked on an ad from a shopping platform, e.g. Amazon or eBay. |
Paid Other | User clicked on an ad from an unknown platform. |
Cross-Network | User clicked on a cross-network ad |
Organic Search | User clicked on a non-ad search result from a search engine, e.g. Google, Bing, or Baidu. |
Organic Social | User clicked on a non-ad link from a social media platform, e.g. Facebook, LinkedIn, or Twitter |
Organic Video | User clicked on a non-ad link from a video platform, e.g. YouTube or TikTok. |
Organic Shopping | User clicked on a non-ad link from a shopping platform, e.g. Amazon or eBay. |
Affiliate | User clicked on an affiliate link. |
Referral | User clicked on a referral link. |
User clicked on a link from an email. | |
Display | User clicked on a display ad, e.g. an ad on Google Display Network. |
SMS | User clicked on a link from an SMS. |
Audio | User clicked on an audio ad, e.g. a podcast ad. |
Push | User clicked on a push notification. |
Other | User clicked on a link from an unknown source. |
It is calculated using the UTM tags present in the URL when the user first lands on your website, as well as the referring domain, and Advertising IDs that are present in the URL.
Channel type calculation
Traffic is considered "Paid" if any of the following are true:
utm_medium
is one ofcpc
,cpm
,cpv
,cpa
,ppc
orretargeting
utm_medium
starts withpaid
- Either
gclid
orgad_source
is present
We use a list of known values for referring_domain
, utm_source
, and utm_medium
, which you can view in the source code.
These rules are applied in order, and the first one that matches is used to determine the channel type.
Channel Type | Logic |
---|---|
Cross Network | utm_campaign equals cross-network |
Paid Search | Traffic is paid, and utm_source matches our list of search sources (e.g. google , bing , duckduckgo ) |
Paid Social | Traffic is paid, and utm_source matches our list of social sources (e.g. facebook , linkedin , twitter ) |
Paid Video | Traffic is paid, and utm_source matches our list of video sources (e.g. youtube , twitch , disneyplus ) |
Paid Shopping | Traffic is paid, and utm_source matches our list of shopping sources (e.g. amazon , etsy , ebay ) |
Paid Search | Traffic is paid, and referring_domain matches our list of search sources (e.g. google.com , bing.com , duckduckgo.com ) |
Paid Social | Traffic is paid, and referring_domain matches our list of social sources (e.g. facebook.com , linkedin.com , twitter.com ) |
Paid Video | Traffic is paid, and referring_domain matches our list of video sources (e.g. youtube.com , twitch.tv , disneyplus.com ) |
Paid Shopping | Traffic is paid, and referring_domain matches our list of shopping sources (e.g. amazon.com , etsy.com , ebay.co.uk ) |
Paid Shopping | Traffic is paid, and utm_campaign matches the regular expression `^(.*((a-df-z |
Paid Social | Traffic is paid, and utm_medium matches our list of social mediums (e.g. sm , social-media , social-network ) |
Paid Video | Traffic is paid, and utm_medium matches our list of video mediums (e.g. video ) |
Display | Traffic is paid, and utm_medium matches our list of display mediums (e.g. display , interstitial , banner ) |
Paid Search | Traffic is paid, and gad_source equals 1 |
Paid Video | Traffic is paid, and utm_campaign matches the regular expression ^(.*video.*)$ |
Paid Other | Traffic is paid |
Direct | Referring domain is the special value $direct , and utm_medium is not set, and utm_source is either empty or equal to direct or (direct) |
Organic Search | utm_source matches our list of search sources (e.g. google , bing , duckduckgo ) |
Organic Social | utm_source matches our list of social sources (e.g. facebook , linkedin , twitter ) |
Organic Video | utm_source matches our list of video sources (e.g. youtube , twitch , disneyplus ) |
Organic Shopping | utm_source matches our list of shopping sources (e.g. amazon , etsy , ebay ) |
utm_source matches our list of email sources (e.g. email , e_mail , e-mail ) | |
SMS | utm_source matches our list of SMS sources (e.g. sms ) |
Push | utm_source matches our list of SMS sources (e.g. firebase ) |
Organic Search | referring_domain matches our list of search sources (e.g. google.com , bing.com , duckduckgo.com ) |
Organic Social | referring_domain matches our list of social sources (e.g. facebook.com , linkedin.com , twitter.com ) |
Organic Video | referring_domain matches our list of video sources (e.g. youtube.com , twitch.tv , disneyplus.com ) |
Organic Shopping | referring_domain matches our list of shopping sources (e.g. amazon.com , etsy.com , ebay.co.uk ) |
Organic Shopping | utm_campaign matches the regular expression `^(.*((a-df-z |
Organic Social | utm_medium matches our list of social mediums (e.g. sm , social-media , social-network ) |
Organic Video | utm_medium matches our list of video mediums (e.g. video ) |
Affiliate | utm_medium matches our list of affiliate mediums (e.g. affiliate ) |
Referral | utm_medium matches our list of referral mediums (e.g. referral , link , app ) |
utm_medium matches our list of email mediums (e.g. email , e_mail , e-mail ) | |
Display | utm_medium matches our list of display mediums (e.g. display , cpm , interstitial , banner ) |
Audio | utm_medium matches our list of referral mediums (e.g. audio ) |
Push | utm_medium matches our list of referral mediums (e.g. push , notification , mobile ) |
Organic Video | utm_campaign matches the regular expression ^(.*video.*)$ |
Push | utm_medium ends with push |
Other | No previous rule matched |
If you would to be able to customise this logic, please upvote this issue. Our definitions were based on the definitions that GA4 uses, but added our own logic to handle some edge cases they don't.