Last updated: 2026-04-30 · Cross-platform · By SocialKit Team
UTM parameters are short tags you append to any link that tell Google Analytics 4 exactly which social network, post, or campaign sent each visitor. This guide walks through building a tagged URL with SocialKit's free UTM Builder, adding it to a scheduled post, and reading the attribution data in GA4 — turning every scheduled post into traceable ROI.
Before you start
You need a destination URL (the page you are sending traffic to), a GA4 property set up for that domain, and a SocialKit account — the 7-day free trial is enough to schedule posts and test tracking, with €0.00 due today.
The free UTM Builder works without an account, so you can start building and previewing tagged links immediately. Decide on a naming convention for utm_source, utm_medium, and utm_campaign before you begin — inconsistent casing ("Instagram" vs "instagram") splits your GA4 data into separate rows and makes reporting painful.
GA4 treats parameter values as case-sensitive strings, so "Instagram" and "instagram" appear as two separate sources. Before generating a single link, write down the values you will use for each parameter: utm_source is typically the network name in lowercase (e.g. instagram, linkedin, x), utm_medium is your channel type (social), and utm_campaign is the campaign or content series name you want to track. Keep it in a shared doc or spreadsheet so every teammate uses the same strings.
Tip: A simple convention like source=instagram / medium=social / campaign=june-promo is more useful than elaborate naming, because it survives team turnover and still reads clearly in GA4 reports six months from now.
Go to the SocialKit UTM Builder (no login required). Paste your destination URL, then fill in utm_source, utm_medium, and utm_campaign. Optionally add utm_content to distinguish individual posts or creative variants (e.g. utm_content=carousel-01 vs utm_content=video-01). The builder assembles and encodes the full tagged URL as you type so you can copy it immediately.
Tip: Use utm_content generously when A/B testing creatives or post formats — it is the only parameter that lets GA4 tell two posts with identical campaigns apart at the individual-post level.
Paste the tagged URL into a private/incognito browser tab, navigate to it, and then open GA4 > Reports > Acquisition > Traffic acquisition. Within a few minutes (real-time view: within seconds) you should see a row with your utm_source and utm_medium values. If nothing appears, check that the destination domain has the GA4 tag installed and that the URL did not break during copy-paste. Fix the link before scheduling anything.
Open the SocialKit composer, select the accounts you want to target, and write your caption. Paste the tagged URL where the link should appear. As of June 2026, SocialKit does not automatically append UTM parameters to links you enter — the tagging must be done before you paste. The composer shows a character count and post preview per network, so you can confirm the full URL fits or shorten it if needed.
Tip: On some networks the link in the caption is not clickable (Instagram feed posts, TikTok captions). For those, put the UTM link in your bio or link-in-bio page and use utm_content to label the specific campaign driving traffic there.
If you are sending the post to multiple platforms in one go, use SocialKit's per-platform caption editor to tailor each version — the UTM link can stay the same across all of them, or you can give each network its own utm_source value for granular attribution. Pick your publish date and time, then schedule. As of June 2026, auto-publish availability depends on network and account type; SocialKit indicates whether a given post will publish automatically or send a mobile reminder to finish posting.
Some networks rewrite outbound URLs through their own redirect layer as of June 2026. LinkedIn, for example, wraps shared links through lnkd.in; Facebook uses l.facebook.com; X (Twitter) shortens links via t.co. In most cases your UTM parameters survive the redirect and land intact in GA4, but if you use an additional third-party link shortener (bit.ly, etc.) on top of a network redirect, test the full chain in GA4's real-time report before launch to confirm the parameters are not dropped.
Tip: If you must shorten a UTM link, use a shortener that 301-redirects rather than one that strips query strings. Always test the final short URL in a fresh incognito window and check GA4 real-time before the post goes live.
In GA4, go to Reports > Acquisition > Traffic acquisition and filter by Session source/medium. Your utm_source and utm_medium values will appear as rows. Switch to the Campaigns report to break down results by utm_campaign, and add utm_content as a secondary dimension to compare individual posts. SocialKit's Analytics section also surfaces engagement metrics per scheduled post, giving you reach and engagement on the social side alongside the GA4 click and conversion data.
As of June 2026, Instagram feed post captions do not render URLs as clickable links — the standard practice is to put the tagged URL in your profile bio or a link-in-bio page and reference it in the caption ("link in bio"). TikTok captions are similarly not clickable for most accounts, and the clickable bio link is the primary traffic driver there. For both platforms, use a consistent utm_source and a descriptive utm_content value so GA4 can still attribute sessions that arrive via the bio link to the specific post campaign.
A UTM link that passes through one redirect (the network's own link wrapper) nearly always preserves the parameters. A link that passes through two redirects — your own shortener and then the network's wrapper — can occasionally drop parameters depending on how the shortener is configured. If you rely on link shorteners for tracking branded short URLs, test the full redirect chain in GA4's real-time view before each campaign launch and confirm all five UTM parameters land on the destination page.
SocialKit's Analytics section surfaces reach, engagement, and post-level performance across all 11 platforms in one place. Pair it with GA4 UTM data to connect social engagement with the traffic and conversions that actually grow your business. Included on every plan — 7-day free trial, €0.00 due today.
See social analytics in SocialKitSchedule and cross-post to all 11 networks from one calendar on one flat plan. 7-day free trial — €0.00 due today.
€0.00 due today · cancel anytime · 7-day money-back guarantee
FAQ
The questions people ask before they schedule — answered honestly, hedged where platform behavior changes.
€0.00 due today · cancel anytime · 7-day money-back guarantee