Why Link Clicks Never Match Google Analytics

A link tracker counts the click; Google Analytics counts the page that loaded afterwards. The gaps between them, and which number to trust for what.

· Written by the team that runs Track Link

Short answer

A link tracker counts the tap at the redirect, before your page loads; Google Analytics only counts a visit once its script runs on the page and the visitor's consent allows it. People who leave early, block GA or decline cookies become clicks with no session, and GA also counts visits no link produced. Use the link tracker for how many people tapped a link in each channel, and GA for what they did on your site.

Your link tracker shows one number of clicks. Google Analytics shows noticeably fewer sessions for the same campaign. And on some days GA shows visits that no link could have sent. Neither tool is broken. They're counting different things at different moments.

Two tools counting two different moments

Follow a single tap and you can see where the two numbers split:

  1. Someone taps your short link.
  2. The link tracker records the click and sends the browser on to your page. This is where Track Link counts.
  3. Your page starts loading.
  4. The Google Analytics script loads, if nothing blocks it.
  5. The visitor's cookie choice lets it record, if your site asks.
  6. GA records a page view and starts or continues a session. This is where GA counts.

Anything between step 2 and step 6 is a place where a real click can fail to become a GA session. And GA can count sessions that never went through step 1.

One Track Link detail sits in this gap. On the Free plan, most links show a short Track Link notice before forwarding the visitor. The click is recorded before the notice, so anyone who closes the tab during it counts as a click but never reaches GA. Paid plans redirect straight away.

Why the link tracker usually shows more

People leave before the page loads

A mis-tap, a slow page on mobile data, a change of mind. The redirect is quick; a heavy landing page isn't. Anyone who leaves in between is a click with no session. What to do: if the gap is large on mobile traffic, load your page on a phone over mobile data and see how long it takes.

Ad blockers and privacy browsers

Many ad blockers, and some browsers with built-in tracking protection, block the GA script or its requests. The click still passes through the redirect, so the link tracker sees it, but GA never hears about it. What to do: nothing on the link side. Expect a bigger gap with technical audiences.

Cookie banners and consent mode

If your site has a cookie banner, visitors who decline analytics aren't recorded as normal sessions. Depending on how Google's consent mode is set up, GA either records nothing for them or receives cookieless signals it may use for modelled estimates. Either way, they don't show up one for one. What to do: remember that a share of your visitors is invisible to GA by your own design, and that share depends on your banner.

GA counts sessions and users, not clicks

Tap a link twice in five minutes and that's two clicks, but usually one session in GA, because a session runs until 30 minutes of inactivity by default. What to do: compare GA users or sessions with Track Link's unique visitors, not with total clicks. How we decide what's unique is in why your link shows clicks nobody made.

Bots and previews are filtered differently

Track Link leaves out link previews and bots that identify themselves, and drops redirect clicks from the major cloud-compute networks. GA has its own exclusion of known bots. The two lists aren't the same, and a bot that follows the redirect but never runs JavaScript won't appear in GA at all. What to do: if clicks arrive in bursts, seconds after posting, or from data-centre locations, read the click log before blaming GA.

Why GA sometimes shows more, or files visits in the wrong row

Visits no link produced

Typed URLs, bookmarks, search results, and links people copied from the page itself rather than your short link. GA sees all of these; your link tracker sees none of them. What to do: compare against GA filtered to the campaign's UTM tags, not the whole site or a whole channel.

In-app browsers send no referrer

Instagram, TikTok and Facebook open links in their own built-in browser, and those visits often arrive with no referrer. Without UTM tags, GA files them as Direct, so your social campaign looks smaller in GA than it is. What to do: put UTM tags on every link you post in a social app.

UTM case differences split rows

GA treats utm_source=Facebook and utm_source=facebook as two different sources, so one campaign tagged two ways becomes two rows, each smaller than your link's total. What to do: pick lowercase and stick to it. The UTM builder makes that easier.

Redirect chains that drop the query string

