Skip to main content
This page covers the most common issues users run into with TrackFunnels — from UTM links not appearing in GA4 to webhooks that aren’t firing. Work through the relevant section below, step by step, before reaching out to support. If you’ve gone through every step and the problem persists, email [email protected] with your account email and a description of what you’ve tried. If your UTM-tagged URLs are not appearing in GA4 reports, or values look inconsistent, the steps below will help you pinpoint what’s going wrong.
This is almost always caused by links that were built outside TrackFunnels — in a spreadsheet, typed manually, or copied from an old campaign — where no consistency rules were applied.GA4 is case-sensitive: Email, email, and EMAIL are stored as three separate source/medium values. Over time, this fragments your attribution data and makes channel groupings unreliable.Going forward, build all UTM links through TrackFunnels. The tool enforces lowercase and validates values against your approved list automatically, so every new link you create will follow the same rules.
Historical data already in GA4 cannot be cleaned up retroactively — GA4 does not support editing or merging existing dimension values. The best approach is to start fresh with consistent links from today and note the date in your GA4 annotations so you can distinguish old from new data in your reports.

Email Tracking

These steps cover the most common reasons email opens are missing from GA4 or creating duplicate users, and how to resolve each one.
1

Check your GA4 credentials in Account Settings

Go to Account Settings → Set Up GA4 and confirm that your Stream Name, Stream URL, and Measurement ID are all entered correctly. These values must match exactly what appears in your GA4 account under Admin → Data Streams.
2

Verify your API Secret Key is valid

In your GA4 account, go to Admin → Data Streams → [your stream] → Measurement Protocol API secrets and confirm the secret key you’ve entered in TrackFunnels is still listed and active. API secret keys can be revoked or rotated — if yours has changed, generate a new one, copy it, and update it in your TrackFunnels Account Settings.
3

Confirm the pixel is embedded in the email HTML

Open the email in your email platform’s HTML editor and verify the tracking pixel <img> tag is present. If your email editor uses a drag-and-drop builder, the pixel may have been removed when the template was last edited.
<!-- Example of how a TrackFunnels pixel looks in email HTML -->
<img src="https://trackfunnels.com/pixel/..." width="1" height="1" alt="" />
4

Check for image-blocking by email clients

Many email clients (Outlook, Apple Mail with Mail Privacy Protection, corporate firewalls) block remote images by default. A blocked image means the pixel request never reaches TrackFunnels and the open is not recorded. This is an inherent limitation of pixel-based open tracking across all platforms, not specific to TrackFunnels.
5

Allow for hit-batching delay

TrackFunnels batches Measurement Protocol hits to conserve resources. There may be a delay of up to a few hours before opens appear in GA4. If you’ve just sent a test email, wait and check your GA4 Realtime and standard reports again after an hour.
This is the expected default behavior of the GA4 Measurement Protocol. Because email opens happen outside the browser, there is no GA4 session cookie available — so each Measurement Protocol hit is attributed to a new user by default.To link email opens to existing users, configure the GA4 Client ID Personalization Tag:
1

Go to Email Tracking Settings

In your TrackFunnels account, navigate to Account Settings → Email Tracking Settings.
2

Enter your CRM's GA4 Client ID merge code

In the GA4 Client ID Personalization Tag field, enter the merge code your CRM uses for the stored GA4 client ID field (e.g. a custom contact field where you’ve been recording the _ga cookie value).
3

Save and re-generate affected pixels

Save your settings. Because existing pixels cannot be edited, you’ll need to delete and recreate any pixels you want to apply this setting to, then re-embed them in your email templates.
This configuration only prevents new users from being created if your CRM actually has a GA4 client ID stored for each contact. If contacts were added to your list before you started capturing the GA4 client ID, those opens will still create new users in GA4.
The All Email Pixels, Email Tracking Pixel Builder, Set Up GA4, and Email Tracking Settings tabs are only visible on Pro plan accounts.If you’re on the free plan, these tabs are hidden. Upgrade your account to a Pro plan to unlock them.Upgrade at trackfunnels.com →If you have already upgraded and the tabs are still not visible, try logging out and back in. If the problem persists, email [email protected].

Integrations

Follow these steps if data from ActiveCampaign, Calendly, or Jotform isn’t appearing in your TrackFunnels dashboards.
1

Verify the webhook URL is pasted correctly in ActiveCampaign

In ActiveCampaign, go to Settings → Developer → Manage Webhook and open the webhook you created for TrackFunnels. Confirm the URL field contains the exact webhook URL generated in your TrackFunnels account. It should look like:
https://trackfunnels.com/hook/xx/xxxx/email/xx
If anything looks wrong, delete the webhook in ActiveCampaign, generate a new one in TrackFunnels, and re-paste it.
2

