Guides
UTM Parameters for Social Media: A Guide
By PostMediaAI7 min read
Without UTM parameters, a lot of the traffic your social posts send shows up in analytics as a vague "referral" or even "direct" visit, and you cannot tell which post, network or campaign did the work. A UTM tag is a few words added to the end of a link that fixes that.
What is a UTM parameter?
UTM parameters are tags added to the end of a URL after a question mark. When someone clicks the link, Google Analytics reads the tags and records where the visit came from [1]. The page itself does not change.
A tagged link looks like this:
https://example.com/spring-sale?utm_source=instagram&utm_medium=social&utm_campaign=spring-sale-2026
The first parameter follows a question mark, and each extra parameter is joined with an ampersand [1].
The five UTM parameters
- utm_source: where the traffic comes from. For social, the network: instagram, linkedin, facebook, tiktok, youtube, x, pinterest.
- utm_medium: the type of traffic. For unpaid posts, use social. For ads, use a paid medium such as paid_social or cpc.
- utm_campaign: the campaign or reason for the post: spring-sale-2026, webinar-may, product-launch.
- utm_content: which specific post or link, useful when one campaign has several posts: reel-1, carousel-pricing, bio-link.
- utm_term: originally for paid search keywords. Most social posts can skip it.
Google Analytics also supports utm_id and a few others for importing campaign data, but source, medium and campaign are the three that matter for almost everyone [1].
Why utm_medium matters in GA4
GA4 sorts traffic into default channel groups such as Organic Social and Paid Social using rules [2]. Traffic is classed as Organic Social when the source matches GA4's list of social sites or the medium is one of a small set of values, including social, social-media and sm [2]. Paid Social requires a social source and a paid-looking medium, such as one containing "cp", "ppc" or starting with "paid" [2].
That means:
- utm_medium=social on an organic post lands in Organic Social.
- utm_medium=paid_social (or cpc) on an ad from a social network lands in Paid Social.
- An invented medium like utm_medium=insta-story may end up as Unassigned, which makes your channel reports less useful.
A naming convention you can copy
The most common UTM problem is inconsistency. GA4 treats Instagram, instagram and IG as three different sources, because values are case-sensitive [1]. Agree a convention once and write it down:
- Always lowercase.
- Use hyphens, never spaces.
- Fixed source names: instagram, facebook, linkedin, x, tiktok, youtube, pinterest, threads, bluesky, reddit.
- Fixed mediums: social for organic posts, paid_social for ads, influencer for creator partnerships if you want them separate (note this will not fall into a social channel group by default).
- Campaign names: [topic]-[month or year], for example black-friday-2026.
- Content names describe the post or placement: bio-link, story-swipe, reel-recipe, linkedin-carousel-1.
Keep the list in a shared spreadsheet with a column for the full tagged URL so anyone on the team can copy a correct link.
Examples by platform
- Instagram bio link: ?utm_source=instagram&utm_medium=social&utm_campaign=evergreen&utm_content=bio-link
- Instagram story link sticker: ?utm_source=instagram&utm_medium=social&utm_campaign=spring-sale-2026&utm_content=story-sticker
- LinkedIn company post: ?utm_source=linkedin&utm_medium=social&utm_campaign=webinar-may&utm_content=page-post-1
- TikTok profile link: ?utm_source=tiktok&utm_medium=social&utm_campaign=evergreen&utm_content=profile-link
- Facebook ad: ?utm_source=facebook&utm_medium=paid_social&utm_campaign=spring-sale-2026&utm_content=video-ad-a
- YouTube description link: ?utm_source=youtube&utm_medium=social&utm_campaign=tutorial-series&utm_content=video-12
How to build UTM links quickly
- Open Google's Campaign URL Builder [3].
- Paste your page URL and fill in source, medium, campaign and (optionally) content.
- Copy the generated link.
- If the link is long or ugly in a caption, run it through a link shortener you trust. The UTM tags survive as long as the shortener redirects to the full URL.
- Click the final link yourself before posting to check it loads the right page.
For recurring links, a spreadsheet formula that joins the base URL and your fields saves time and enforces the convention.
Worked example: comparing posts inside one campaign
Say you are promoting a webinar with three LinkedIn posts, two Instagram stories and an email. Give them all utm_campaign=webinar-may and vary only source, medium and content:
- LinkedIn post 1 (announcement): utm_source=linkedin, utm_medium=social, utm_content=announce
- LinkedIn post 2 (speaker quote): utm_source=linkedin, utm_medium=social, utm_content=speaker-quote
- LinkedIn post 3 (last call): utm_source=linkedin, utm_medium=social, utm_content=last-call
- Instagram stories: utm_source=instagram, utm_medium=social, utm_content=story-1 and story-2
- Newsletter: utm_source=newsletter, utm_medium=email
After the webinar, filter GA4 to the webinar-may campaign and add session manual ad content as a secondary dimension. You will see which network sent the most registrations and which individual post did the work, which tells you what to repeat for the next one.
Where to see the results in GA4
In GA4, go to Reports, then Acquisition, then Traffic acquisition. Change the primary dimension to Session source / medium or Session campaign to see your tagged traffic [1]. If you have set up key events, such as sign-ups or purchases, you can see how many each campaign produced, which is the starting point for working out social media ROI.
UTM mistakes to avoid
- Tagging internal links. Never put UTM tags on links between pages of your own site; it overwrites the original source of the visit.
- Mixed capitalization. Facebook and facebook become separate rows.
- Using the campaign name for the network. utm_campaign=instagram tells you nothing about why you posted.
- Forgetting the bio link. It is often one of the most-clicked links on social, and it is easy to leave untagged.
- Tagging every link differently "just this once." One-off names cannot be compared month to month.
Using UTMs with a scheduler
If you schedule posts in batches, add the tagged URL when you write the post, not on the day it goes out. In PostMediaAI you start from one post and publish it to the channels you choose, and the AI gives you a first draft for each channel that you edit before scheduling, so that edit is the moment to paste each network's own tagged link. Our guide to automating social media posting covers the batching routine, and answers on connecting channels are in our FAQ.
FAQ
What is UTM in social media?
A UTM is a set of tags added to a link you share on social media so analytics tools can record which network, campaign and post sent each visitor.
Do UTM parameters affect SEO?
UTM tags on links you share externally are a tracking convention and do not change the page. To avoid duplicate URLs being indexed, make sure your pages have a canonical URL without the parameters. Don't add UTMs to internal links.
Should utm_medium be social or social-media?
Both are on GA4's Organic Social list [2]. Pick one and use it everywhere. Most teams use social.
Can you use UTM links on Instagram?
Yes, in any clickable link: your bio or link-in-bio page, story link stickers, and ads. Links pasted into regular feed captions are not clickable on Instagram, so they won't record visits.
Related guides: Social Media Analytics for Beginners, A/B Testing on Social Media: How to Do It and How to Do a Social Media Audit (With a Free Template).
Sources
- [1] Google Analytics Help, URL builders: Collect campaign data with custom URLs
- [2] Google Analytics Help, Default channel group (Organic Social and Paid Social rules)
- [3] Google Analytics Campaign URL Builder
- PostMediaAI cross-posting and per-channel editing: postmediaai.com and postmediaai.com/faq