Channel classification

Clickport sorts every visit into one of 16 traffic channels: automatic categories like Organic Search, Paid Social, or Email that answer "where does my traffic come from" without you tagging anything. You see them in the Channels sub-tab of the Sources panel, and you can filter the whole dashboard by any of them.

This page is the complete reference: every rule, every recognized domain, every paid medium, and every click ID, in the exact order they are evaluated.

How classification works

Classification happens on our servers the moment a visit arrives, using four inputs:

  • The referrer - the site the visitor came from, if the browser sent one
  • utm_source and utm_medium - your campaign tags
  • Click IDs - ad platform parameters like gclid or ttclid in the landing URL

The rules below are checked top to bottom, and the first match wins. That order is deliberate: paid channels are checked before their organic counterparts, and specific categories (Shopping, AI Search) before general ones (Organic Search), so a visit never falls into a broader bucket when a more precise one applies.

A session keeps the channel of its first pageview. All matching is case-insensitive.

The 16 channels, in evaluation order

1. Direct

No referrer, no utm_source, no utm_medium, and no ad click IDs. Someone typed your address, used a bookmark, or came from an app that sends no referrer. Untagged visits from one of your own pages (self-referrals) are also treated as Direct.

2. Display

A dclid click ID, or utm_medium of display, banner, or cpm.

3. Paid Search

Any of:

  • A Google Ads click ID (gclid or gad_source) or Microsoft Ads click ID (msclkid), unless the source is a social network or shopping site
  • utm_medium of googleads, adwords, or msads, so paid search stays paid even when the click ID gets stripped
  • A search engine source combined with a paid medium

4. Paid Social

Any of:

  • A social ad click ID: ttclid (TikTok), li_fat_id (LinkedIn), twclid (X), rdt_cid (Reddit), pnclid (Pinterest)
  • fbclid combined with a paid medium. An fbclid alone does not force Paid Social, because Facebook appends it to ordinary shared links too
  • A social network source combined with a paid medium

5. Paid Video

A video platform source combined with a paid medium.

6. Paid Shopping

A shopping site source combined with a paid medium, or utm_medium of shopping or pla.

7. Affiliates

utm_medium=affiliate, an Impact click ID (irclickid), or a source matching one of these affiliate networks:

affiliate impact shareasale cj.com awin rakuten advertising partnerize pepperjam flexoffers

8. Email

utm_medium of email or newsletter, or a source matching an email provider or sending tool:

mail email newsletter mailchimp hubspot sendgrid mailgun constantcontact activecampaign convertkit klaviyo sendinblue brevo mailerlite drip getresponse aweber campaign-archive list-manage gmail outlook protonmail

The mail entry deliberately matches anywhere in a hostname, so webmail portals like webmail.example.net or e.mail.ru land in Email too.

9. SMS

utm_medium=sms, or a source of exactly sms.

10. Audio

utm_medium of audio or podcast, or a source matching a podcast or audio app:

spotify apple podcasts overcast pocket casts castro castbox podbean stitcher iheartradio tunein soundcloud podchaser player.fm

11. Organic Shopping

A shopping marketplace source without a paid medium. Checked before Organic Search so Google Shopping does not get counted as search:

amazon ebay etsy walmart target aliexpress alibaba temu shein wish rakuten mercari zalando asos wayfair newegg bestbuy google shopping

12. AI Search

A source matching an AI assistant or AI search product. Checked before Organic Search so AI referrals get their own line instead of disappearing into search:

chatgpt openai claude claude.ai gemini copilot perplexity you.com phind kagi meta.ai deepseek grok duck.ai mistral liner.com poe.com yuanbao

The bare words (openai, claude, copilot, mistral) cover the utm_source values AI products append when the browser referrer is stripped. Note this channel counts humans clicking through from AI products. Bots sent by AI companies are handled separately, see AI Crawlers.

13. Organic Search

A search engine source without a paid medium, or utm_medium=organic:

google bing yahoo duckduckgo yandex baidu ecosia qwant startpage brave aol ask naver sogou seznam coc coc goo.ne.jp daum swisscows mojeek searx metager google news bing news

14. Organic Video

A video platform source without a paid medium:

youtube vimeo twitch dailymotion rumble odysee bitchute nebula floatplane kick trovo bilibili niconico

15. Organic Social

A social network or community source without a paid medium, or utm_medium=social:

facebook twitter x.com t.co linkedin lnkd.in instagram pinterest tiktok snapchat reddit redd.it tumblr vk weibo wechat whatsapp telegram discord line signal messenger mastodon bluesky threads lemmy kbin bereal lemon8 nostr hacker news product hunt dev.to hashnode lobsters slashdot indie hackers quora medium substack meta

16. Referral

Everything else: any site that sent you a visitor but matches none of the categories above. A paid medium with an unrecognized source also lands here, not in a paid channel, because Clickport will not guess which kind of ad it was.

Click ID reference

Ad platforms append click IDs to their landing URLs. Clickport reads them even when no UTM tags are present:

  • gclid, gad_source (Google Ads) - Paid Search
  • msclkid (Microsoft Ads) - Paid Search
  • dclid (Display & Video 360) - Display
  • ttclid (TikTok Ads) - Paid Social
  • li_fat_id (LinkedIn Ads) - Paid Social
  • twclid (X Ads) - Paid Social
  • rdt_cid (Reddit Ads) - Paid Social
  • pnclid (Pinterest Ads) - Paid Social
  • fbclid (Facebook) - Paid Social only together with a paid medium, since it also appears on ordinary shared links
  • irclickid (Impact) - Affiliates

Which mediums count as paid

A recognized source flips from organic to paid when utm_medium equals or contains one of:

cpc ppc cpm cpv cpa paid paidsocial paid_social paidsearch paid_search display banner retargeting remarketing shopping pla video preroll

Because it is a contains-match, variants like paid-social work too. Deliberately not on the list: ads, because it would swallow innocent values like leads.

Edge cases worth knowing

  • Lookalike domains do not match. Matching is boundary-aware: x.com matches www.x.com but not dropbox.com; line matches line.me but not linear.app or microsoftonline.com; ask matches ask.com but not taskade.com.
  • Subdomains inherit their parent. l.facebook.com and m.facebook.com count as Facebook.
  • Self-referrals become Direct. An untagged visit whose referrer is your own site is treated as Direct rather than inflating Referral. Internal campaigns you tag with UTMs still classify by their tags.
  • Sticky per session. The session keeps the channel of its first pageview, so a visitor wandering through your site does not switch channels mid-visit.
  • Rule updates. New rules apply to incoming traffic immediately. When we ship significant rule changes, such as new AI products, we also reclassify historical data so trends stay comparable.

Where channels show up

  • The Channels sub-tab of the Sources panel, with visitors per channel. See Panels.
  • As a filter dimension: filter any view by one or more channels, and combine with goals, countries, or pages.
  • In reports and exports wherever sources are broken down.

Related