If your destination redirects again, from http to https, from the bare domain to www, or through another tool, one of those hops can drop everything after the question mark. The UTM tags never reach the page, and GA files the visit somewhere else. What to do: run the short link through the link tracer or the redirect checker and check your tags survive every hop.

The gaps at a glance

What happenedWhere it showsWhat to do
Visitor left before the page loadedA click, no GA sessionSpeed up the landing page
Ad blocker or privacy browserA click, no GA sessionExpect it
Visitor declined analytics cookiesA click, no normal GA sessionExpect it; depends on your banner
Two taps close togetherTwo clicks, one GA sessionCompare with unique visitors
Typed URL, bookmark or searchA GA session, no clickFilter GA by UTM tags
In-app browser, no UTM tagsGA files it as DirectTag every social link
UTM case mismatchSplit rows in GAUse lowercase consistently
A redirect dropped the query stringGA files it under the wrong sourceCheck with the link tracer

The click ID Track Link adds

To tie a sale or sign-up back to the click that caused it, Track Link adds a click ID to the destination as a utm_click parameter. It sits alongside your UTM tags and doesn't change them.

A few pages reject parameters they don't recognise and show an error instead of the page. When that happens, every click on the link becomes a click with no session. Each link has a switch for this, Append click ID to destination, in the create and edit dialogs. Turn it off and the page loads cleanly, but conversion tracking won't work for that link. How to spot the problem is in when UTM parameters break your landing page.

How to get the two numbers as close as they'll get

  1. Tag every link with UTMs. Track Link reads UTM tags from the destination you saved or from the short link itself, and passes the short link's tags on to your page, so both tools file the visit under the same campaign. See the UTM parameters docs.
  2. Use one link per channel. A separate link for the newsletter, the bio and the ad makes each comparison one row against one row.
  3. Compare like with like. Same dates, the same time zone (GA reports in the time zone set on the property), and unique visitors against GA users or sessions for that campaign.
  4. Check the redirect chain once. Do it when you set the link up, and again if the gap suddenly changes.
  5. Watch the trend, not the gap. A steady gap is normal. A gap that suddenly widens means something changed: a new cookie banner, a broken page, a redirect that started dropping parameters.

Which number to trust for what

They answer different questions, so you need both.

  • The link tracker answers "how many people tapped this link, in this channel, and when?" It counts at the tap, before anything on your page can fail, so it's the better number for comparing an email against a post against a QR code. It also works when the destination isn't your site, like an app store page or a partner's page where you can't run GA. See outbound link tracking.
  • Google Analytics answers "what did they do once they arrived?" Pages viewed, time on site, and sign-ups and purchases on your own site.
  • UTM tags connect the two. The same campaign name in both tools lets you line up taps with what happened next.

If the click count itself looks too high, start with why your link shows clicks nobody made. If the clicks come from email and arrive seconds after sending, read why your link was opened seconds after you sent it.

Questions people ask

Why does my link tracker show more clicks than Google Analytics sessions?

The link tracker counts the tap at the redirect, before your page loads. GA only counts once its script runs and consent allows it, so visitors who leave early, block GA or decline cookies are clicks with no session.

Why don't my Bitly clicks match Google Analytics?

The same reasons apply to any link shortener. A shortener counts the redirect, while GA counts the page loads it is allowed to record, groups repeat visits into sessions and files untagged in-app traffic as Direct.

Why does Google Analytics show my social link traffic as Direct?

In-app browsers in apps like Instagram, TikTok and Facebook often send no referrer. Without UTM tags, GA has nothing to go on and files the visit as Direct.

Does Track Link's click ID change my UTM tags?

No. Track Link adds a utm_click parameter for conversion attribution and leaves your utm_source, utm_medium and utm_campaign tags as they are. If a destination rejects it, turn off Append click ID to destination on that link.

Should link clicks and GA sessions ever match exactly?

No. A steady gap between them is normal. Watch for a sudden change in the gap, which usually means a page, a cookie banner or a redirect changed.

See it on your own links

Track Link is free to start: sign in with Google or Microsoft, no credit card.