TrackingCampaigns and UTM tags

Tracking

Campaigns, UTM tags and channels

How odo names where each visit came from: UTM tags, ref links, ad click ids, referrers, the seven channels, and in-app browsers like TikTok and Instagram.

On this page

Every visit gets a source (Google, TikTok, a newsletter) and a channel, worked out from the landing page’s address and the referrer.

The channels#

ChannelWhat lands there
DirectNothing says where the visit came from
Organic SearchSearch engines: Google, Bing, DuckDuckGo and the like
Organic SocialSocial networks and their apps
AIAI assistants and AI search: ChatGPT, Perplexity, Claude, Gemini, Copilot and others
PaidAd clicks: a paid medium (cpc, display…), or an ad network’s click id
EmailNewsletters and email
ReferralAny other site

UTM tags#

Tag a link and odo reads the tags from the landing page’s address:

Text
https://example.com/pricing?utm_source=newsletter&utm_medium=email&utm_campaign=october
  • utm_source names the source. utm_medium decides the channel: cpc, ppc, display or anything starting with paid is Paid; email or newsletter is Email; social is Organic Social; organic is Organic Search; referral is Referral.
  • utm_campaign is what the Campaign breakdown lists; utm_term and utm_content are kept to filter by.
  • ref, via and source parameters name a source too: ?ref=producthunt.
  • Tags beat the referrer, which apps and privacy settings often strip. Names are read in any case, and the first of each wins.

Ad clicks#

Without tags, an ad network’s click id still marks the visit as Paid, from that network: gclid, gbraid, wbraid and dclid (Google Ads), msclkid (Microsoft Ads), ttclid (TikTok Ads), twclid (X Ads), li_fat_id (LinkedIn Ads), sccid (Snapchat Ads) and epik (Pinterest Ads). Facebook adds fbclid to every link, ads or not, so it doesn’t count as one.

In-app browsers#

A link tapped inside TikTok, Instagram, Facebook, LinkedIn, Snapchat or X opens in that app’s own browser, which sends no referrer. When nothing else on the visit says where it came from (no tag, medium, referrer or click id), odo names the app as its source, in Organic Social, rather than counting it as Direct.

Which post it came from, the app doesn’t say. A link for each post does, and odo finds posts by their wave of visitors even without one.

Links for posts makes the tagged links for you, one per post, with the names odo reads.

This page as markdownllms.txt