
"Is this traffic from ads? Or from social media?" — Accurately understanding where your users come from is critical for web marketing. However, with GA4's default settings, traffic from newsletters, social media posts, and QR codes can be misclassified as "Direct," making it impossible to correctly measure each campaign's performance.
That's where UTM parameters come in. Simply by appending UTM parameters to your URLs, you can precisely identify traffic sources, mediums, and campaigns in GA4. This article covers everything from how UTM parameters work to the five parameter types and how to write them, setup using Campaign URL Builder, how to verify data in GA4, and best practices for ongoing management — all explained for beginners.
UTM parameters are identification strings appended to the end of a URL that tell GA4 which link a user clicked to reach your site. UTM stands for "Urchin Tracking Module," a tracking mechanism that has been in use since the days of Urchin, the predecessor of Google Analytics.
The basic structure is "base URL" + "? (question mark)" + "parameter_name=value." When chaining multiple parameters, use "& (ampersand)" to connect them. For example:
https://example.com/?utm_source=google&utm_medium=cpc&utm_campaign=spring_sale
When a user clicks this URL, GA4 records the source as "google," the medium as "cpc," and the campaign name as "spring_sale."
Without UTM parameters, GA4 may not accurately determine traffic sources. For example, traffic from in-app browsers like LINE or Instagram often doesn't send referrer information, causing GA4 to classify it as "Direct." The same applies to links in newsletters and QR codes on printed materials. With properly configured UTM parameters, you can reliably track and visualize these traffic sources by platform and campaign name.
Note that for Google Ads, auto-tagging automatically appends parameters when linked with GA4, so manual UTM setup is unnecessary. However, for other platforms like Yahoo! Ads or Meta Ads, manual configuration is required.
There are five UTM parameters in total. Of these, utm_source and utm_medium are required, and utm_campaign is strongly recommended. utm_term and utm_content are optional. Let's look at each one's role and how to write them.
This parameter identifies which site or platform the user came from. In GA4, it is displayed as "Source." Common examples include google, yahoo, facebook, instagram, and newsletter.
This parameter identifies the type of medium the traffic came from. In GA4, it is displayed as "Medium." It is important to align the values with GA4's "Default channel group" definitions. Common values include cpc (paid click ads), organic (organic search), social (social media posts), email (newsletters), referral (links from other sites), display (display ads), and affiliate. If this value is incorrect, GA4 will classify the traffic as "Unassigned" in the channel group.
This parameter identifies which campaign or initiative the traffic is associated with. In GA4, it is displayed as "Campaign." Naming conventions should be consistent within your team, typically using lowercase alphanumeric characters and underscores, such as "2026_spring_sale" or "newsletter_202604."
This parameter identifies the keyword used in paid search ads. In GA4, it is displayed as "Keyword." It is optional and requires GA4's Exploration reports to view. Not needed for Google Ads (which uses auto-tagging) but useful for search ads on other platforms.
This parameter distinguishes different ads or links within the same campaign. It is useful for A/B testing banner variations or identifying multiple links within a newsletter. For example, setting utm_content=banner_a and utm_content=banner_b lets you see which banner generated more clicks in GA4. This parameter is also optional.
The easiest way to create UTM-tagged URLs is to use Google's official "Campaign URL Builder." Here's how to do it step by step.
First, navigate to Google's Campaign URL Builder. Enter the destination URL (website URL) and the values for each UTM parameter in the form fields. After filling in the required fields—utm_source, utm_medium, and utm_campaign—a UTM-tagged URL will be automatically generated at the bottom of the page. Add utm_term and utm_content as needed. Simply copy the generated URL and paste it into your ads, newsletters, or social media posts to complete the setup.
When managing a large number of UTM-tagged URLs, creating a template in Excel or Google Sheets is more efficient. Set up columns for Base URL, utm_source, utm_medium, utm_campaign, utm_term, and utm_content, then use CONCATENATE or TEXTJOIN functions to auto-generate the full URLs. This reduces input errors while enabling bulk URL creation, and doubles as a parameter management ledger for team-wide use.
After setting up UTM parameters, test the link to confirm it's being tracked correctly. Open the generated URL in an incognito/private browser window, then check GA4's Real-time report. Verify that your visit is recorded with the expected source, medium, and campaign name. Incognito mode is recommended because regular browser windows may be affected by IP exclusion settings or existing cookies.
The information set via UTM parameters can be checked in multiple GA4 reports.
From GA4's left menu, select Reports > Acquisition > Traffic acquisition. The default primary dimension is "Session default channel group." Switch it to "Session source/medium" to view sessions and conversions by utm_source and utm_medium values. Adding "Session campaign" as a secondary dimension also lets you see utm_campaign values.
utm_term and utm_content cannot be viewed in the standard Traffic acquisition report. To check these, create a Free-form report in Explorations and add "Session manual term" or "Session manual ad content" as dimensions. Explorations let you freely combine all UTM parameter values for comprehensive traffic analysis.
While UTM parameters offer flexibility in value assignment, failing to establish naming conventions can lead to data inconsistencies that severely degrade analysis quality. Keep the following rules in mind.
GA4 is case-sensitive for UTM parameters. For example, "Facebook" and "facebook" are treated as different sources in GA4. Enforce a rule to use all lowercase values consistently.
Set utm_medium values according to GA4's default channel group definitions. For example, use "cpc" for paid click ads, "email" for email campaigns, and "social" for social media posts. Custom values will be classified as "Unassigned" in the channel group, reducing report readability.
Using non-ASCII characters (such as Japanese or other non-Latin scripts) in UTM parameters results in URL encoding that makes strings extremely long and unreadable. Stick to lowercase alphanumeric characters, underscores, and hyphens.
When multiple team members set UTM parameters, having pre-defined naming rules is essential. If "spring-sale," "spring_sale," and "springsale" coexist, GA4 treats them as separate campaigns. Create a parameter management sheet and share it across the team.
UTM parameters are designed for measuring external traffic. Adding them to internal page links on your own site will overwrite the session's original source, causing the true referral to be lost. Never append UTM parameters to links within your own site.
Here are some of the most common scenarios where UTM parameters prove especially valuable.
First, measuring newsletter effectiveness. By adding UTM parameters to links in your newsletters, you can accurately track in GA4 how many site visits and conversions each email send generated. Typically, set utm_source to newsletter, utm_medium to email, and utm_campaign to the issue number or date.
Second, comparing social media performance. When posting the same article link across multiple social networks like Instagram and X (Twitter), differentiating utm_source by platform name lets you compare which social network drives the most traffic in GA4.
Third, tracking QR code traffic. Adding UTM parameters to QR code URLs on flyers or posters enables you to measure offline-to-online traffic in GA4. Consider using values like utm_source=qr_code and utm_medium=offline.
Fourth, cross-platform ad comparison. Setting UTM parameters on non-Google ad platforms like Yahoo! Ads, Meta Ads, and LINE Ads allows you to compare and analyze all ad channel performance in a unified view within GA4.
UTM parameters are identification strings appended to URLs that convey source, medium, campaign, and other information to GA4. Set utm_source, utm_medium, and utm_campaign as your foundation, and add utm_term or utm_content as needed.
Google's Campaign URL Builder is the simplest and most reliable way to generate tagged URLs. In GA4, check data by source/medium in the Traffic acquisition report, and use Exploration reports for utm_term and utm_content analysis.
For ongoing management, follow key rules: use all lowercase values, align utm_medium with GA4's channel definitions, standardize naming conventions across your team, and never use UTM parameters on internal links. By correctly implementing UTM parameters, you can visualize the effectiveness of each marketing initiative and make data-driven decisions about budget allocation and strategy optimization.

Active Users in GA4 measures users who engaged with your site. Learn the differences from Total Users, sessions, and pag...

A session represents the number of visits to a website. Learn the differences between sessions, pageviews, and users, ho...

Discover 10 actionable ways to improve your website's bounce rate, complete with industry benchmarks by site type. Learn...