virling Docs
v0.1.0 virling.com GitHub
virling Docs

Channels

Every session gets one channel, decided by its first pageview: Paid, Email, AI, Organic search, Social, Referral or Direct.

Rule order

The rules run in this order and the first match wins:

  1. utm_medium (case-insensitive):
    • cpc, ppc, paid, paidsearch, paid_social or paidsocial is Paid.
    • email, newsletter or e-mail is Email.
  2. Referrer host, when the visitor came from another site:
    • A known AI host is AI.
    • A known search host is Organic search.
    • A known social host is Social.
    • Any other host is Referral.
  3. utm_source, or ref when utm_source is missing, when there is no referrer:
    • A known AI source is AI, a known search source is Organic search, a known social source is Social.
    • Any other value is Referral.
  4. Any other utm_medium with no referrer and no source is Referral.
  5. Everything else is Direct.

Referrers from your own domain and its subdomains are ignored, so moving between your pages never changes the channel.

Known hosts

A leading www. is ignored, and subdomains match: old.reddit.com matches reddit.com. Entries ending in a dot match any domain ending, so google. covers google.com and google.de.

ChannelHosts
AIchatgpt.com, chat.openai.com, perplexity.ai, claude.ai, gemini.google.com, copilot.microsoft.com, chat.deepseek.com
Organic searchgoogle., bing.com, duckduckgo.com, search.yahoo., yahoo., ecosia.org, yandex., baidu.com, search.brave.com, startpage.com, kagi.com, qwant.com
Socialt.co, x.com, twitter.com, facebook.com, instagram.com, linkedin.com, lnkd.in, reddit.com, news.ycombinator.com, youtube.com, youtu.be, threads.net, bsky.app, mastodon.social, pinterest.com, tiktok.com, producthunt.com, indiehackers.com

AI is checked before search, so gemini.google.com is AI, not Organic search.

Known sources

These utm_source or ref values are matched exactly, lowercased:

ChannelSources
AIchatgpt, openai, perplexity, claude, gemini, copilot
Organic searchgoogle, bing, duckduckgo, yahoo, ecosia, brave
Socialtwitter, x, facebook, fb, instagram, ig, linkedin, reddit, hackernews, hn, youtube, threads, bluesky, tiktok, producthunt

Examples

LandingChannel
/?utm_source=google&utm_medium=cpc from google.comPaid, medium wins over the referrer
/?utm_medium=newsletterEmail
From news.ycombinator.comSocial
From chatgpt.comAI
/?ref=producthunt with no referrerSocial
From someblog.devReferral
Typed URL or bookmarkDirect

Referrer names

In breakdowns, aliases share one row: t.co and twitter.com show as x.com, lnkd.in as linkedin.com, chat.openai.com as chatgpt.com, and every Google country domain as google.com.

Custom channel rules are Not available yet.

Was this page helpful?No Edit this page on GitHub