UTM parameters are the query strings you add to campaign URLs that tell GA4 where a visitor came from. They are the bridge between your ad platforms and GA4, and they are the foundation of any multi-channel attribution analysis. When UTMs are used inconsistently, GA4 data fragments into dozens of variations of the same channel, making clean analysis impossible.
This guide covers the best practices for UTM parameters across all your ad channels.
The Five UTM Parameters
- utm_source: the platform or domain (e.g. facebook, google, linkedin, newsletter)
- utm_medium: the marketing medium (e.g. cpc, email, social, display)
- utm_campaign: the specific campaign name
- utm_content: the specific ad or creative variant (optional)
- utm_term: the keyword that triggered the ad (primarily for search ads, optional)
Source and medium are required for GA4 to attribute traffic correctly. Campaign is strongly recommended. Content and term are optional but add granularity.
UTM Naming Conventions: The Rules That Matter Most
Rule 1: Case sensitivity matters in GA4
GA4 treats UTM parameter values as case-sensitive. Facebook and facebook appear as two separate sources in your GA4 reports. Standardise on all lowercase for all UTM values, without exception.
Rule 2: Use consistent source names for each platform
Pick one source name per platform and use it always. Never mix. Example:
- Facebook Ads: utm_source=facebook
- Instagram Ads: utm_source=instagram (or facebook, depending on whether you want to separate them)
- Google Ads: utm_source=google (note: Google Ads auto-tagging adds gclid automatically; use UTMs for campaigns where you want explicit campaign-level data)
- LinkedIn Ads: utm_source=linkedin
- TikTok Ads: utm_source=tiktok
- Pinterest Ads: utm_source=pinterest
- Email (Klaviyo): utm_source=klaviyo
Rule 3: Use consistent medium values
- Paid social: utm_medium=cpc (not “paid_social” or “social” or “paid”)
- Paid search: utm_medium=cpc
- Email: utm_medium=email
- Organic social: utm_medium=social (only if you manually add UTMs to organic social links)
- Display: utm_medium=display
Using “cpc” for all paid channels makes it easy to filter all paid traffic at once in GA4 (session medium = cpc).
Rule 4: Campaign names should be human-readable and consistent
Use campaign names that match your actual campaign structure. If your Meta campaign is called “Q3-2026-TOFU-Prospecting”, use that as utm_campaign. Avoid generic names like “test” or “campaign1” that will be meaningless in GA4 reports six months from now.
Rule 5: Use hyphens not spaces or underscores
Spaces in UTM values get encoded as %20, which some tools display incorrectly. Underscores are technically fine but harder to read. Use hyphens: utm_campaign=shopify-retargeting-us.
Building a UTM URL
A complete UTM URL for a Meta Ads Shopify retargeting campaign looks like:
https://yourdomain.com/products/bestseller?utm_source=facebook&utm_medium=cpc&utm_campaign=retargeting-cart-abandoners&utm_content=video-testimonial-v1
Use Google’s Campaign URL Builder (available at ga-dev-tools.google.com/campaign-url-builder) to build UTM URLs without making syntax errors.
Where to Add UTMs Across Your Ad Channels
- Meta Ads: add UTMs to the Website URL field in each ad. Meta also has dynamic parameters you can use: utm_campaign={{campaign.name}} automatically inserts the actual campaign name.
- Google Ads: add to the Final URL suffix field at the campaign or ad level. Auto-tagging is already on, but adding UTMs gives you additional campaign-level visibility in GA4.
- LinkedIn Ads: add to the URL field on each ad. LinkedIn does not support dynamic UTM parameters the same way Meta does, so you will need to create per-campaign UTM URLs manually.
- TikTok Ads: add to the website URL in ad creation. TikTok supports dynamic parameters similar to Meta.
- Email (Klaviyo): enable automatic UTM tracking in Klaviyo settings. It will append utm_source=klaviyo and utm_medium=email to all email links automatically.
Verifying UTMs Are Working in GA4
After setting up UTMs on a campaign, check GA4 Reports → Acquisition → Traffic Acquisition. Filter by the date your campaign launched. Look for the utm_source you used. If it does not appear within 24 hours and traffic from that campaign is confirmed, the UTMs may not be appended correctly or the ad is landing on the wrong URL.
UTMs Are Essential for Cross-Channel Attribution
Without UTM parameters on every campaign, GA4 cannot accurately show you which channels are driving revenue. All paid traffic without UTMs defaults to “direct / (none)” in GA4, which inflates your direct traffic numbers and makes your paid campaign analysis meaningless.
Book your free Shopify tracking audit here and we will check your UTM implementation across all your active ad channels and identify gaps that are causing attribution errors in GA4.