Confirm the correct event is selected

The event selected in ActiveCampaign must match the event trigger you chose when generating the webhook in TrackFunnels:
TrackFunnels Event TriggerActiveCampaign Event to Select
Email Link Click TrackingLink Clicked
Tag Added TrackingContact Tag Added
If these don’t match, data will not flow to TrackFunnels.
3

Check the Initialize from Source setting

On the ActiveCampaign webhook configuration screen, find the Initialize from Source field and make sure all options are selected. This ensures TrackFunnels captures events regardless of how they were triggered (by the user, by an admin, via the API, etc.).
4

Confirm the correct list is selected

In the List field of the ActiveCampaign webhook, make sure you have selected the list whose contacts you want to track. If you’re tracking across multiple lists, you may need to create a separate webhook for each list.
5

Send a test and check TrackFunnels

Click a tracked link in a test email (for Link Click Tracking) or add a tag to a test contact (for Tag Added Tracking), then check your TrackFunnels dashboard. If still no data appears, contact [email protected] with your account email and a screenshot of your ActiveCampaign webhook settings.
1

Confirm both connection steps are complete

The Calendly integration requires two separate connection steps in TrackFunnels — both are required:
  1. Connect your Calendly account (authorises TrackFunnels to verify your paid Calendly plan).
  2. Connect your Calendly calendar (creates the actual webhook between Calendly and TrackFunnels).
If you only completed step one, bookings will not be tracked. Go to Account Settings → Integrations → Calendly and check that both buttons have been clicked and show a success status.
2

Verify Active Status in TrackFunnels

Once the webhook connection is established, your Calendly integration screen in TrackFunnels should show Active Status next to the webhook. If it shows anything other than Active, disconnect and reconnect the calendar.
3

Ensure UTM parameters are being passed to your scheduling link

TrackFunnels can only attribute a booking to a UTM campaign if UTM parameters are present on the Calendly scheduling link when the visitor books. Make sure you are sharing UTM-tagged links (built in TrackFunnels) that point to your Calendly page — not a plain Calendly URL.If users navigate away and return, UTM parameters may be lost. Consider using Calendly’s advanced embed to keep UTM parameters intact through the booking flow.
4

Check the event type — cancellations and reschedules are not tracked

TrackFunnels only tracks Invitee Created events (i.e. new bookings). Cancellations, reschedules, and other event types are not tracked. If you’re looking for a booking that was rescheduled from an earlier appointment, it may not appear.
If you have more than one calendar in your Calendly organisation, all calendars are covered by a single webhook. Use the Calendar/Meeting Name filter in your Calendly Attribution Dashboard to break down results by calendar.
1

Confirm the webhook URL is correctly pasted in Jotform

In Jotform, open the form you integrated, go to Edit Form → Integrations → Webhook, and verify the webhook URL matches the one generated in your TrackFunnels account. If you’re unsure, generate a fresh webhook URL in TrackFunnels and re-paste it in Jotform.
2

Confirm you clicked Complete Integration in Jotform

After pasting the webhook URL in Jotform, you must click the Complete Integration button to activate it. If you closed the Jotform integrations panel without clicking that button, the webhook was not saved and submissions will not be sent to TrackFunnels.
3

Verify Active Status in TrackFunnels

In your TrackFunnels account under Account Settings → Integrations → Jotform, check that the webhook shows Active Status. Active Status confirms that TrackFunnels has received at least one submission through the webhook.
4

Check whether UTM parameters are reaching Jotform

For attribution to work, UTM parameters must be passed from your landing page or ad link through to the Jotform form URL at the time of submission. If you’re using a standalone Jotform URL (not embedded), make sure UTM parameters are appended to the Jotform link itself. If the form is embedded on your site, the page’s UTM parameters need to be forwarded to hidden fields in the form.If you’re having trouble getting UTM parameters to pass through to Jotform, contact [email protected] for guidance.

General

If your issue isn’t covered in one of the sections above, reach out and we’ll help you get it sorted.
If you’ve worked through the relevant troubleshooting steps above and your issue isn’t resolved, reach out directly:Email: [email protected]To help us resolve your issue as quickly as possible, include:
  • Your account email address
  • A clear description of the problem and what you’ve already tried
  • Any screenshots or error messages that might be relevant
  • The integration or feature you’re having trouble with (e.g. Calendly, email pixels, UTM links)
We typically respond within one business day.