Campaign URL Inspector
Complete Guide: Tracking Email Campaigns in GA4
Email marketing consistently delivers the highest ROI of any digital channel, but accurate attribution requires careful UTM implementation. Unlike paid ad platforms that auto-append click IDs, email service providers (ESPs) rely entirely on your manual UTM configuration. A single misconfigured link in a blast to 50,000 subscribers means 50,000 sessions of permanently misattributed data in GA4.
ESP Dynamic Variable Syntax by Platform
Each email service provider uses its own dynamic variable syntax to auto-populate UTM values. Using dynamic variables instead of hardcoded values ensures every email in an automated flow gets unique, trackable campaign data without manual intervention:
| ESP | Campaign Name Variable | Email Subject Variable | List/Segment Variable |
|---|---|---|---|
| Klaviyo | {{ flow_name|default:'one_off' }} | {{ email.subject }} | {{ list.name }} |
| Mailchimp | *|CAMPAIGN_NAME|* | *|SUBJECT|* | *|LIST:NAME|* |
| HubSpot | {{ content.campaign_name }} | {{ content.subject }} | {{ contact.list_memberships }} |
| Brevo (Sendinblue) | {{ params.campaign }} | {{ params.subject }} | {{ contact.LISTID }} |
| ActiveCampaign | %CAMPAIGNNAME% | %SUBJECT% | %LISTNAME% |
⚠️ When validating URLs that contain ESP dynamic variables, replace the merge tags with real test values first. Our validator checks final URL syntax, not unresolved template variables.
Apple Mail Privacy Protection (MPP): Impact on Email Attribution
Since iOS 15, Apple Mail Privacy Protection pre-fetches all email content — including tracking pixels and images — through Apple's proxy servers at the time of delivery, regardless of whether the subscriber actually opens the email. This significantly alters email analytics:
- Open rates are inflated to near 100% for Apple Mail users, because the tracking pixel fires on Apple's server, not on the user's device. Open rate is no longer a reliable metric for Apple Mail recipients (estimated 55-60% of all email opens).
- UTM-based click tracking is unaffected. MPP does not pre-click links — only images and pixels are pre-fetched. This makes UTM click attribution through GA4 one of the most reliable email engagement signals remaining in a post-MPP world.
- Shift metrics from opens to clicks: Use GA4 UTM data as your primary email engagement metric instead of ESP-reported open rates. Track
utm_contentvariations to understand which CTAs drive actual website visits.
Click Tracking Redirects: How ESPs Wrap Your Links
Most ESPs automatically wrap every link in your email with a click tracking redirect. When a subscriber clicks a link, the path is: Subscriber → ESP click tracker (e.g., click.klaviyo.com) → Your landing page. This redirect typically preserves query parameters, but there are edge cases to watch:
- Double encoding: If your ESP URL-encodes your link and your link already contains encoded characters (like
%26for&), you can end up with double-encoded UTMs that GA4 cannot parse. Always test the final clicked URL, not just the source HTML. - Link rewriting conflicts: Some ESPs rewrite the entire URL structure (e.g., Mailchimp's
mailchi.mpredirects). If your landing page then performs another redirect (HTTP→HTTPS, trailing slash normalization), the total chain has 3+ hops, each risking parameter loss. - Gmail's link prefetch: Gmail sometimes prefetches links to scan for malware, which can trigger premature page views in GA4. This is rare but can inflate session counts for high-volume sends.
Transactional vs. Marketing Emails: Different UTM Strategies
Not all emails should be tracked the same way. Transactional emails (order confirmations, password resets, shipping notifications) have fundamentally different intent than marketing emails:
| Email Type | utm_source | utm_medium | utm_campaign example |
|---|---|---|---|
| Newsletter | newsletter | weekly_digest_2026_09 | |
| Promotional Blast | klaviyo | flash_sale_sept | |
| Welcome Flow (Automated) | welcome_flow | welcome_email_3 | |
| Abandoned Cart | abandoned_cart | cart_reminder_24h | |
| Win-Back Series | winback_flow | winback_30d_discount | |
| Order Confirmation | ⚠️ Consider NOT using UTMs — transactional clicks will overwrite the original acquisition source in GA4 last-click attribution | ||
Email Forwarding and Shared Link Attribution
When subscribers forward your email to colleagues, the UTM-tagged links travel with it. The forwarded recipient's clicks are attributed to the original campaign in GA4, which is technically correct (the email drove the visit) but can inflate your email channel's conversion numbers. For high-stakes campaigns, consider using utm_content=forwarded in a separate share-specific CTA to distinguish organic forwarding from primary recipient engagement.
⛔ PII Compliance: What You Must NEVER Put in UTM Parameters
A critical email-specific compliance risk: never embed subscriber email addresses, names, phone numbers, or any personally identifiable information (PII) in UTM parameters. URL query strings are logged in server access logs, browser history, analytics dashboards, and CDN caches — all of which become PII data stores if personal data is embedded in URLs. This violates:
- Google Analytics Terms of Service — Google can suspend your property
- GDPR Articles 5 & 25 — data minimization and privacy by design requirements
- CCPA — if linked to a California resident
Instead, use anonymized segment identifiers: utm_term=vip_segment rather than utm_term=subscriber_id_12345 (never put raw personal email addresses into URLs).
Recommended Email UTM Template
Building a newsletter or email blast? Create compliant links with our free UTM builder.
How to Validate UTM Parameters (4-Step Checklist)
Follow this quick verification checklist before publishing campaign links across Google Ads, Meta, newsletters, or affiliate channels:
- 1. Paste and Inspect the Destination Link:
Paste your complete URL into the inspector above. The validator will instantly parse the protocol, base domain, query parameters, and anchor fragments.
- 2. Verify the 3 Core GA4 Parameters:
Confirm that
utm_source(e.g. newsletter),utm_medium(e.g. email), andutm_campaign(e.g. spring_promo) are present and correctly spelled without typos. - 3. Check Lowercase Casing and Clean Formatting:
Ensure all parameter values use lowercase letters and hyphens or underscores instead of raw spaces (which appear as messy
%20or break attribution). - 4. Run the Live Redirect Tracer:
Many server redirects or shorteners silently drop query parameters. Our tracer follows 301/302 redirect hops to verify your UTM tags survive to the final landing page.
5 Golden Rules of UTM Validation
- 1. Lowercase is Mandatory:
GA4 is case-sensitive.
utm_medium=Socialandutm_medium=socialwill fragment your reports into two rows. Always use lowercase. - 2. Zero Internal Tagging:
Never use UTMs on internal links (e.g., from home to product pages). It resets the session and overwrites the original ad source.
- 3. Fragment (#) Order:
UTMs must come before the
#in your URL. Anything after the fragment identifier is ignored by Google Analytics. - 4. No Spaces:
Spaces break URLs and tracking scripts. Use hyphens (
-) or underscores (_) instead. - 5. Align with Channel Groupings:
Use standard mediums like
cpcoremailso GA4 can automatically bucket your traffic correctly.
Recommended UTM parameters for every campaign
- utm_source (mandatory): Identify the referrer (e.g. google, newsletter). Required for campaign tracking to function.
- utm_medium: Identify the marketing medium (e.g. cpc, email, social).
- utm_campaign: Identify the specific product promotion or strategic campaign (e.g. spring_sale).
Optional UTM parameters for detailed tracking
- utm_term: Used primarily for paid search to note keywords for the ad.
- utm_content: Used for A/B testing and content-targeted ads to differentiate links that point to the same URL.
- utm_id: The Campaign ID. Critical for importing cost data from platforms like Meta or LinkedIn.
Advanced GA4 Governance (2026 Standards)
Professional agencies use the extended GA4 schema for deeper creative insights:
- utm_source_platform: Identifies the platform responsible (e.g.,
Search Ads 360). - utm_creative_format: Tracks the type of creative (
video,display,native). - utm_marketing_tactic: Differentiates between
remarketingandprospecting.
Professional UTM Checker Tips
- Trust the Redirect Tracer: Many server redirects strip UTM parameters. If our tracer finds a "Dead End," your tracking is being lost mid-redirect.
- Bulk Auditing: Use "Bulk Mode" to audit entire campaign sheets (up to 50 URLs) and export a compliance report to CSV.
- Deep Link Support: We verify protocol (https) and TLD compliance to ensure mobile app deep links work as expected.
- Test Before Launch: After validation, use the "Test Link" button to verify the final landing page in your own browser.
- Need to create a new URL? Use our free UTM Builder.
Find this tool useful?
ValidateURL is completely free. If our tools saved you some time today, consider buying us a coffee to help keep the servers running! ☕
Support Us on Ko-fiRelated Tools & Specs
Browser Tool
ValidateURL Chrome Extension
Validate UTMs directly in your browser without switching tabs. Fast, free, and privacy-focused.
Add to Chrome