What each UTM parameter means
The classic five come from Urchin, the software Google bought in 2005. GA4 added the other four so it could import cost data and split tactics. Here's what each one does, which value to use, and the mistake people make most often.
utm_source
requiredCampaign source
utm_source is the specific site or platform the click came from. It's the only parameter GA4 needs to record the visit as a campaign instead of direct traffic.
Use the name of the place where the click happened, not the company that sells the inventory. Google keeps a list of sources it already recognizes as search, social, video or shopping; a value outside that list can't be classified, so GA4 drops the traffic into a generic channel. That is why facebook and instagram work and meta does not.
- Examples
facebookinstagramgooglelinkedinweekly-newsletter- In GA4
- GA4 dimension: Session source
- Common mistake
- Using the holding company name (meta) instead of the site where the click happened (facebook, instagram). GA4 reports it as Paid Other.
utm_medium
recommendedCampaign medium
utm_medium is the type of traffic: paid, email, referral, display or affiliate. It is the parameter that decides which GA4 channel the visit lands in, and the one that breaks reports most often.
GA4 runs the medium through a regular expression before classifying it. Any value starting with paid, containing cp (cpc, cpm, cpv), or equal to ppc or retargeting counts as paid. Plain social lands in Organic Social even if you paid for every one of those clicks, and then spend stops matching the channel.
- Examples
cpcemaildisplayaffiliatereferralorganic_social- In GA4
- GA4 dimension: Session medium
- Common mistake
- Using social on a paid campaign. GA4 reports it as organic and the channel ends up with no cost attached.
utm_campaign
recommendedCampaign name
utm_campaign is the name you will read grouped results under: the promo, launch or initiative that several ads belong to.
Pick one written convention and stick to it, such as market-objective-period (ar-leads-q1-2026) or promo-year (hot-sale-2026). GA4 never reprocesses history. Rename a campaign midway and you get two rows for what is really one campaign, with no way to merge them in the UI.
- Examples
hot-sale-2026ar-leads-q1-2026app-launch- In GA4
- GA4 dimension: Session campaign
- Common mistake
- In the report, HotSale, hot_sale and Hot Sale 2026 count as three different campaigns.
utm_id
optionalCampaign ID
utm_id is the campaign's unique identifier, and it's the key GA4 uses to join traffic with the cost data you import from non-Google platforms.
If you upload cost, impressions and clicks from Meta, TikTok or LinkedIn into GA4 with Data Import, the join runs on utm_id plus date and the source/medium pair. Without utm_id every platform keeps counting on its own and there is no consolidated ROAS inside GA4.
- Examples
2026-hs-001120210000000000- In GA4
- GA4 dimension: Manual campaign ID
- Common mistake
- Reusing the same ID on two campaigns, which splits the imported cost between them.
utm_term
optionalCampaign term
utm_term stores the keyword that triggered the ad. It is meant for paid search, where Google Ads fills it automatically with the {keyword} ValueTrack parameter.
Outside search, many teams repurpose it as a second utm_content to store the ad set or the audience. That's fine, but decide once and write it down. Mixing both conventions in one account makes the report unreadable.
- Examples
{keyword}paid-media-agencylookalike-buyers- In GA4
- GA4 dimension: Session term
- Common mistake
- Using it as a free-text field on non-search campaigns with no written rule.
utm_content
optionalCampaign content
utm_content identifies the exact asset that was clicked: the creative, the ad, or the position of a link inside the same email.
This is the A/B testing parameter. Two links to the same destination with different utm_content values tell you which creative or which button drove the conversion, without inflating your campaign count. On Meta, fill it with the {{ad.name}} dynamic parameter so it fills itself in.
- Examples
{{ad.name}}video-15s-testimonialcta-header- In GA4
- GA4 dimension: Session content
- Common mistake
- Creating a new campaign per creative instead of separating them here.
utm_source_platform
optionalGA4Source platform
utm_source_platform declares which tool the media was bought from: Google Ads, Search Ads 360, Display & Video 360 or Manual.
GA4 added it to separate media bought through a Google platform from links you tagged by hand. If all your buying is manual, or you don't use Google's own tools, leaving it empty costs you nothing.
- Examples
Google AdsManualDisplay & Video 360- In GA4
- GA4 dimension: Source platform
- Common mistake
- Repeating the utm_source value here. It adds nothing and duplicates a dimension.
utm_creative_format
optionalGA4Creative format
utm_creative_format describes the asset format: display, native, video, search or social. It's a reporting dimension only and doesn't change channel classification.
It pays off when you compare formats across platforms, such as how video performs against static with Meta, TikTok and YouTube in one view.
- Examples
videodisplaynativesearch- In GA4
- GA4 dimension: Creative format
- Common mistake
- Inventing values per campaign. It only works with a closed vocabulary shared by everyone.
utm_marketing_tactic
optionalGA4Marketing tactic
utm_marketing_tactic separates the audience objective: prospecting for new acquisition, remarketing to bring back people who already know you.
It's how you split prospecting from remarketing without relying on the campaign name to say so. If you measure incremental CAC, without this parameter you depend on every campaign spelling the tactic out in its name.
- Examples
prospectingremarketing- In GA4
- GA4 dimension: Marketing tactic
- Common mistake
- Mixing tactics inside one campaign and tagging them all the same.