Slack campaign tracking with UTM
Slack is a common internal and community distribution channel where links are pasted into channels, DMs, and posted by apps. Slack's link unfurling fetches URLs server-side, and human clicks often arrive with little referrer, so untagged Slack traffic tends to land in direct. Tagging the links you share in Slack lets analytics attribute that traffic by source and campaign while unfurl fetches stay classified as bots.
Where to tag Slack links
Tag links you post in public or private channels, links sent by Slack apps and workflows, and links in app notifications. Use utm_source=slack with a utm_medium that reflects the placement, such as channel, dm, or app.
For a community Slack you run, this turns an otherwise invisible referral into a measurable channel without inspecting any messages.
- utm_source=slack
- utm_medium=channel | dm | app | notification
- utm_campaign for the announcement or release
Slack unfurling is a bot
When a URL is posted, Slack fetches it to build an unfurl preview. That request self-identifies as Slackbot-LinkExpanding and is an automated fetch, not a human click.
Classify the unfurl fetch as bot traffic so the preview does not register as a campaign click, even though it may carry your UTM.
How it appears in analytics and logs
A visit with utm_source=slack means a tagged link was opened from a Slack client. Slack's Slackbot-LinkExpanding crawler also fetches shared URLs to unfurl them, so distinguish that automated fetch from the human click.
Diagnostic use case
Attribute clicks from Slack channel posts, app notifications, and shared messages so Slack-driven sessions show as a named channel — useful for community Slacks and internal launches.
What WebmasterID can help detect
WebmasterID files UTM-tagged Slack sessions under a named source server-side and classifies Slack's unfurl crawler as a bot, keeping automated preview fetches out of human click counts.
Common mistakes
- Counting Slackbot-LinkExpanding unfurl fetches as human clicks.
- Assuming Slack passes a useful referrer — it often does not.
- Tagging some channels and not app/workflow links, undercounting Slack.
- Inconsistent source spelling (slack, Slack) splitting the report.
Privacy and accuracy notes
UTMs identify the link, not the Slack user or workspace. You learn a tagged URL was opened, never who posted or clicked it. No workspace, channel, or member identifiers are derived from a UTM.
Related pages
- Discord campaign tracking with UTM
Discord communities share links constantly in announcement channels, topic channels, and via bots. Discord's client opens external links in a way that typically passes little or no referrer, so untagged clicks land in direct. Tagging the URLs you post in your server lets analytics attribute Discord-driven traffic by source and campaign, while link-preview fetches stay classified as bots.
- Community campaign tracking with UTM
Community channels — owned forums, member Discords and Slacks, subreddits, and discussion boards — drive engaged traffic that is easy to lose to direct or referral noise. A consistent UTM convention across community surfaces lets you measure which communities and which posts actually send visitors, without scraping any member data. This page covers a naming approach that keeps many community sources comparable.
- UTM parameters and bot traffic
Tagged URLs get fetched by more than humans: crawlers, link-preview unfurlers, security scanners, and uptime monitors all follow UTM links. Counting them as campaign clicks inflates results. This page explains why bots hit tagged URLs and how to separate automated traffic from human campaign visits.
- Bot intelligence
Identify Slack's unfurl crawler apart from human visits.
Sources and verification notes
- Slack — Unfurling links in messagesHow Slack fetches posted URLs (Slackbot-LinkExpanding) for previews.
Last reviewed 2026-06-24. Facts are checked against primary/official sources where available; uncertain specifics are marked “Data not yet verified” rather than guessed.