TL;DR: UTM parameters are tags added to URLs that tell GA4 which campaign, channel, and ad drove each visit. There are five parameters:
utm_source,utm_medium,utm_campaign,utm_content, andutm_term. Without them, GA4 attributes most paid and email traffic as "Direct", making campaign attribution impossible. Use lowercase, no spaces, and consistent naming — or your data will be fragmented across dozens of near-identical sources.
If you are running paid campaigns, sending email newsletters, or posting links on social media, UTM parameters are not optional. Without them, GA4 cannot distinguish between a click from your Google Ads campaign, a link in your email newsletter, and a direct browser visit — grouping all untagged non-organic traffic under 'Direct'. This guide covers all five UTM parameters in GA4, how to build correctly tagged URLs, the common mistakes that corrupt attribution data, and how to read campaign reports in GA4. Once your UTMs are in place, Meaning's GA4 AI chatbot makes campaign analysis simple — just ask which campaigns are performing and get instant answers, no complex reports required.
What are UTM parameters?
UTM parameters (Urchin Tracking Module parameters) are short text tags appended to URLs that analytics platforms use to identify the source, medium, and campaign associated with a visit. When a user clicks a UTM-tagged URL, GA4 reads the parameter values and stores them as session-level attributes, attributing the session to the correct campaign and channel. UTM parameters were originally developed by Urchin Software, which Google acquired in 2005. They are supported natively by GA4, Google Ads, and virtually every third-party analytics and marketing platform. According to a 2023 HubSpot report, marketers who consistently apply UTM parameters to campaign URLs report 30–40% higher campaign attribution accuracy compared to those who rely on automatic channel grouping alone. UTM parameters do not affect your website's performance or the visitor's experience. GA4 reads the parameter values on page load and stores them as session properties. Modern GA4 implementations strip UTM parameters from the visible URL after processing, keeping the browser address bar clean.
The five UTM parameters explained
GA4 recognises five standard UTM parameters. Three are required for any tagged URL to produce useful attribution data: utm_source, utm_medium, and utm_campaign. Two are optional but recommended for granular analysis: utm_content and utm_term.
| Parameter | Required? | Purpose | Example Values |
|---|---|---|---|
| utm_source | Yes | Identifies where the traffic originated | google, newsletter, facebook, linkedin |
| utm_medium | Yes | Identifies the marketing channel type | cpc, email, social, paid-social, banner |
| utm_campaign | Yes | Identifies the specific campaign name | spring-sale-2024, product-launch-q1 |
| utm_content | No (recommended) | Differentiates links within the same campaign | hero-button, sidebar-link, version-a |
| utm_term | No (paid search only) | Identifies the paid search keyword | buy running shoes, best crm software |
utm_source: where did the traffic come from?
utm_source identifies the origin of the traffic. For paid search, the source is typically 'google' or 'bing'. For email campaigns, use your email platform name in lowercase (e.g., 'mailchimp' or 'klaviyo'). For social media, use the platform name in lowercase (e.g., 'facebook', 'linkedin', 'instagram'). Consistency is critical — 'Google' and 'google' are treated as two separate sources in GA4 reports.
utm_medium: what type of channel is it?
utm_medium identifies the marketing channel category and is the single most important parameter for GA4's Default Channel Grouping. Get it wrong and all your traffic lands in "Unassigned."
utm_medium identifies the marketing channel category. GA4 uses utm_medium values to assign sessions to its Default Channel Groups — predefined groupings like 'Paid Search', 'Email', and 'Paid Social'. For correct channel classification, use medium values that match GA4's grouping rules: 'cpc' for paid search, 'email' for email campaigns, 'social' for organic social posts, and 'paid-social' for paid social advertisements.
utm_campaign: which campaign generated the click?
utm_campaign identifies the specific marketing campaign. Use descriptive, consistent names that align with your internal campaign naming conventions. Avoid spaces — use hyphens or underscores instead. A well-structured campaign name includes the product, objective, and period: 'enterprise-plan-q1-2024' provides clearer analysis than 'campaign1' or 'spring'.
How to build UTM-tagged URLs
UTM parameters are appended to the destination URL using standard URL query string syntax. The first parameter is preceded by a question mark (?), and each additional parameter is separated by an ampersand (&). Google provides a free GA4 campaign URL builder at ga-dev-tools.google/campaign-url-builder/ that generates correctly formatted tagged URLs without manual typing. A correctly built UTM-tagged URL follows this structure: https://yoursite.com/page?utm_source=newsletter&utm_medium=email&utm_campaign=spring-sale-2024&utm_content=hero-cta
- Navigate to ga-dev-tools.google/campaign-url-builder/.
- Enter your destination URL in the Website URL field.
- Fill in utm_source, utm_medium, and utm_campaign (all three are required).
- Add utm_content and utm_term where relevant to this specific campaign.
- Copy the generated URL and use it as the destination link in your ad, email, or social post. For large campaigns with dozens or hundreds of destination URLs, use a spreadsheet-based URL builder. Create a template that concatenates the base URL with parameter values using a formula: =A2&"?utm_source="&B2&"&utm_medium="&C2&"&utm_campaign="&D2. This ensures naming consistency across every URL in the campaign.
Common UTM mistakes that break attribution in GA4
Key Takeaway: UTM errors are silent — GA4 won't warn you. Traffic is just quietly misattributed, making your best campaigns look like they're not working and your worst look inflated.
UTM parameter errors are silent failures — they do not trigger alerts or tracking errors. They simply misattribute traffic, making campaigns appear to underperform, inflating certain channel metrics artificially, and producing conversion attribution that does not reflect reality.
| Mistake | Effect on GA4 Reporting | Correct Approach |
|---|---|---|
| Inconsistent capitalisation (Google vs google) | Creates duplicate source entries in reports | Standardise all UTM values in lowercase |
| Spaces in parameter values | Spaces encode as %20, creating malformed source names | Use hyphens or underscores instead of spaces |
| Missing utm_medium on paid campaigns | Traffic falls into Direct or Unassigned channel group | Always include utm_medium with the correct GA4 channel value |
| Tagging organic social posts with UTMs | Overrides GA4's automatic organic social attribution | Only add UTM tags to paid posts; leave organic links untagged |
| Adding UTMs to internal links | Resets session source on every internal click, corrupting attribution | Never add UTM parameters to links between pages on your own site |
| Not tagging email campaign links | All email traffic is attributed as Direct | Tag every link in every email with at minimum utm_source and utm_medium=email |
How to read UTM campaign data in GA4
GA4 surfaces campaign data in the Acquisition section. The primary report for UTM analysis is Reports > Acquisition > Traffic Acquisition. This report groups sessions by Session Default Channel Group by default, but can be pivoted to show Session Source / Medium or Session Campaign to reveal UTM parameter-level attribution.
Traffic Acquisition report
The Traffic Acquisition report in GA4 shows sessions broken down by channel, source, medium, and campaign. To view UTM data, click the Session Default Channel Group dimension header and switch it to Session Campaign or Session Source / Medium. Adding a secondary dimension of Session Campaign gives you both the source/medium and the campaign name in a single view.
Building a custom UTM attribution report in explorations
- Go to GA4 > Explore > Blank Exploration.
- Add dimensions: Session source, Session medium, Session campaign, Session content.
- Add metrics: Sessions, Engaged sessions, Conversions, Total revenue (if applicable).
- Drag dimensions to the Rows section and metrics to the Values section.
- This creates a full UTM attribution breakdown across all five parameters in a single custom report. According to Google's official GA4 documentation, UTM parameters are attributed at the session level in GA4. If a user visits your site via a UTM-tagged URL and then returns 31 minutes later via a direct link, the second visit is attributed to Direct as a new session — the original UTM attribution does not carry forward beyond the session boundary.
Frequently asked questions
What are UTM parameters in GA4 and why are they important?
UTM parameters are tags appended to URLs that tell GA4 which marketing campaign, channel, and source drove each visit. They are essential because without them, GA4 cannot differentiate between email newsletter traffic, paid social ads, and direct visits — grouping all unidentified traffic as 'Direct'. Consistent UTM tagging is the foundation of accurate GA4 campaign tracking.
What are the five UTM parameters for GA4?
The five UTM parameters are: utm_source (identifies where traffic came from, e.g., 'google' or 'newsletter'), utm_medium (identifies the channel type, e.g., 'cpc' or 'email'), utm_campaign (identifies the campaign name), utm_content (differentiates multiple links in the same campaign), and utm_term (identifies the paid keyword that triggered the ad). The first three are required; utm_content and utm_term are optional but valuable for detailed analysis.
How do I view UTM campaign data in GA4?
UTM data is available in GA4 under Reports > Acquisition > Traffic Acquisition. Change the primary dimension from 'Session Default Channel Group' to 'Session Source / Medium' or 'Session Campaign' to view UTM-level attribution. For analysis across all five UTM parameters simultaneously, use GA4 Explorations and add Session source, Session medium, Session campaign, and Session content as row dimensions.
Do UTM parameters affect GA4's automatic channel grouping?
Yes. GA4 uses utm_source and utm_medium values to assign sessions to its Default Channel Groups (Paid Search, Email, Paid Social, etc.). For correct channel classification, utm_medium must use values recognised by GA4's grouping rules: 'cpc' for paid search, 'email' for email, 'paid-social' for paid social ads. Sessions with unrecognised medium values are placed in the Unassigned channel group, which indicates a UTM configuration problem.
Should I add UTM parameters to links on my own website?
No. Adding UTM parameters to internal links — links between pages on your own website — resets the session source on every click. This means a user who arrived via a paid ad and then clicks an internal link tagged with utm_source=internal will have subsequent pages attributed to your internal tag rather than the original ad. UTM parameters belong only on external links: ads, email campaigns, social posts, and partner website placements.
Conclusion
UTM parameters in GA4 are the difference between knowing which campaigns drive results and guessing. The five parameters — source, medium, campaign, content, and term — work together to give every session a clear, queryable origin. Build your UTM taxonomy once, document naming conventions in a shared team spreadsheet, and apply consistent tagging to every external campaign link from day one. The payoff is attribution data you can act on rather than 30%+ of your traffic sitting in an unactionable 'Direct' bucket. Once your GA4 campaign tracking is configured correctly with UTM parameters, tools like Meaning (https://usemeaning.io) let you ask questions about your campaign performance in plain English — no custom reports or data exports required.