What are UTM Parameters?
Google Analytics (GA4) uses different attributes to allocate traffic and conversions to various channels. These attributes also add more context for analysis and reporting.
- Source – Identifies where the traffic is coming from (e.g., google, newsletter, facebook).
- Medium – Specifies the marketing medium (e.g., cpc, email, organic).
- Campaign Id (optional) – A unique identifier for a campaign.
- Campaign – The name of the campaign (e.g., spring_sale, holiday_promo).
- Content (optional) – Differentiates between variations of the same ad or link (e.g., banner_ad, text_ad).
- Term (optional) – Used in paid search campaigns to track keywords.
How to Use UTM Parameters?
When adding campaign links, the attributes mentioned above should be included as query string parameters using the following convention:
https://example.com?utm_source=google&utm_medium=cpc&utm_campaign=spring_sale&utm_id=001&utm_term=shoes&utm_content=banner_ad
The values used in the UTM parameters should follow Google’s defined rules for correct attribution. Google Analytics has default channels, but custom channels can be created. Below is an overview of GA4’s default channels and the rules it uses for channel attribution:
Default Channel | Rules |
Direct | Source exactly matches “(direct)” AND Medium is one of (“(not set)”, “(none)”) |
Cross-network | Campaign Name contains “cross-network” Cross-network includes Demand Gen, Performance Max, and Smart Shopping. |
Paid Shopping | Source matches a list of shopping sites OR Campaign Name matches regex ^(.*(([^a-df-z]|^)shop|shopping).*)$ AND Medium matches regex ^(.*cp.*|ppc|retargeting|paid.*)$ |
Paid Search | Source matches a list of search sites AND Medium matches regex ^(.*cp.*|ppc|retargeting|paid.*)$ |
Paid Social | Source matches a regex list of social sites AND Medium matches regex ^(.*cp.*|ppc|retargeting|paid.*)$ |
Paid Video | Source matches a list of video sites AND Medium matches regex ^(.*cp.*|ppc|retargeting|paid.*)$ |
Display | Medium is one of (“display”, “banner”, “expandable”, “interstitial”, “cpm”) |
Paid Other | Medium matches regex ^(.*cp.*|ppc|retargeting|paid.*)$ |
Organic Shopping | Source matches a list of shopping sites OR Campaign Name matches regex ^(.*(([^a-df-z]|^)shop|shopping).*)$ |
Organic Social | Source matches a regex list of social sites OR Medium is one of (“social”, “social-network”, “social-media”, “sm”, “social network”, “social media”) |
Organic Video | Source matches a list of video sites OR Medium matches regex ^(.*video.*)$ |
Organic Search | Source matches a list of search sites listed under “SOURCE_CATEGORY_SEARCH” OR Medium exactly matches “organic” |
Referral | Medium is one of (“referral”, “app”, “link”) |
Source is one of (“email”, “e-mail”, “e_mail”, “e mail”) OR Medium is one of (“email”, “e-mail”, “e_mail”, “e mail”) | |
Affiliates | Medium exactly matches “affiliate” |
Audio | Medium exactly matches “audio” |
SMS | Source exactly matches “sms” OR Medium exactly matches “sms” |
Mobile Push Notifications | Medium ends with “push” OR Medium contains “mobile” or “notification” OR Source exactly matches “firebase” |
Tools Available to Generate and Validate UTM Links
Google provides an official Campaign URL Builder for generating UTM links. However, I’ve developed a tool that not only generates UTM links but also validates them.
The tool has a tab for generating UTM links, where you can enter the attributes mentioned above and click “Generate URL” to create a link that can be used in different campaigns.

The tool also includes a tab to validate UTM links, ensuring compliance with Google’s attribution rules for default channels.

Conclusion
Proper use of UTM parameters ensures accurate attribution of traffic and conversions in Google Analytics. By following Google’s attribution rules and leveraging UTM tracking tools, you can improve the accuracy of your campaign performance analysis. Utilizing the right parameters and validation tool will help prevent discrepancies and ensure reliable data for reporting and decision-making.