UTM Medium Examples for Social Media (source, medium, campaign)
For social media, use utm_medium=social for unpaid posts and utm_medium=paid_social for boosted or paid posts, with utm_source set to the network name, such as facebook, instagram, or linkedin. That split is what keeps GA4 from lumping paid and organic traffic together. Build clean tagged links with our free UTM builder.
The Core Pattern: source Is the Network, medium Is the Type
Every social UTM tag follows the same three-part pattern. The source names the network: facebook, instagram, linkedin, youtube, tiktok, or x. The medium names the type of traffic: social for unpaid posts, paid_social for boosted posts and ads. The campaign names the effort: spring_sale, product_launch, or webinar_may, written in lowercase with underscores instead of spaces. A complete example for an organic Instagram post about a spring sale is: example.com/spring-sale?utm_source=instagram&utm_medium=social&utm_campaign=spring_sale. The same creative run as a paid Instagram ad changes exactly one value: utm_medium=paid_social, with the source and campaign unchanged. That single-value difference is the whole game, because Google Analytics 4 reads medium to assign the session to a channel group: social goes to Organic Social, paid_social goes to Paid Social. Swap them, or leave medium blank, and the session lands in the wrong bucket or in Unassigned, and your reporting quietly lies to you. Keep values lowercase everywhere, because GA4 treats Social and social as different values, and the split fragments your reports into duplicates that are painful to merge later.
Per-Network Examples You Can Copy
Here are ready-to-adapt examples for the networks that drive most social traffic. Facebook organic post: utm_source=facebook&utm_medium=social&utm_campaign=spring_sale. Facebook paid ad: utm_source=facebook&utm_medium=paid_social&utm_campaign=spring_sale. Instagram organic Reel: utm_source=instagram&utm_medium=social&utm_campaign=product_launch. Instagram paid story ad: utm_source=instagram&utm_medium=paid_social&utm_campaign=product_launch. LinkedIn organic company post: utm_source=linkedin&utm_medium=social&utm_campaign=webinar_may. LinkedIn sponsored content: utm_source=linkedin&utm_medium=paid_social&utm_campaign=webinar_may. TikTok organic video: utm_source=tiktok&utm_medium=social&utm_campaign=creator_series. TikTok paid spark ad: utm_source=tiktok&utm_medium=paid_social&utm_campaign=creator_series. X organic post: utm_source=x&utm_medium=social&utm_campaign=blog_promo. X promoted post: utm_source=x&utm_medium=paid_social&utm_campaign=blog_promo. Notice the discipline: source changes with the network, medium changes only with paid versus organic, and campaign stays constant across both versions of the same effort so the two can be compared side by side. Build each variant with our free UTM builder rather than typing parameters by hand, because one mistyped ampersand or unencoded space breaks the whole tag.
YouTube: social, video, or paid? The Tricky One
YouTube is where teams most often mistag, because a YouTube link can be social, video, or paid depending on how the viewer arrives. An organic video description link is social: utm_source=youtube&utm_medium=social. A paid pre-roll or in-stream ad is paid_social only if it runs through a social buying flow; most YouTube ads bought in Google Ads are better tagged utm_medium=cpc or video, with utm_source=youtube, because GA4 maps cpc to Paid Search and video to its own handling, and mislabeling them as paid_social distorts both channels. A video embedded on your own site needs no UTM at all, since it is not a campaign arrival. The deciding question is always how the click was bought and where the viewer came from, not what the content looks like: a video posted organically is social, the same video boosted is paid_social, and the same video run as a Google Ads placement is cpc or video. When the team disagrees, write the rule down once in a shared sheet and stop re-deciding it per post; inconsistent YouTube tagging is one of the most common causes of a mysteriously large Unassigned bucket. Our guides to utm_source vs utm_medium vs utm_campaign and building UTM links for campaigns cover the definitions and the workflow behind these calls.
The Five Mistakes That Break Social Attribution
First, using utm_medium=social for paid posts, which inflates organic social and hides ad spend performance; if money changed hands for the placement, it is paid_social. Second, putting the campaign name in the source, such as utm_source=spring_sale, which destroys the network breakdown and makes per-network comparison impossible. Third, capital letters and spaces: Spring_Sale, spring sale, and spring_sale become three campaigns in GA4, so enforce lowercase and underscores everywhere. Fourth, tagging internal links: UTM parameters belong on links that bring people to your site from outside, never on links between your own pages, because an internal UTM overwrites the original source and steals credit from the campaign that actually brought the visitor. Fifth, shortening without care: link shorteners preserve UTM parameters, but some social platforms strip or rewrite query strings on certain link types, so always click your own shortened link and confirm the parameters survive to the landing page. A related landing-page check is worth doing too: run the destination copy through our keyword density checker to confirm the page targets the terms the campaign promises, since a mistargeted landing page wastes even perfectly tagged traffic. For verifying the results, our guide to tracking UTM links in Google Analytics shows where each tag appears in GA4 reports.
A Naming Scheme Your Whole Team Can Follow
Good UTM tagging is a governance habit, not a one-post skill, and the scheme that survives contact with a real team is deliberately boring. Sources come from a fixed list of network names, never invented per post. Mediums come from a fixed list too: social, paid_social, email, cpc, referral, and nothing else without approval. Campaigns follow one pattern, such as initiative_audience_quarter: spring_sale_new_york_q2, product_launch_founders_q3. One person owns the list, it lives in a shared sheet, and new values get added to the sheet before they get used in a link, never after. The payoff shows up in reporting: when every spring sale post across five networks shares one campaign value and differs only in source and medium, a single GA4 exploration compares organic versus paid, network versus network, in seconds. When every post invents its own values, the same question takes an afternoon of spreadsheet cleanup. Start with this post's examples, lock the lists, and let our UTM builder enforce the encoding while the sheet enforces the names.
Do it in one click
Build clean, correctly-encoded UTM links in seconds — free UTM builder, no signup.
Open the Free Tool →