— How to do it
- Paste the landing page URL Use the full address, including https://. Existing query parameters are kept.
- Fill in source, medium, and campaign These three are the ones analytics tools group by. Pick values from a fixed list so every post uses the same spelling.
- Add term or content if you need them Use utm_content to tell two links in the same campaign apart, such as the image post and the thread.
- Copy the tagged link Paste it into your post or your scheduler. Test it once in a private window before you publish.
What each UTM parameter means
UTM parameters are query string tags that analytics tools read when someone lands on your site. They do not change the page. They only label the visit.
| Parameter | Answers | Example |
|---|---|---|
utm_source | Which site sent the visit | linkedin, x, bluesky |
utm_medium | What kind of channel it was | social, paid-social, email |
utm_campaign | Which campaign or launch | v2-launch, spring-webinar |
utm_term | Paid keyword or audience (optional) | founders-us |
utm_content | Which link or creative (optional) | thread-post-3, image-a |
utm_id | A campaign ID for data imports (optional) | cmp-0142 |
Google Analytics 4 also reads utm_source_platform, utm_creative_format, and utm_marketing_tactic. Most teams never need them.
Naming conventions that keep reports clean
- Lowercase everything. GA4 treats
LinkedInandlinkedinas two sources. - Hyphens, not spaces. A space becomes
%20and is easy to mistype. - One medium per channel type. GA4 files a visit under Organic Social when the source is a known social site or the medium is
social,social-media,social-network, orsm. Paid visits need a medium that starts withpaidor matchescpcorppc. - Write the list down. A shared sheet of allowed sources and campaigns beats memory.
- Never tag internal links. A UTM on a link inside your own site starts a new session and overwrites the real source.
UTM links and character limits
X counts every URL as 23 characters no matter how long it is, and Mastodon does the same, so a long tagged link costs nothing extra there. Bluesky and LinkedIn are different: check the full post with the cross-post length checker before you schedule it.
Skip link shorteners on top of UTMs. They hide the destination, some networks rate them as spam, and SocialHandoff guardrails flag common shorteners on drafts by default. The UTM parameters glossary entry and link shortener entry go deeper.
Where this fits
When an agent drafts your launch posts in SocialHandoff, you can give it the tagged link and it keeps the link intact through approval. See how to schedule LinkedIn, X, and Bluesky posts or start from the blog post promo template.