Email Campaign UTM Validator & Checker

A free, professional UTM checker and validator that audits your campaign links against GA4 standards to protect your attribution and prevent "Unassigned" traffic. Need to build a new link? Use our free UTM Builder or learn what UTM parameters are.

Auditing an entire campaign spreadsheet? Check up to 50 links simultaneously.

Campaign URL Inspector

example.com/newsletter/weekly-digest141 chars
Tags:source:newslettermedium:emailcampaign:august_product_updatecontent:cta_button

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:

ESPCampaign Name VariableEmail Subject VariableList/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_content variations 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 %26 for &), 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.mp redirects). 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 Typeutm_sourceutm_mediumutm_campaign example
Newsletternewsletteremailweekly_digest_2026_09
Promotional Blastklaviyoemailflash_sale_sept
Welcome Flow (Automated)welcome_flowemailwelcome_email_3
Abandoned Cartabandoned_cartemailcart_reminder_24h
Win-Back Serieswinback_flowemailwinback_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

// Marketing newsletter
utm_source=newsletter&utm_medium=email&utm_campaign=[campaign_name]_[send_date]&utm_content=[cta_position]_[cta_variant]
// Automated flow (e.g., Klaviyo)
utm_source=[flow_name]&utm_medium=email&utm_campaign=[flow_name]_[email_step]&utm_content=[cta_description]

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. 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. 2. Verify the 3 Core GA4 Parameters:

    Confirm that utm_source (e.g. newsletter), utm_medium (e.g. email), and utm_campaign (e.g. spring_promo) are present and correctly spelled without typos.

  3. 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 %20 or break attribution).

  4. 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=Social and utm_medium=social will 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 cpc or email so 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 remarketing and prospecting.

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.