🛠️

Should You Use UTM Parameters on Internal Links?

Quick Answer: No. UTM parameters belong on links that point to your site from somewhere else — email, ads, social posts. Put them on internal links and your analytics tool replaces the visitor's real traffic source with your internal "campaign." The visitor who arrived from a $40-per-click Google ad now shows up in your reports as homepage-banner. Track internal clicks with GA4 events instead.

What Happens When You Tag an Internal Link?

Walk through it. A prospect clicks your LinkedIn ad and lands on your homepage. GA4 records the session: source linkedin, medium paid_social. So far, so good.

Then she clicks a promo banner you tagged with ?utm_source=homepage&utm_medium=banner. Now there's a second campaign inside the same visit, and it's one you invented. When she fills out your demo form, attribution has two candidates: the LinkedIn ad that cost you real money, or a banner on your own site. If the banner wins, your reports say the ad produced nothing.

The old version of Google Analytics was even harsher. Universal Analytics started a brand-new session every time campaign parameters changed, so one visit became two and your session counts inflated. GA4 dropped that behavior, but the core damage remains: Google's own campaign URL documentation tells you to keep UTM tags off internal links.

Multiply that one visitor by every person who clicks a tagged banner, nav link, or footer CTA, and the pattern is a slow poisoning of your acquisition data. Paid channels look weaker than they are. Made-up sources like homepage and sidebar climb your reports. Nobody notices for months, because nothing looks broken. The numbers are just quietly wrong.

How Do You Track Internal Clicks the Right Way?

Use events, not URL tags. Events describe what happened during the session without touching where the session came from.

  1. Start with what GA4 already gives you. Enhanced measurement tracks outbound clicks, scrolls, and file downloads with no setup. Turn it on and check what's already answered.
  2. Add one custom event for internal CTAs. A click event with two parameters — link_text and link_url — covers most banners and buttons. Fire it from Google Tag Manager on the clicks you care about.
  3. Register the parameter as a custom dimension. Do this once in GA4 admin and you can compare placements in any report: banner vs. sidebar vs. footer, same conversion column.
  4. Answer "which page sends traffic where" with Path exploration. GA4's Explore section shows internal flow between pages. That's the question people usually want internal UTMs to answer, and it's already in the product.

The division of labor is simple. UTM parameters answer "how do people reach my site?" Events answer "what do they do once they're here?" Keep each tool on its own side of that line.

How Do You Find Internal UTM Tags You Already Have?

Three places to look:

Remove the parameters from internal links, replace any tracking need with an event, and give the reports a few weeks to clean up. Historical data stays polluted — GA4 doesn't rewrite the past — so note the cleanup date and compare periods after it.

When Are UTMs Between Your Own Properties Okay?

"Internal" means within the same measured site, not within the same company. Two cases worth separating:

Separate domains, separate GA4 properties. Your microsite links to your main site the same way any external referrer would. Tag away. That's exactly how we tag the links from this tool back to Bootstrap Creative.

Separate domains, one GA4 property. Don't use UTMs. Set up cross-domain measurement so the session carries across domains without resetting. UTM tags here cause the same self-attribution problem as any internal link.

Subdomains under one property — blog.example.com to www.example.com — count as internal. No tags.

Tag the Right Links, Cleanly

For the links that should carry UTM parameters — your emails, ads, and social posts — use the free UTM Builder Tool to keep naming consistent, then check your work with the UTM Link Validator.

Build a Clean UTM Link

Frequently Asked Questions

Do UTM parameters on internal links start a new session in Google Analytics?

In Universal Analytics, yes — any campaign change split the visit into a new session. GA4 doesn't force a new session, but the internal tag competes with the visitor's real source in attribution, so conversions can be credited to your internal "campaign" instead of the ad or email that actually earned the visit.

Can I use UTM parameters to track clicks on my homepage banner?

No. A homepage banner is an internal link, so tagging it overwrites the visitor's original traffic source. Track banner clicks with a GA4 event instead — record the click with parameters like link_text and link_url, and your acquisition data stays intact.

What should I use instead of UTM parameters for internal promotions?

Use GA4 events. Enhanced measurement already tracks outbound clicks automatically, and a small custom event covers internal CTAs and banners. If you need to compare placements, pass the placement name as an event parameter and register it as a custom dimension.

Do UTM parameters on links between my own websites count as internal?

Separate domains are separate sites. If your blog and your main site are different domains in different GA4 properties, UTM tags between them are fine and useful. If both domains share one GA4 property, set up cross-domain measurement instead of UTMs so the session carries over without resetting attribution.

Get the UTM naming cheat sheet

A one-page reference for clean source, medium, and campaign values that map to GA4 and HubSpot. No spam — occasional emails when I publish something genuinely useful.

Get in touch to request it

Written by Jake Lett

I'm a digital marketing consultant and the founder of Bootstrap Creative. I help B2B marketing teams get reliable answers from their data — HubSpot, Google Ads, GA4 conversion tracking, and the campaign tagging habits that make attribution actually work. I built the free UTM Builder Tool to solve my own naming headaches, and I write these guides so yours are shorter.


UTM Builder Tool

UTM Builder Tool is a free UTM tag generator that helps marketers create clean, consistent campaign URLs for Google Analytics 4 and HubSpot. It was built as a simpler alternative to the official Google Campaign URL Builder and HubSpot tracking URL builder — no login, no upsells, just accurate links.

Maintained by Bootstrap Creative, a Metro Detroit consultancy helping B2B teams with HubSpot, Google Ads, analytics, and lead generation.