UTM builder vs link tracking tool in 2026: what each one records, and when you need both
A UTM builder tags a URL; a link tracking tool logs each click on its own server. Compare 5 tools from $0 to $90 a month and see which ties clicks to revenue.
Muzahid Maruf, FounderUpdated
On this page
- 01UTM builder vs link tracking tool at a glance
- 02What a UTM builder gives you
- 03What a link tracking tool does
- 04Where the two overlap
- 05Where each setup loses data
- 06Why the two counts never match
- 07Joining a click to a Stripe payment
- 08Which to use for each situation
- 09How TrackRev covers each layer
- 10What each layer costs
Explore with AI
Opens this article inside the chosen assistant with a ready-made prompt.
UTM builder vs link tracking tool comes down to where the data gets written. A UTM builder adds up to 9 tags to a URL, and Google Analytics 4 reads them only when the page loads and its tag fires.
A link tracking tool logs each click on its own server, then sends a 302 redirect, so the click exists even if no page loads.
A team that sells online usually wants both, plus a Stripe join to show which link earned the payment.
I run TrackRev, so weigh my opinions accordingly.
TrackRev is SaaS affiliate software with link tracking built in, which means a team that needs only a standalone link tracker may be better served by one of the other tools compared below.
Key takeaways
- A UTM builder only edits a URL. Google Analytics 4 records the visit later, if the page loads and its tag fires.
- A link tracking tool logs each click on its own server before the 302 redirect, so it counts visits that never load your page.
- Short.io lists a UTM builder on all 5 plans, Dub lists UTM templates on Free, and Bitly adds its builder at Core, $10 a month billed annually.
- Tags and clicks reach Stripe only if something copies them there: client_reference_id holds 200 characters and metadata 50 pairs.
- Tracker clicks and Google Analytics 4 sessions differ, so watch whether the gap moves, such as 29% jumping to 50%.
UTM builder vs link tracking tool at a glance
| Question | UTM builder | Link tracking tool |
|---|---|---|
| Output | A URL with up to 9 tags | A short link plus a click log |
| Click recorded | Nowhere; Google Analytics 4 logs a session later | On the tool's server, at the request |
| Script on your page | Yes, the Google Analytics 4 tag | None for click counts |
| Click that never loads your page | Missed | Recorded |
| Site you don't own | No data | Clicks, device, location |
| Revenue per link | No | With a payment join, as in Stripe |
What a UTM builder gives you
https://example.com/pricing?utm_source=newsletter&utm_medium=email&utm_campaign=october-launchGoogle Analytics Help lists 9 UTM parameters and says to always set the 3 that name source, medium and campaign. Values are case sensitive, so google and Google land in 2 rows of one report.
With Google Ads auto-tagging on, Google Analytics 4 uses the auto-tagged source and medium.
Where the Google Ads click ID can't be used, any UTM tag makes Google Analytics 4 derive every cross-channel source dimension from UTM tags alone, so a link with only a campaign tag can report its source as (not set).
The UTM parameters guide covers naming.
What a link tracking tool does
GET /spring HTTP/1.1Host: go.example.comReferer: https://mail.example.com/User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 18_0 like Mac OS X) HTTP/1.1 302 FoundLocation: https://example.com/pricing?utm_source=newsletter&utm_medium=emailEach request carries a timestamp, a Referer header, a user agent and an IP address.
MDN's 302 reference says the browser then requests the Location address by itself, so a tracker works for a destination you can't add code to, such as a Substack post or a YouTube description.
A tracker is better off with a temporary redirect, because RFC 9110 (June 2022) calls 301 and 308 responses heuristically cacheable, and a cached redirect never reaches the tracker again.
| Status code | RFC 9110 section | What the RFC says | Effect on a tracker |
|---|---|---|---|
| 301 Moved Permanently | 15.4.2 | Heuristically cacheable | A browser may skip the tracker on repeat clicks |
| 302 Found | 15.4.3 | Temporary; keep using the original URI | Clicks keep reaching it unless cache headers say otherwise |
| 307 Temporary Redirect | 15.4.8 | Temporary; the method must not change | Counts like a 302 |
| 308 Permanent Redirect | 15.4.9 | Cacheable like a 301 | Repeat visitors may bypass it too |
Where the two overlap
Most link trackers include a UTM builder, so the choice is usually about which plan carries it.
| Tool | UTM builder | Cheapest plan with it | Allowance on that plan |
|---|---|---|---|
| Free UTM builder (TrackRev) | Runs in your browser | $0, no signup | No links or clicks |
| Short.io | Listed on all 5 plans | Free, $0 | 1,000 branded links, 50,000 tracked clicks a month |
| Dub | UTM templates on Free, builder with templates from Pro at $30 | Free, $0 | 25 new links and 1,000 tracked events a month, 30-day retention |
| Bitly | UTM Builder from Core, none on Free | Core, $10 a month, annual plan only ($120 a year) | 100 links a month, 30 days of click and scan data |
| TrackRev | UTM fields on every link, plus channel defaults | Free, $0 | 50 links, 1,000 tracked events a month |
Prices from each vendor's pricing page, October 2026.
Where each setup loses data
| What happens | UTM builder only | Link tracker |
|---|---|---|
| An ad blocker stops the Google Analytics 4 tag | Filed as (direct) / (none) | Click still recorded |
| A shortener or redirect strips the UTM parameters | Source lost | Campaign kept on the link |
| The link is shared in Messages, Mail or Safari Private Browsing | Tracking information may be removed, with no parameters named (Apple, June 5, 2023) | Logged before the redirect |
| The visitor leaves before the page loads | No session | Click recorded anyway |
| A bot or link preview requests the link | Ignored, since no script runs | Counted unless filtered |
Why the two counts never match
| Measure | Count |
|---|---|
| Emails delivered | 8,000 |
| Tracker clicks after bot filtering | 640, or 8.0% of delivered |
| Google Analytics 4 sessions, newsletter / email | 455, or 71.1% of clicks |
| Gap | 185 clicks, or 28.9% of tracker clicks |
A hypothetical newsletter send with invented numbers, used to show the arithmetic.
The 185 missing sessions can come from visitors who left early, ad blockers and tags lost on the way.
One gap figure is hard to judge, but a gap that jumps from 29% to 50% the week you change a redirect points to a broken link, and the 5-step test for stripped UTM parameters finds the hop.
Joining a click to a Stripe payment
Neither a tracker click nor a UTM tag reaches Stripe unless something copies it there. Stripe's payment link tracking documentation says UTM codes come back in the redirect URL after payment, while a client_reference_id travels in the checkout.session.completed webhook.
Stripe's metadata page says metadata does not copy to related objects by default, apart from a few listed cases.
| Where the value goes | What Stripe does with it | Limit |
|---|---|---|
| UTM codes on a Payment Link | Returned on the redirect | 150 characters; letters, digits, - and _ |
client_reference_id on a Payment Link | Sent in the webhook | 200 characters, same character set |
Checkout Session metadata | Stored on the session | 50 pairs; keys 40 characters, values 500 |
subscription_data.metadata | Saved on the subscription | Same limits |
Limits from Stripe's documentation, October 2026.
The usual join stores a visitor ID in one of those fields; the Stripe metadata attribution setup post shows the code.
| Day | What happens | Builder tags in Google Analytics 4 | Tracker alone | Tracker joined to Stripe |
|---|---|---|---|---|
| 0 | Clicks a newsletter link | Session, if the tag loads | Click logged | Click logged, visitor ID stored |
| 3 | Starts a 14-day trial of a $39 plan | Event, if you configured one | Nothing | Visitor ID travels with the checkout |
| 17 | Pays $39 | Only if you send a purchase event | Nothing | $39 credited to the newsletter link |
| 47 | Renews for $39 | Nothing | Nothing | $78 credited in total |
A hypothetical customer on a $39 monthly plan, over 47 days.
Which to use for each situation
| Situation | Use |
|---|---|
| Google Ads clicks read in Google Analytics 4 | Auto-tagging, no builder |
| A newsletter or email send | Both |
| A link in a social bio or chat message | Tracker |
| A QR code on print or packaging | Tracker |
| A link to a Substack post or YouTube video | Tracker |
| Revenue by channel on Stripe | Tracker plus payment join |
| A content site with no sales | Builder |
How TrackRev covers each layer
The free UTM builder runs in your browser with no signup.
TrackRev's link tracking is the layer built into its affiliate software: each link's redirect logs the click on the server and sends a 302, with no script on your site.
Each link holds a channel and UTM fields, and the redirect adds a tag only when the destination lacks it, so hand-written tags survive.
| Plan | Price | Links and events a month | Workspaces and tracked domains |
|---|---|---|---|
| Free | $0 | 50 links, 1,000 events | 1 workspace; revenue figures hidden |
| Indie | $29 a month | Unlimited | 1 workspace, 1 domain |
| Growth | $299 a year | Unlimited | Up to 10 workspaces and 10 domains |
TrackRev's published plans, October 2026. Both paid plans show revenue, and no plan caps the affiliate revenue or commission tracked.
Revenue by link needs a paid plan and the pixel on your own site, and it runs on Stripe, Paddle Billing, Polar, Lemon Squeezy, Creem and Dodo Payments (pricing).
A query string added to a short link at send time is not forwarded, so make one link per placement. Links to a site you don't own record clicks but no conversions.
Keep Google Analytics 4 for pageviews, since the click log is not a session report.
What each layer costs
| Layer | Question it answers | Example plans | Price a month |
|---|---|---|---|
| Label | Which tagged link did a session come from? | Free UTM builder | $0 |
| Capture | How many clicks, from where? | Short.io Free, 50,000 tracked clicks | $0 |
| Join | Which link earned the payment? | Dub Business (conversion tracking, 250,000 events) or TrackRev Indie | $90 or $29 |
Prices from each vendor's pricing page, October 2026.
Stay with a builder if you only need Google Analytics 4 channel groupings and your sales don't run through any of those 6 processors. Pick a plain shortener such as Short.io for click counts without revenue.
Links & Analytics has a Free plan for click tracking, and revenue per link starts at $29 a month.
Found this useful? Share it.
Frequently asked questions
- No. A builder returns a longer URL, and a tracker logs each click and redirects it. Short.io Free, Dub Free and Bitly Core each build UTM tools into the tracker.
- Yes, for channel reports in Google Analytics 4, which groups sessions by the 3 core tags on the landing URL. The tracker's own click log works without them.
- No. Revenue per link needs a visitor ID in client_reference_id (200 characters) or metadata (50 pairs), read back from the Stripe webhook.
- For labeling Google Analytics 4 sessions on a site with no checkout, yes. Keep a shared naming sheet, since values are case sensitive.
- A click is a request to the redirect, and a session needs the page and its tag to load. The example above loses 185 of 640 clicks, or 28.9%.
- Yes. Stripe accepts the 5 standard UTM codes at up to 150 characters each and returns them in the redirect URL when the confirmation behavior is redirect.

Written by
Founder, TrackRev.io & Contant.io
Muzahid Maruf founded TrackRev.io, SaaS affiliate software with no limit on tracked revenue, and Contant.io. He writes about affiliate programs.
Writes about Marketing attribution · Link tracking · Revenue analytics · SaaS growth
Stop guessing where your revenue comes from.
Set up TrackRev in about five minutes. The free plan covers 1,000 events a month, no card needed.
Start free