Skip to main content

What is cross-domain tracking?

See the full picture from first click to registration. Cross-domain tracking preserves your UTM data across your site and the Let's Do This checkout, so Nova can show you exactly which campaigns and channels are driving conversions.

Written by LDT
Updated over a week ago

What is cross-domain tracking?

In December 2025, we launched our Marketing Links feature which guides you to creating links to your event with the appropriate UTM parameters attached.

While this feature is exciting and can unlock some incredible insights within Nova and the Marketing analytics dashboard, without cross-domain tracking in place, it was limited in its impact because you don't always want to send your traffic straight to the Let's Do This checkout flow. You may want to send traffic to your own site first, before sending them onto your event checkout flow on Let's Do This's site.

Cross-domain tracking lets you accurately attribute traffic and conversion back to their respective channel and campaign, even when visitors travel to your website before progressing onto the Let's Do This checkout to complete their registration.

Without it, UTM parameters can be lost when a visitor moves from your domain to ours meaning registrations can't be reliably matched back to the channels or campaigns that drove them. With cross-domain tracking in place, that attribution is preserved end-to-end.

For example, if you create a UTM-tagged link like:

…the script will automatically carry utm_source=instagram&utm_campaign=earlybird through to the Let's Do This checkout when a visitor clicks from your site, so that registration is correctly attributed back to your Instagram early bird campaign.


What you'll need

  • UTM-tagged links pointing to your website

  • Access to edit your website (or a web team member who can do this)


How to set it up

Step 1: Add the script to your website

Copy the script below and paste it into the <head> tag of any page on your site where you're sending paid or organic traffic.

<!-- Cross-Domain UTM Tracking --> <script> (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports):typeof define==`function`&&define.amd?define([`exports`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.CrossDomainTracking={}))})(this,function(e){function t(e){let t=new URLSearchParams(e),n={};return t.forEach((e,t)=>{t.startsWith(`utm_`)&&e!==``&&(n[t]=e)}),n}function n(e){return e?e===`letsdothis.com`||e.endsWith(`.letsdothis.com`):!1}function r(e,t){let n=Object.keys(t);if(n.length===0)return e;let r=new URL(e);for(let e of n)r.searchParams.set(e,t[e]);return r.toString()}function i(){try{let e=t(window.location.search);if(Object.keys(e).length===0)return;document.querySelectorAll(`a[href]`).forEach(t=>{try{n(new URL(t.href).hostname)&&(t.href=r(t.href,e))}catch{}})}catch{}}try{typeof document<`u`&&(document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,()=>setTimeout(i,100)):setTimeout(i,100))}catch{}e.TARGET_DOMAIN=`letsdothis.com`,e.appendUtmParams=r,e.extractUtmParams=t,e.isTargetDomain=n}); </script>

We recommend testing on a single event page first before putting the script on the remaining pages on the website.

Note: The script is self-contained and lightweight. It won't affect your page load times, and is designed so that if any error occurs, no visitors will be impacted. It does not store, create, or read any cookies, and only rewrites links that point to letsdothis.com.

Step 2: Validate the setup

Once the script is live, click through from a UTM-tagged link to the page on which you inputted the script and confirm that the UTM parameters are being carried through as you click through to the Let's Do This checkout. Your Technical Account Manager can help you verify this if needed.

Step 3: Check your attribution data

Once set up, you'll be able to see campaign-level attribution data in your Let's Do This dashboard and within Nova or the Marketing analytics dashboard (note: this data can take up to an hour to sync). Traffic, conversions and registrations will be tagged with the relevant UTM parameters, letting you see which campaigns and channels are driving traffic and conversions.


Frequently asked questions

Will this affect my website's performance?

No. The script is lightweight and designed to have no impact on page load times.

Should I implement this across my entire site?

Yes, you should implement this on every single page that links out to Let’s Do This, though we recommend starting with one web page to validate everything is working as expected before expanding.

What if I don't have a web team?

Let us know, we can talk through options. In many cases, adding the script is a simple task that can be done through a website CMS (like WordPress or Squarespace) without developer support.

Does this work with Google Ads and other paid channels?

Yes, the script works with any UTM-tagged link, regardless of channel. Whether you're running Meta Ads, Google Ads, email campaigns, or anything else, as long as UTM parameters are present in your links, the tracking will carry them through.

Do I need to use Marketing Links as well?

It is not necessary, however, they do work well together. If someone arrives on your site via a UTM-tagged link (e.g. from a paid ad), those UTMs will be retained all the way through to the Let's Do This checkout. If someone arrives directly with no UTMs, they'll pick up the fallback UTMs you've set on your Marketing Link on your website (e.g. utm_source=website&utm_medium=organic).

The rule of thumb: use Marketing Links when sending traffic directly to Let's Do This, and use cross-domain tracking when sending traffic to your own website first. When you have both, the UTMs on your Marketing Links on your website will serve as a safety net for untagged traffic.

Did this answer your question?