Guide

UTM source vs medium vs campaign: what goes where

utm_source is who sent the visit, like facebook or newsletter. utm_medium is the kind of traffic, like paid_social or email. utm_campaign is which campaign. Google Analytics 4 reads source and medium together to pick the channel, so both have to be values it recognises.

One tagged link, taken apart

https://example.com/sale/?utm_source=facebook&utm_medium=paid_social&utm_campaign=acme_meta_sales_us_prospecting_202611&utm_content=video_spring-hero_v1
utm_source=facebookSent by Facebook
utm_medium=paid_socialA paid social ad, so GA4 files it under Paid Social
utm_campaign=acme_meta_...The campaign, named to your naming convention
utm_content=video_spring-hero_v1Which ad

Build links like this in bulk, free

Every UTM parameter, in one table

Google says to always use utm_source, utm_medium and utm_campaign. Leave one out and GA4 reports (not set) in its place.

ParameterWhat it saysExampleIn GA4 as
utm_sourceWho sent the visitfacebookSession source
utm_mediumThe kind of trafficpaid_socialSession medium
utm_campaignThe campaignspring_saleSession campaign
utm_idThe campaign ID, used to join imported campaign data{{campaign.id}}Manual campaign ID
utm_termThe paid keyword; for social ads, often the ad setlookalike_autoManual term
utm_contentWhich creative or linkvideo_spring-hero_v1Manual ad content
utm_source_platformThe buying platform, like Display & Video 360dv360Manual source platform
utm_creative_formatCreative typevideoNot reported in GA4 yet
utm_marketing_tacticTargeting, like prospectingremarketingNot reported in GA4 yet

Source vs medium: a quick test

Ask two questions. Who sent this visit? That's the source: a site, an app or a list. How, paid or free, ad or email? That's the medium. The same source can have many mediums:

Visitutm_sourceutm_mediumGA4 channel
Instagram adinstagrampaid_socialPaid Social
Link in your Instagram bioinstagramsocialOrganic Social
Google search ad, tagged by handgooglecpcPaid Search
Weekly newsletternewsletteremailEmail
Programmatic bannerdv360displayDisplay

For paid traffic, GA4 wants a medium that matches cp, ppc, retargeting or anything starting with paid. So paid_social, paid and cpc all work; social_paid and ads don't. The full rules and what happens when they miss are in GA4 unassigned traffic.

Five mistakes that split your reports

  1. The platform in the medium. utm_medium=facebook tells GA4 nothing about how the visit was paid for. Put the platform in the source.
  2. Capital letters. Google says values are case sensitive: Facebook and facebook are two sources. Use lowercase everywhere.
  3. Two spellings of one thing. fb in one link and facebook in another, or paid_social and paid-social. Write the allowed values down once.
  4. A source GA4 doesn't know. utm_source=meta isn't on GA4's list of social sites (we checked on 5 Nov 2026), so Meta ads tagged that way land in Paid Other. Use facebook or instagram.
  5. Spaces. A space becomes %20 or + depending on the tool. Use underscores or hyphens.

Check them before launch

Paste your links into the free UTM link checker. It catches missing tags, capital letters, two spellings of the same source or medium, and spaces, and fixes what it can. The campaign naming and UTM builder makes the links from your naming convention so they pass first time. Both run in your browser, so nothing you type is sent to us.

Check your links Open the builder

FAQ

Questions, answered

UTM source, medium and campaign, in plain words.

Still stuck? Email hello@weekendproof.com

What is the difference between utm_source and utm_medium?

utm_source is who sent the visit: the site or platform, like facebook, google or newsletter. utm_medium is the kind of traffic: paid_social, cpc, email or display. GA4 reads the two together to decide the channel, so facebook with paid_social is Paid Social and facebook with social is Organic Social.

Which UTM parameters are required?

None is technically required, but Google says to always use utm_source, utm_medium and utm_campaign. Missing tags show up as (not set) in GA4. utm_id, utm_term and utm_content are optional and worth adding for ads.

What should utm_medium be for paid social ads?

paid_social is a safe choice. GA4 counts a visit as Paid Social when the source is a known social site and the medium matches cp, ppc, retargeting or anything starting with paid. So paid_social, paid and cpc all work; social_paid or ads do not.

Should utm_source be facebook or instagram for Meta ads?

Either works in GA4, because both are on its list of social sites, as are fb and ig. Pick one rule and keep to it. Meta's {{site_source_name}} parameter fills in fb, ig, msg, an or th per click; msg, an and th are not on GA4's list, so those clicks land in Paid Other instead of Paid Social.

What is utm_id?

The campaign ID. Google describes it as the ID that identifies a specific campaign, and it is what links GA4 to campaign data you import. Ad platforms can fill it in for you, like {{campaign.id}} on Meta or {campaignid} on Google Ads.

What are utm_term and utm_content for?

Google meant utm_term for the paid keyword and utm_content for telling creatives apart. For social ads, a common use is the ad set name in utm_term and the ad name in utm_content. GA4 shows them in the Manual term and Manual ad content dimensions.