Wednesday, February 11, 2026

Improving User Identification: Adding UTM Email Tracking to Outbound Email Links

Most attribution platforms rely on a single moment to identify a visitor: the form submission. But what happens when your CRM already knows who someone is, and you're emailing them, but Spectacle hasn't been able to place a cookie yet?

You lose the entire customer journey.

This is one of the most common gaps we see in marketing attribution setups. The fix is surprisingly simple: append the recipient's email address as a UTM parameter to the links in your outbound emails.

We also recommend doing this if your deal-cycles typically extend 30-90 day periods in which users delete their cookies and there is no login or other submission event to capture a cookie.

The Problem

When someone fills out a form on your website, Spectacle places a cookie and begins tracking their journey. But not every contact enters your funnel through a form. Think about:

  • Contacts manually added to your CRM by sales

  • Leads imported from events, lists, or partner referrals

  • People who filled out a form before Spectacle was installed

  • Visitors who rejected the cookie banner on their first visit

These contacts exist in your CRM. You're emailing them. But Spectacle can't connect their browsing behavior to their identity, because it never got the chance to place a cookie.

The Fix

By adding utm_email as a parameter to the links in your outbound emails, you give Spectacle the signal it needs. When the recipient clicks a link, Spectacle reads the utm_email value, places the cookie, and retroactively stitches together their entire browsing history.

Here's what that looks like in practice:

https://yoursite.com/demo?utm_email=john@acme.com

The key insight: Spectacle stores anonymous browsing sessions for up to two years. So even if someone visited your site six months ago without identifying themselves, a single email click today connects all of that historical activity to their profile.

How to Set It Up per CRM

Every CRM has its own syntax for dynamic fields (also called merge fields or personalization tokens). Below is how to construct the URL for the three most common CRMs we see in our customer base.

HubSpot

HubSpot uses double curly brackets with the object and internal property name.

Syntax:

{{ contact.email }}

Example link in your email template:

https://yoursite.com/demo?utm_email={{ contact.email }}

You can insert this directly into the URL field of any button or hyperlink in your HubSpot email template. Use the "Personalize" option in the link editor or type the token manually into the URL field.

Tip: HubSpot also supports personalization tokens in the link URL of button modules. Click the button, open the link settings, and paste the full URL including the token.

Pipedrive

Pipedrive uses double curly brackets with the field display name. Fields are inserted via the "Insert field" button in the email composer.

Syntax:

{{ Email }}

Example link in your email template:

https://yoursite.com/demo?utm_email={{ Email }}

In Pipedrive, the recommended approach is to use the built-in "Insert field" button when composing your email template. Select the Person category and choose the Email field. Place it directly inside the URL of your hyperlink.

Note: For this to work, the email must be sent to an existing person in your Pipedrive account. If the person record doesn't have an email value, the field will be empty.

ActiveCampaign

ActiveCampaign uses percent signs wrapping the field name in uppercase.

Syntax:

%EMAIL%

Example link in your email template:

https://yoursite.com/demo?utm_email=%EMAIL%

You can type this directly into any URL field in your email template, or use the "Personalize" button in the email editor to insert the tag. ActiveCampaign will resolve the tag to the contact's email address at send time.

Quick Reference

CRM

Email Merge Field

Full Example URL

HubSpot

{{ contact.email }}

https://yoursite.com/demo?utm_email={{ contact.email }}

Pipedrive

{{ Email }}

https://yoursite.com/demo?utm_email={{ Email }}

ActiveCampaign

%EMAIL%

https://yoursite.com/demo?utm_email=%EMAIL%

Where to Apply This

You don't need to add this to every link in every email. Focus on the links that matter most:

  • Demo booking links

    — your highest-intent CTA

  • Proposal and quote links

    — tying revenue back to the journey

  • Case study and content links

    — understanding what content drives pipeline

  • Email signature links

    — a passive way to capture every interaction

The more links carry the utm_email parameter, the higher your identification rate becomes. But even a single click on a single link is enough for Spectacle to connect the dots.

What Happens After the Click

Once the recipient clicks a link with utm_email, Spectacle:

  1. Places the tracking cookie

    on their browser

  2. Matches the email address

    to the contact in your CRM

  3. Retroactively stitches

    their anonymous browsing history (stored for up to 2 years) to their identified profile

  4. Attributes future activity

    — every subsequent page view, ad impression, and conversion event is now tied to a known contact

This means you can see the full customer journey: which ads they saw, which pages they visited, how many times they came back — all the way through to closed revenue.

Privacy Considerations

The utm_email parameter is processed server-side by Spectacle and is not stored in the URL after the initial page load. It functions similarly to how email service providers track opens and clicks: the identifier is used to connect the session to a known contact, not to collect new personal data.

Since the recipient is already a known contact in your CRM, you are not collecting new information — you are connecting existing information to browsing behavior that would otherwise remain anonymous.

As always, make sure your privacy policy covers the use of marketing analytics tools and that your cookie consent mechanism is properly configured.

Getting Started

  1. Pick your highest-value email template (usually demo or proposal emails)

  2. Add utm_email= followed by your CRM's email merge field to the most important link

  3. Send a test email to yourself and verify the URL resolves correctly

  4. Check Spectacle's tracking data viewer to confirm the email is being captured

  5. Roll out to additional templates once confirmed

The setup takes five minutes per template. The payoff is a significantly higher identification rate and a much more complete picture of your customer journeys.


Need help setting this up for your specific CRM or email tool? Reach out to us at support@spectaclehq.com — we're happy to walk you through it.