Email click tracking works by replacing links in your email with tracking URLs that redirect through your ESP or a tracking server. Set up proper click tracking by using consistent UTM parameters on all links, configuring a custom tracking domain (e.g., track.yourdomain.com) to avoid spam filters, and ensuring your analytics platform receives the data. Most ESPs handle click tracking automatically—you just need to enable it and set up your custom domain.
Click Tracking Setup: Implementation Guide for Email
How Email Click Tracking Works
When you send an email through an ESP with click tracking enabled, the system:
- Scans your email for links
- Replaces each link with a tracking URL (e.g.,
https://track.esp.com/click/abc123) - When clicked, the tracking server logs the click
- Redirects the recipient to your original destination URL
This happens automatically in most ESPs. Your job is to configure it properly.
Setting Up UTM Parameters
UTM parameters tell your analytics platform where traffic came from. Every email link should include them.
Standard UTM Structure
https://yoursite.com/page?utm_source=email&utm_medium=newsletter&utm_campaign=march_2026&utm_content=hero_cta
| Parameter | Purpose | Email Example |
|---|---|---|
| utm_source | Traffic source | email |
| utm_medium | Marketing channel | newsletter, automation, transactional |
| utm_campaign | Specific campaign | march_sale, welcome_series_2, abandoned_cart |
| utm_content | Link identifier | hero_button, footer_link, product_1 |
| utm_term | (optional) | Keyword or variant |
Consistent Naming Convention
Inconsistent UTM values create messy analytics. Establish rules:
utm_source: Always "email" (lowercase)
utm_medium: Campaign type (newsletter, drip, transactional)
utm_campaign: YYYY-MM_description (2026-03_spring_sale)
utm_content: location_element (header_cta, body_product1)
Practitioner note: I've audited email programs with 50+ variations of "email" as utm_source—Email, EMAIL, email_marketing, e-mail. Standardize from day one or you'll spend hours cleaning up analytics data later.
Configuring Custom Tracking Domains
Generic ESP tracking domains (click.mailgun.com, sendgrid.net) appear in spam filter watchlists. A custom tracking domain improves deliverability and looks more professional.
DNS Setup
Add a CNAME record pointing your tracking subdomain to your ESP's tracking servers:
SendGrid:
track.yourdomain.com → sendgrid.net
Mailgun:
track.yourdomain.com → mailgun.org
Postmark:
track.yourdomain.com → pm.mtasv.net
ESP Configuration
After DNS propagates (usually within an hour):
- Log into your ESP dashboard
- Navigate to tracking/link settings
- Add your custom tracking domain
- Verify the DNS configuration
- Enable SSL (most ESPs handle this automatically)
See our guide on custom tracking domains for detailed setup by ESP.
Link Tracking in Major ESPs
SendGrid
Click tracking is enabled by default. Configure in Settings → Tracking → Click Tracking.
Custom tracking domain: Settings → Sender Authentication → Link Branding
Mailgun
Enable in Domain Settings → Tracking → Click Tracking.
Custom tracking domain: Domain Settings → DNS Records → Add tracking domain CNAME
Postmark
Click tracking is per-message-stream. Enable in Message Streams → [Stream] → Settings → Track Links.
Postmark requires HTTPS tracking domains with valid SSL.
Klaviyo
Click tracking is always on. Custom tracking domain: Settings → Domains → Tracking Domain.
Klaviyo also provides automatic UTM tagging—configure in Settings → UTM Tracking.
Handling Click Inflation
Security tools like Barracuda, Proofpoint, and Microsoft Defender click links before delivering email to check for malware. This inflates your click counts.
How to Identify Bot Clicks
Bot clicks typically:
- Happen within seconds of delivery
- Click every link in the email
- Come from data center IP ranges
- Have no subsequent page views
Mitigation Strategies
- Filter by time: Clicks within 2 seconds of delivery are likely bots
- Require page engagement: Count clicks only when they result in page scroll or time-on-site
- Use unique click counts: Focus on unique clickers, not total clicks
- Check user agent: Security scanners often identify themselves
Practitioner note: One client's "40% click rate" dropped to 6% after we filtered out Barracuda security scans. The real engagement was healthy—we just had bad data.
Tracking Links in Plain Text Emails
Plain text emails can't hide tracking URLs behind anchor text. Options:
- Shortened tracking URLs:
track.yourdomain.com/abc123 - Accept visible tracking: Transparent about link tracking
- Skip tracking: For sensitive communications where trust matters more than data
Privacy Considerations
Some recipients distrust tracked links. Consider:
- Honoring Do Not Track: Some ESPs offer DNT compliance
- Transparent tracking: Mention in privacy policy
- Untracked options: Provide plain links for privacy-conscious users
- First-party tracking only: Avoid sharing click data with third parties
Testing Your Click Tracking
Before sending campaigns:
- Send test email to yourself
- Hover over links—verify tracking domain appears
- Click links—verify redirect works
- Check analytics—verify UTM parameters populate correctly
- Check ESP dashboard—verify clicks register
Debugging Broken Tracking
| Symptom | Likely Cause |
|---|---|
| Links show ESP domain, not custom | DNS not propagated or not configured in ESP |
| Clicks not registering | Click tracking disabled at account or campaign level |
| UTM parameters missing in analytics | Links don't have UTMs, or analytics filtering them |
| Wrong redirect destination | ESP may be caching old links—clear cache or re-send |
If your click tracking data doesn't match your analytics or you're seeing suspicious inflation, schedule a consultation to audit your tracking setup and get accurate engagement data.
Sources
- Google: Campaign URL Builder
- SendGrid: Click Tracking Documentation
- Mailgun: Tracking Messages
- Postmark: Message Streams
v1.0 · March 2026
Frequently Asked Questions
Do email tracking links hurt deliverability?
Generic ESP tracking domains can trigger spam filters. Using a custom tracking domain (track.yourdomain.com) that matches your sending domain maintains trust and improves deliverability.
What UTM parameters should I use for email?
Use utm_source=email, utm_medium=newsletter (or campaign type), and utm_campaign=[campaign_name]. Add utm_content for A/B testing different links.
Can recipients see tracking links?
Yes—hovering over links reveals the tracking URL. Some security-conscious recipients avoid clicking tracked links. Consider a balance between tracking and user trust.
How accurate is email click tracking?
Click tracking is more reliable than open tracking but not perfect. Security scanners may click links before delivery, inflating counts. Unique click counts are more accurate than total clicks.
Should I track every link in my email?
Track links that matter for conversion analysis. You can skip tracking on social icons, privacy policy links, or footer navigation if they clutter your data.
Want this handled for you?
Free 30-minute strategy call. Walk away with a plan either way.