UTM Links: Tracking Which Campaigns Bring Visitors
A UTM link is an ordinary link to your website with a few extra labels on the end that tell Google Analytics where the visitor came from: which newsletter, which social post, which printed flyer. This guide explains the parameters, how to name them so reports stay clean, how GA4 sorts tagged visits into channels, and where tagging goes wrong. It draws on Google Analytics Help, checked on 4 November 2026.
Why tag links at all
Google Analytics can work out some sources by itself from the page a visitor came from, such as a search engine or another website. It cannot tell your March newsletter from your April one, a paid social ad from an unpaid post, or a QR code on a flyer from someone typing your address. Adding campaign parameters to the links you control fills that gap. Google's help page on collecting campaign data with custom URLs explains that when someone clicks a tagged link, the values are sent to Analytics and show up in the Traffic acquisition report.
If you are new to GA4 itself, start with our guide to Google Analytics 4 for small business websites, which covers installing the tag and setting up key events.
The parameters
Each parameter is a name and a value added after the page address. Google lists these:
- utm_source: the referrer, for example
google,newsletter4orbillboard. - utm_medium: the marketing medium, for example
cpc,banneroremail. - utm_campaign: the product, slogan or promotion, for example
spring_sale. - utm_content: to tell creatives or links apart, such as two buttons in the same email.
- utm_term: the paid keyword.
- utm_id: a campaign ID, used when you also upload campaign data to Analytics.
- utm_source_platform: the platform that directed the traffic, such as Search Ads 360 or Display & Video 360.
Google also lists utm_creative_format and utm_marketing_tactic, but notes that neither is currently reported in Google Analytics properties. Google says you should always use utm_source, utm_medium and utm_campaign, and warns that missing UTM parameters result in "(not set)" values in reports.
Building a tagged link
A question mark separates the parameters from the address, each parameter and value are joined with an equals sign, and the pairs are separated with an ampersand. The order does not matter. Google's own example for a summer sale email:
https://www.example.com/?utm_source=summer-mailer&utm_medium=email&utm_campaign=summer-sale
You can type these by hand, but Google's Campaign URL Builder fills them in for you and avoids typing mistakes. For ads promoting an Android app, Google points to its separate Play Campaign URL Builder instead.
Some ad platforms can fill values in automatically with dynamic parameters. Google's examples include utm_campaign={{campaign.name}} and {{site_source_name}}, and notes that the placeholders vary by advertising platform. Our guide to Facebook and Instagram ads covers how those campaigns are organised. For Google Ads, Analytics explains that auto-tagging appends a Google Click ID (gclid) to your URL, which is how those visits are identified; see our Google Ads basics guide.
Naming rules that keep reports clean
Google's UTM best practices come down to consistency. Values are case sensitive: utm_source=google and utm_source=Google are different, so are Meta and meta, and so are SpringSale and Spring_Sale. Each variant becomes its own row, and one campaign ends up split across several. Google's recommendations:
- Use lowercase as a standard.
- Use one source value for each platform, with distinct values for sub-platforms (Google's example:
fbfor Facebook andinstafor Instagram). - Use one medium value for each channel, for example
paid_socialororganic_search. - Use one campaign name that matches the campaign's real name.
- Keep utm_content values unique to the creative or format, named the same way across ads.
A short shared document listing the agreed values, kept with whoever sends emails and posts on social media, is the simplest way to follow these rules in practice.
How GA4 turns tags into channels
GA4 sorts every visit into a channel such as Email, Organic Social or Paid Search, using the rules in its default channel group. For tagged links, the medium (and sometimes the source) decides the channel. A few of the rules:
- Email: source or medium is
email,e-mail,e_mailore mail. - Organic Social: the source is on Google's list of social sites, or the medium is one of
social,social-network,social-media,sm,social networkorsocial media. - Paid Social: the source is on the list of social sites and the medium matches a paid pattern, such as one containing
cp, exactlyppcorretargeting, or starting withpaid. - Display: medium is one of
display,banner,expandable,interstitialorcpm. - Referral: medium is
referral,apporlink. - SMS: source or medium is exactly
sms.
When no rule matches, GA4 reports the visit as Unassigned. One cause is a medium that matches none of the rules, for example utm_medium=newsletter instead of email. Google says the channel definitions are not case sensitive and cannot be edited, though you can create your own channel groups. Choosing mediums from the list above keeps tagged visits in the right channel.
Never tag your own internal links
UTM links are for links that bring people to your site from outside: emails, social posts, ads, QR codes, partner websites. Do not put them on links from one page of your site to another, such as a homepage banner pointing to an offer.
Google's campaigns and traffic sources article explains why. A new session is not started when Analytics meets a new campaign mid-visit, but the new values are attached to the events that follow and used for event-based attribution. So a visitor who arrived from your newsletter, clicked a tagged banner on your homepage and then sent an enquiry would have that enquiry credited to your own banner, not to the newsletter. If you want to know which on-site banners get clicked, measure the clicks as events instead.
Where to see the results
In GA4, the Acquisition > Traffic acquisition report shows Session source/medium, Session medium, Session source and Session campaign. Compare campaigns there, and look at key events alongside sessions so you judge a campaign by enquiries rather than clicks. Our guide to a simple monthly website report shows how to fit this into a regular review. To carry the campaign through to a sale, the same values can be captured in hidden form fields and sent to your CRM, as described in our guide to connecting your website to a CRM.
For newsletters, tag every link in the email the same way, using utm_content to tell links apart. The rules for who you may email in the first place are in our guide to email marketing rules for small businesses.
Frequently asked questions
Can I use UTM links for print, such as a QR code on a flyer?
Yes. Google's own examples of a source include billboard, so offline material can be tagged too. Put the tagged link behind the QR code, and give each printed item its own utm_source or utm_content value so you can tell them apart.
Why does my campaign show as Unassigned in GA4?
GA4 uses Unassigned when no default channel rule matches the visit. Check the medium value: Google's rules recognise values such as email, social, referral, display, cpc or sms, so an invented medium will not match a channel.
Are UTM values case sensitive?
Yes. Google Analytics Help says parameter values are case sensitive, so utm_source=google and utm_source=Google appear as separate rows. Google recommends lowercase as a standard.
Do I need to tag my Google Ads links?
Google Analytics explains that with auto-tagging enabled, Google Ads appends a Google Click ID (gclid) to your URLs, which identifies those visits. Tag links for other platforms, emails and social posts yourself.
Planning a new site and want analytics in place from launch? Analytics is part of the launch work in our website development service. See all our services, or email [email protected].