How to Track Links in Email Campaigns The Complete 2026 Guide
Every email campaign you send contains links. Those links carry your audience from their inbox to your destination — and somewhere in that journey, most of the story gets lost. Your ESP tells you someone clicked. GA4 tells you someone arrived. But the who, when, from which device, from which country, and whether that click was even a human — those questions mostly go unanswered.
This guide covers everything: how to track links in email campaigns properly, what the data actually means, why the numbers never match between platforms, and how to connect click data to the conversions that justify the budget.
What This Guide Covers
- Why ESP click tracking is not enough
- How URL shortener link tracking works in email
- Setting up link tracking: step-by-step
- UTM parameters: the attribution layer
- Bot click filtering: the most important thing nobody does
- Total clicks vs unique clicks — which number to use
- Device and country analytics from email links
- The hourly heat map: send time intelligence
- Why click counts differ between platforms
- Connecting email link tracking to GA4 conversions
- Multi-link emails: tracking every CTA separately
- Branded links in email: trust and deliverability
- Common email link tracking mistakes
- Complete setup checklist
Why ESP Click Tracking Is Not Enough
Every email service provider — Mailchimp, Klaviyo, HubSpot, ActiveCampaign, Brevo, every one of them — provides click tracking. It wraps your links in its own tracking URLs, records each click, and shows you a click count in the campaign report.
This tracking answers one question: did someone click? It does not answer:
- What device did they click from? (Mobile vs desktop changes everything about the landing page experience you should be optimising.)
- Which country are they in? (Unexpected geographic engagement signals market opportunities.)
- What time of day did they click? (Your audience has specific engagement patterns that generic benchmarks cannot predict.)
- Was the click actually from a human? (Corporate email security bots scan every link in every email — and they look exactly like human clicks to your ESP.)
- How many distinct people clicked? (Total clicks include repeat clicks from the same person — for audience reach measurement, unique clicks are the right number.)
- Did the click result in a conversion? (ESP click data ends at the click; what happened after requires a different measurement layer.)
ESP click tracking is the beginning of email link measurement, not the end. A URL shortener with link analytics answers the questions the ESP cannot — and UTM parameters on the destination URL extend the measurement into GA4 for post-click behaviour and conversion tracking.
How URL Shortener Link Tracking Works in Email
When you replace a destination URL in your email with a Cuttly short link, the tracking mechanism changes. Instead of the ESP's tracking pixel or wrapped URL, the tracking happens at the redirect layer — server-side, before the visitor reaches the destination page.
The sequence when a recipient clicks a Cuttly short link in an email:
- Recipient clicks the short link in their email client
- Browser sends HTTP GET request to Cuttly's server
- Cuttly reads: User-Agent header (device, OS, browser), Referer header (email client signals), Accept-Language (language), connecting IP (country via geo-IP lookup)
- All derived values are recorded as a click event — IP is then discarded (GDPR compliant)
- Cuttly returns HTTP 301 redirect to destination URL
- Browser follows redirect to destination — visitor arrives with UTM parameters in the URL if configured
The entire tracking process completes before the visitor reaches the destination. It requires no code on the destination page, no JavaScript, no cookie — making it immune to ad blockers, cookie rejections and destination page failures for the click recording step.
Three key advantages over ESP-only tracking:
- Device-level data. ESP click tracking tells you someone clicked. Cuttly tells you they clicked on an iPhone 16 Pro running iOS 18 using the Gmail mobile app. This device detail informs landing page optimisation and app development decisions.
- Country data. Cuttly performs a geo-IP lookup on the connecting IP to derive the country. ESP tracking rarely provides this at the individual link level.
- Bot filtering. Cuttly automatically excludes known bots from click stats on all plans — including the free plan. The detection covers known signatures and is not perfectly exhaustive, but it works across every plan. From the Single plan, an additional chart shows clicks from known bots separately — giving you full visibility into recognised automated traffic alongside your clean click data. New or unknown bot sources (including AI crawlers) may still appear in the main count.
Setting Up Link Tracking in Email: Step by Step
Step 1: Create Your Campaign Links in Cuttly Before Building the Email
Before opening your email template, create all the links the email will contain in Cuttly. This is the order that prevents rushed link creation, forgotten UTM parameters and inconsistent tracking.
For a typical email campaign you need:
- Primary CTA link (the hero button)
- Secondary CTA link (if present — body text link or second button)
- Footer links (unsubscribe is usually handled by your ESP, but any other footer links should be tracked)
- Any image links (if images are clickable)
Step 2: Add UTM Parameters to Every Link
For each link, use Cuttly's built-in UTM builder to add UTM parameters to the destination URL. Standard email UTM structure:
utm_source= your newsletter name (e.g.weekly-digest)utm_medium=emailutm_campaign= campaign name + year (e.g.spring-sale-2026)utm_content= CTA position (e.g.cta-hero,cta-body,cta-footer)
Use utm_content to distinguish every link in the email. When two links go to the same destination — a hero button and a body text link both pointing to the same landing page — utm_content is the only way GA4 can tell them apart.
Step 3: Apply a Campaign Tag
Assign all links for this email campaign the same campaign tag in Cuttly. This groups them for aggregated campaign analytics — total clicks across all links in the email in one view, which CTA drove most clicks, device breakdown for the entire campaign.
Step 4: Enable Bot Click Filtering
For B2B email campaigns — sends to corporate, enterprise, financial, healthcare or government addresses — use an eligible Cuttly plan to get bot analytics on your links. Known bots are automatically excluded from the click count and shown on a separate chart. More on this below.
Step 5: Enable Unique Click Counting on the Primary CTA
On the primary CTA link, enable unique click counting (Single plan). This gives you both total clicks and unique clicks — the unique number represents distinct people who clicked, not total click events including repeat visits.
Step 6: Insert the Short Links Into Your Email Template
Replace the destination URLs in your email template with the Cuttly short links you created. The email recipient sees the short link in hover previews (desktop email clients) — this is where the branded domain matters. A link showing go.yourbrand.com/spring builds trust before the click; an unknown generic shortener domain does not.
UTM Parameters: The Attribution Layer That Connects Clicks to Conversions
Without UTM parameters, email traffic is invisible in GA4. Native email apps strip the HTTP Referer header — so clicks from email arrive at the destination with no source information. GA4 classifies them as direct traffic. The email channel that may represent 40% of your total campaign traffic shows up as "direct" — indistinguishable from someone who typed your URL manually.
UTM parameters bypass the referrer problem entirely. They are embedded in the destination URL, not transmitted via HTTP headers. When the visitor arrives at yourdomain.com/landing?utm_source=weekly-digest&utm_medium=email&utm_campaign=spring-sale-2026, GA4 reads the parameters from the URL itself — no referrer header needed. The session is attributed correctly regardless of which email client was used.
What UTM Parameters Enable in GA4
- Traffic source attribution. Email sessions appear in GA4 under the correct source/medium rather than "direct."
- Campaign-level performance. All sessions with the same utm_campaign value are grouped — total sessions, bounce rate, conversions and revenue per campaign.
- CTA comparison. With utm_content differentiating each link, GA4 shows which CTA position in the email drove more sessions and more conversions — the hero button vs the body text link, for example.
- Revenue attribution. With GA4 e-commerce tracking configured, UTM-tagged email sessions can be attributed to revenue — the direct commercial justification for the email programme.
The UTM Naming Convention for Email
| Parameter | Value pattern | Example |
|---|---|---|
utm_source | Newsletter name (not ESP name) | weekly-digest |
utm_medium | Always email | email |
utm_campaign | Campaign name + year, lowercase, hyphens | spring-sale-2026 |
utm_content | CTA position identifier | cta-hero, cta-body, cta-footer |
Always lowercase, always hyphens not spaces, always include year in campaign names. GA4 is case-sensitive — Email and email are different sources in GA4 reports.
Bot Click Filtering: The Most Important Thing Nobody Does
This is the single most impactful improvement most email marketers can make to their link tracking — and it is almost universally skipped.
What Bot Clicks Are
Corporate email security systems — used by enterprises, financial institutions, healthcare providers, government agencies, law firms and most large organisations — automatically scan every link in every incoming email before delivering the message. This scan checks the link for malware, phishing pages and other security threats.
The scan makes an HTTP GET request to the link URL. From the perspective of a URL shortener, this request is indistinguishable from a human click — it has a User-Agent, it comes from an IP address, it follows the redirect. It is counted as a click.
But it is not a human. Nobody is there. No page loads in front of a real person. No conversion can happen. No decision has been made.
The Scale of the Problem
For B2B email campaigns, a significant portion of apparent clicks can come from known automated sources — security scanners, email security systems and crawlers. Cuttly automatically excludes known bots from the click count and shows them on a separate chart on eligible paid plans — so you see clean click data plus full transparency into recognised automated traffic. New or unknown bot sources (including AI crawlers) may still appear in the main count as detection relies on known signatures.
Why bot visibility matters for decision-making:
- Skewed CTR benchmarks. Known bots are excluded from the Cuttly click count automatically — but new or unknown automated sources may still appear. Without bot analytics visibility, your CTR baseline may include unrecognised automated traffic alongside genuine human engagement.
- Wrong send time conclusions. Bot scans happen immediately at email delivery, independent of when humans actually read email. An unfiltered heat map shows peak "engagement" at the moment of delivery — not the moment humans actually click. This produces wrong send time recommendations.
- Misleading subject line tests. If A/B tests compare subject line performance by click rate, bot inflation affects both variants but potentially differently depending on the security infrastructure of recipients in each group.
- Incorrect conversion attribution. If your retargeting or conversion tracking fires on link click, bot clicks can pollute your retargeting audiences and conversion data.
How to Enable Bot Filtering in Cuttly
Cuttly automatically excludes known bots from click stats on all plans including free. From the Single plan, a separate chart shows known bot clicks — giving you full visibility into recognised automated traffic alongside your clean click data. New or unknown bot sources may still appear in the main count.
Cuttly automatically excludes known bots from click stats on all plans. For B2B campaigns, the Single plan adds a separate chart showing known bot clicks — useful context for understanding the split between automated and human traffic. New or unknown bots may still appear in the main count.
Total Clicks vs Unique Clicks: Which Number to Use When
Cuttly tracks two click counts for every link simultaneously:
- Total clicks — every HTTP request, including repeat visits from the same person. Use for: measuring total traffic volume, understanding re-engagement behaviour (a high total/unique ratio means people are returning to the same link).
- Unique clicks — deduplicated by IP + User-Agent combination within a time window. Use for: measuring audience reach (how many distinct people engaged), calculating true CTR (unique clicks ÷ recipients), benchmarking campaign performance against other campaigns.
| Measurement question | Use |
|---|---|
| How many people clicked this email? | Unique clicks (bot-filtered) |
| What was the CTR for this campaign? | Unique clicks ÷ recipients sent |
| How much total traffic did this send drive? | Total clicks (bot-filtered) |
| Are people returning to this link after the first click? | Total clicks ÷ unique clicks ratio |
| Which of two campaigns reached more distinct people? | Unique clicks comparison |
Enable unique click counting on the primary CTA link of every campaign. The unique click count is the number that answers the question management actually asks: "how many people responded to this email?"
Device and Country Analytics from Email Links
The device and country data from email link analytics is among the most actionable data available to email marketers — and it comes for free with every click, with no additional setup.
Device Analytics: Mobile vs Desktop
The device split for email clicks tells you the primary context in which your audience reads and acts on your emails. This directly determines where to invest landing page optimisation effort.
- An email audience that is 75% mobile means the desktop landing page experience is secondary — mobile page speed, mobile layout and mobile conversion flow are the priority.
- A B2B email audience that is 65% desktop means most recipients are reading at a desk during work hours — desktop optimisation matters equally.
- A significant split (45% mobile / 55% desktop) means both experiences require equal investment — you cannot optimise for one at the expense of the other.
OS Data: iOS vs Android
The iOS vs Android split from email link clicks reveals your mobile audience's platform composition. For any organisation with a mobile app, this data directly informs app development prioritisation — if 78% of mobile email clickers are on iOS, iOS app quality is more commercially critical than Android parity.
Country Analytics: Finding Unexpected Markets
Country data from email campaigns primarily confirms expected distribution — your UK email list produces mostly UK clicks. But the outliers are where the intelligence is. Persistent traffic from a country you do not target in your list acquisition, combined with strong engagement signals, is a market discovery:
- A UK brand discovering 15% of email link clicks from Germany across multiple campaigns may have German subscribers from trade events, partnerships or organic discovery — and a market signal worth acting on
- An unexpected country cluster in email analytics often precedes organic search traffic from the same market — the email audience arrived first
- Country data also reveals list quality issues: a mass of clicks from unexpected countries on a freshly acquired list may indicate list quality problems
The Hourly Heat Map: Send Time Intelligence from Your Own Data
Cuttly's hourly click heat map (Single plan) shows click volume broken down by hour of the day across the selected time period. For email campaigns, this reveals exactly when your specific audience engages with your specific content — not when a generic benchmark says they should.
Useful note: known bots are automatically excluded from Cuttly's click count (including the heat map data) and shown separately on their own chart on eligible paid plans. This means the heat map reflects clean click data rather than mixing in recognised automated traffic. New or unknown bot signatures may not yet be detected and could still influence the pattern.
After 3–5 campaigns to the same list, the heat map reveals a consistent pattern. Common findings:
- B2C newsletters: peaks at 7–9am (morning routine) and 7–9pm (evening leisure), lower engagement during work hours
- B2B campaigns: peaks at 10–11am and 2–4pm, sharp drop after 5pm and on weekends
- Transactional emails: immediate response regardless of time — recipients are motivated by the specific transaction
- E-commerce promotional: evening peaks, weekend spikes for purchase-intent content
Your audience's actual pattern is more predictive than any benchmark. Use your own heat map data — not industry research — to schedule sends for maximum immediate engagement.
Why Click Counts Differ Between Your ESP, Cuttly and GA4
Every marketer who tracks email links across multiple systems notices the numbers do not match. This is normal, expected, and explainable. Understanding why prevents wrong conclusions from the discrepancy.
| Platform | What it counts | Typical relative count |
|---|---|---|
| ESP (unfiltered) | All link clicks including bots and security scanners | Highest |
| Cuttly (unfiltered) | All HTTP requests including bots | Similar to ESP |
| Cuttly (bot-filtered) | Human clicks only, de-botted | Significantly lower for B2B |
| GA4 | Sessions where JS loaded and consent given | Lowest |
The gap between Cuttly bot-filtered clicks and GA4 sessions is explained by:
- Ad blockers. Visitors with GA4-blocking extensions click the link (recorded by Cuttly) but their session is not recorded in GA4. Ad blocker prevalence varies significantly by audience — technical and privacy-conscious audiences can have 20–40% ad blocker rates.
- Cookie consent rejection. Visitors who reject cookie consent in EU audiences reduce GA4 session counts. Cuttly's server-side tracking is unaffected by cookie consent decisions.
- Page load failures. If the landing page fails to load after the redirect, Cuttly records the click but GA4 records nothing.
- JavaScript disabled. A small fraction of visitors have JavaScript disabled — GA4 does not fire; Cuttly tracks the click normally.
As a rough guide for B2B campaigns: expect bot-filtered Cuttly clicks to be 15–30% higher than GA4 sessions. For B2C: 5–15% higher. These gaps are structural — they do not indicate a tracking problem.
Connecting Email Link Tracking to GA4 Conversions
Email link tracking in Cuttly answers the pre-arrival questions: who clicked, when, from where. GA4 answers the post-arrival questions: what did they do, did they convert, what revenue resulted. UTM parameters connect the two systems.
The Full Measurement Picture
| Question | Answered by |
|---|---|
| How many people received the email? | ESP send report |
| How many distinct people clicked? | Cuttly unique clicks (bot-filtered) |
| What device did they click from? | Cuttly device analytics |
| Which country are they in? | Cuttly country analytics |
| What time did they click? | Cuttly hourly heat map |
| Did they arrive at the landing page? | GA4 sessions (email / utm_campaign) |
| What did they do after arriving? | GA4 user journey |
| Did they convert? | GA4 conversions attributed to email campaign |
| What revenue did this campaign generate? | GA4 e-commerce attribution (email / utm_campaign) |
Building the Campaign ROI Calculation
With both data sources connected, the campaign ROI calculation becomes possible:
Email campaign ROI formula:
Revenue attributed to campaign (GA4) ÷ Cost of campaign = ROI
Where "cost of campaign" = ESP send cost + creative cost + time cost
Supporting metrics:
- Click-to-conversion rate = GA4 conversions ÷ Cuttly unique clicks
- Revenue per click = GA4 revenue ÷ Cuttly unique clicks
- Cost per click = campaign cost ÷ Cuttly unique clicks
Multi-Link Emails: Tracking Every CTA Separately
A typical marketing email contains 3–7 links — hero button, body text link, image link, secondary CTA, footer links. Each represents a different conversion path and a different design decision. Tracking all of them as one link loses the intelligence each carries separately.
Best practice: a separate Cuttly short link for each distinct CTA position in the email, with utm_content identifying each position. The resulting analytics answers:
- Does the hero button or the body text link drive more clicks? (Informs future email layout decisions.)
- Does the top of the email or the bottom drive more conversions? (Image-heavy emails may have their best-performing link in a position that is not the most visually prominent.)
- Are footer links clicked? (Many marketers invest in footer CTA design — link tracking reveals whether that investment produces clicks.)
- Which CTA wording produces more clicks when the destination is the same? (utm_content A/B testing for copy without changing the email template.)
Branded Links in Email: Trust and Deliverability
Every link in every email is a brand touchpoint visible before the click. In desktop email clients, hovering over a link shows the URL in the status bar. In mobile clients, long-pressing a link shows a preview. In both cases, the domain in the link is visible to recipients before they decide whether to click.
A branded short link on go.yourbrand.com shows your brand domain in that preview. A generic shortener link shows an unknown domain. The brand recognition in the hover preview is a measurable trust signal — and it directly affects CTR, particularly for:
- First-time emails to new subscribers who do not yet have an established trust relationship with the brand
- Re-engagement campaigns where the relationship has lapsed and trust needs to be rebuilt
- Any email in a category (financial, healthcare, legal) where link trust scrutiny is heightened
The deliverability benefit is equally important: a branded domain has a reputation owned exclusively by your organisation. Spam filters evaluate the link domain independently of the email content — a branded domain with clean sending history scores positively. A generic shared shortener domain with shared reputation risk is unpredictable.
Common Email Link Tracking Mistakes
- Not using UTM parameters on email links. Email traffic arrives as direct in GA4 without UTM tags. Your email programme's contribution to conversions and revenue is permanently invisible. Fix: UTM parameters on every campaign link, always.
- Ignoring bot traffic in B2B email measurement. On eligible Cuttly plans, known bots are automatically excluded from the click count and shown on a separate chart — so you always see clean click data plus full visibility into recognised automated traffic. Without this, your click count may include known automated requests alongside human engagement.
- Using total clicks as the reach metric. Total clicks include repeat visits. For audience reach measurement, unique clicks is the right number. Fix: enable unique click counting on primary CTAs.
- Using one link for all CTAs in the email. Multiple links to the same destination tracked as one link obscures which CTA position performs. Fix: separate short links with utm_content per CTA position.
- Optimising send time from unfiltered heat map data. Bot scans create artificial peaks at delivery time. Fix: always use bot-filtered click data for heat map analysis.
- Creating links during email build rather than before. Time pressure during email production leads to skipped UTM parameters, forgotten campaign tags and random slugs. Fix: all links created in Cuttly before email template construction begins.
Complete Email Link Tracking Setup Checklist
Before every email campaign:
- ✓ Create all campaign links in Cuttly before building the email
- ✓ Apply UTM parameters to every link (source, medium, campaign, content)
- ✓ Assign campaign tag to all links
- ✓ Bot analytics: known bots excluded from click stats on all plans; separate bot clicks chart from Single plan
- ✓ Enable unique click counting on primary CTA
- ✓ Use branded custom domain for all links
First 24 hours after send:
- ✓ Check click velocity — unusually low = potential deliverability issue
- ✓ Monitor device split — any unexpected shift from expected pattern?
After campaign ends:
- ✓ Download PDF report for all primary links
- ✓ Record unique CTR per campaign in performance log
- ✓ Review hourly heat map for send time insights
- ✓ Cross-reference with GA4 for conversion and revenue attribution
- ✓ Update your own CTR benchmarks
Set up your first tracked email campaign links now — create a free Cuttly account and every link you create has automatic analytics from the first click.
Frequently Asked Questions
How do I track link clicks in email campaigns?
Replace destination URLs with Cuttly short links before adding to your email template. Every click is automatically tracked — device, country, timing. Add UTM parameters to the destination URL for GA4 attribution. Enable bot click filtering for B2B. Enable unique click counting for reach measurement.
Why do email click counts differ between my ESP and Google Analytics?
Three main reasons: (1) Known automated traffic — email security scanners and crawlers make HTTP requests recorded by URL shorteners but not by GA4 (which requires JS execution). Cuttly automatically excludes known bots from the click count and shows them separately — so you can see what proportion of the gap is recognised automated traffic. (2) Ad blockers — block GA4 JS but not server-side link tracking. (3) Cookie consent rejection reduces GA4 counts.
Do I need UTM parameters if my ESP already tracks clicks?
Yes. ESP click tracking tells you someone clicked. UTM parameters tell GA4 which campaign they came from and whether they converted. Without UTM parameters, email traffic arrives in GA4 as direct — no attribution, no conversion data, no revenue per campaign. Both measurement layers are needed.
- Email Tracking
- URL Shortener Tool →
- Link Analytics →
- Related Guides
- Complete Link Analytics Guide
- UTM Parameters Guide
- Branded Short Links Guide
- Marketing Teams Guide
- Encyclopedia
- UTM Parameters
- Bot Click Detection
- Unique Clicks
- GDPR & Analytics
- GA4 and Link Analytics
- Start Here
- Create Free Account
- Plans & Pricing
URL Shortener
Cuttly simplifies link management by offering a user-friendly URL shortener that includes branded short links. Boost your brand’s growth with short, memorable, and engaging links, while seamlessly managing and tracking your links using Cuttly's versatile platform. Generate branded short links, create customizable QR codes, build link-in-bio pages, and run interactive surveys—all in one place.
Cuttly - Consistently Rated
Among Top URL Shorteners
Cuttly isn’t just another URL shortener. Our platform is trusted and recognized by top industry players like G2 and SaaSworthy. We're proud to be consistently rated as a High Performer in URL Shortening and Link Management, ensuring that our users get reliable, innovative, and high-performing tools.C