Skip to main content
UTM parameters (Urchin Tracking Module) are tags you add to the end of a URL so analytics tools like Google Analytics can tell exactly where a visitor came from. They were invented by Urchin Software, which Google acquired in 2005 and turned into Google Analytics. The name stuck. A UTM-tagged URL looks like this:
https://yoursite.com/landing-page?utm_source=facebook&utm_medium=paid-social&utm_campaign=summer-sale&utm_content=carousel-ad-v2
When someone clicks that link, Google Analytics reads the tags and logs the visit under the source, medium, campaign, and content you defined. Without UTMs, GA often lumps paid social traffic into “direct” or “referral,” and you lose visibility into what’s actually driving results.

The five UTM parameters

ParameterWhat it tracksMeta Ads example
utm_sourceThe platform sending the trafficfacebook, instagram
utm_mediumThe marketing channel typepaid-social, cpc
utm_campaignThe campaign namesummer-sale-2025, retargeting-cart-abandoners
utm_contentThe specific ad or variationcarousel-ad-v2, video-testimonial-sarah
utm_termThe keyword or audience targetlookalike-2pct-purchasers, interest-yoga
Only utm_source, utm_medium, and utm_campaign are required. utm_content and utm_term are optional but extremely useful for Meta Ads, where you’re running multiple ad creatives and ad sets inside a single campaign.

UTMs in plain English

Think of UTMs like the return address on an envelope. When a letter arrives at your door, you can see who sent it and where it came from. Without a return address, you have no idea. UTMs are the return address for your website traffic. They tell your analytics tool: “This visitor came from Facebook, through a paid ad, as part of the summer sale campaign, and they clicked the carousel version.”

How UTMs work with Google Analytics

When a visitor clicks a UTM-tagged link, Google Analytics (GA4) automatically parses the parameters and populates these dimensions:
UTM ParameterGA4 Dimension
utm_sourceSession source
utm_mediumSession medium
utm_campaignSession campaign
utm_contentSession manual ad content
utm_termSession manual term
You can then build reports in GA4 to see exactly which campaigns, ad sets, and individual ads are driving traffic, conversions, and revenue. This gives you a second data source alongside Meta Ads Manager, which is especially valuable when Meta’s attribution models disagree with your actual sales data.

Setting up UTMs in Meta Ads Manager

Meta Ads Manager has a “URL Parameters” field at the ad level. You can use dynamic parameters that Meta fills in automatically:
utm_source=facebook&utm_medium=paid-social&utm_campaign={{campaign.name}}&utm_content={{ad.name}}&utm_term={{adset.name}}
The {{campaign.name}}, {{ad.name}}, and {{adset.name}} placeholders get replaced with the actual names from your account. This means you don’t have to manually type UTMs for every ad. Just set up the template once and your naming flows through automatically.
Dynamic parameters pull from your campaign, ad set, and ad names exactly as written. If your naming is messy (“Campaign (copy) - final v3”), that mess shows up in Google Analytics. Clean naming conventions in Ads Manager are a prerequisite for useful UTM data.

Common UTM mistakes

facebook vs Facebook vs fb vs meta. Google Analytics treats these as three separate sources. Pick one convention and stick with it across every campaign. Use lowercase for everything. Document your naming rules so anyone on the team follows the same format.
Most advertisers set utm_source, utm_medium, and utm_campaign but skip utm_content. That means you can see which campaigns drive traffic, but not which specific ad within that campaign. For Meta Ads, where you might run 5-10 creatives per ad set, utm_content is how you identify the winner in GA4.
If you don’t add UTMs to your Meta ad URLs, Google Analytics has no way to distinguish paid Facebook traffic from organic Facebook traffic, or sometimes even from direct traffic. You’re flying blind. Every ad should have UTMs. No exceptions.

How UTMs relate to other tracking

Tracking MethodRelationship
Meta PixelThe Pixel tracks what happens on your site after someone clicks. UTMs track where they came from. You need both: UTMs for GA4 attribution, the Pixel for Meta attribution and optimization.
Conversions APICAPI sends server-side conversion data to Meta. UTMs send click-level source data to GA4. They serve different systems but together give you two independent views of performance.
Attribution ModelsMeta uses its own attribution model (default 7-day click, 1-day view). GA4 uses UTM data with its own models (data-driven, last-click). Comparing the two helps you understand where Meta over- or under-reports.
ConversionsUTMs don’t track conversions directly. They tag the traffic source. Your analytics tool then connects that source data to conversion events (purchases, signups, leads) to show which source drove results.

UTM best practices for Meta Ads

1

Standardize your naming convention

Use lowercase, hyphens instead of spaces, and a consistent format. Example: utm_source=facebook, utm_medium=paid-social, utm_campaign=summer-sale-2025. Write this down in a shared doc so everyone on the team uses the same format.
2

Use Meta's dynamic URL parameters

Set up {{campaign.name}}, {{adset.name}}, and {{ad.name}} in the URL Parameters field. This eliminates manual entry and keeps your UTMs in sync with your Ads Manager naming.
3

Always include utm_content

Map utm_content to your ad name. This is the only way to see ad-level performance in GA4. When you’re A/B testing creatives, utm_content tells you which version drove results outside of Meta’s own reporting.
4

Audit your GA4 data monthly

Go to GA4 > Acquisition > Traffic Acquisition and filter by source/medium. Look for inconsistencies like Facebook and facebook appearing as separate sources. Fix the naming at the source in Ads Manager.
5

Cross-reference Meta and GA4 numbers

Compare Meta’s reported conversions with GA4’s UTM-attributed conversions for the same campaigns. Discrepancies are normal (different attribution windows, different tracking methods), but large gaps signal a tracking problem.

Track every dollar back to its source

AdAdvisor pulls your Meta Ads performance data into one dashboard alongside your cost metrics. When you pair that with proper UTM tracking in GA4, you get two independent views of what’s working. No more guessing which campaigns actually drive revenue.
Last modified on February 28, 2026