How to track Email traffic sources

If you're using email, chances are you want to track outbound email clicks through FunnelFlux as well. Here I'll go through the various ways to do this.

Creating Email traffic sources

For the most part, you can consider email like any other traffic source -- the difference being that your "ads" are just the links in your emails.

You can create URL tracking fields to pass both static and dynamic data. Generally, you will want everything to be dynamic, utilising available tokens from a traffic source.

In the case of an email platform, these may be "personalisation tags" or "macros" that allow you to inject dynamic data into emails -- e.g. %FIRST_NAME%

For tracking purposes here, it would be ideal to pass things like email ID, subscriber ID, campaign ID etc., which hopefully are usable in links as well as email text.

Which ones are available will depend on the platform.

NOTE: When passing data from email platforms, you should consider privacy and your potential obligations under GDPR/CCPA and similar. In general, we would not recommend passing email addresses or personal user data into FunnelFlux when it's not needed. Also, note most email platforms do not have click ID based conversion tracking, so you can ignore the conversion tracking setup for now.

Here are some examples from a few email platforms, where we can identify available "tokens" and then add these in our traffic source config to template links we use in the emails.


See this guide.

Tokens appear to mainly be of the format {{ }} -- though you probably won't pass people's names into FunnelFlux.

So we might configure an "Aweber" traffic source like this:

Aweber does not appear to have a token for campaign ID or something representing the mailing sequence, so you can put REPLACE and then change this yourself in links you use.

For the tokens, I'm using these:


I included a custom field example above -- these are for when you create your own custom fields which you may capture in forms.

An example would be capturing FunnelFlux visitor ID (vid), which you may then insert into links later.

As with any email platform, you'd need to test and check your data to ensure these all pass data you expect, then adapt as needed. Always test your own tracking.

Note with most email systems there's no click ID-based conversion tracking, so don't bother with that.


GetResponse is a little more complex.

They have two types of dynamic tokens -- simple Merge Words of the format [[token]] and advanced tokens like {{CONTACT "subscriber_id"}}

You can find some useful information in these articles:

For the most part, the advanced tokens are more useful as we can pass useful ID information like subscriber ID, campaign ID, message ID, and contact custom fields data etc.

Here's an example config I would use for this as a traffic source:

Here I am using these tokens:

{{CONTACT "campaign_id"}}
{{CONTACT "message_id"}}
{{CONTACT "subscriber_id"}}
{{CONTACT "message_name"}}
{{CONTACT "campaign_name"}}
{{CUSTOM "field_name"}}

The last one would be used for some custom field you have created in the GetResponse system, i.e. is just an example.

Using a source config like this, when I generate a URL for the funnel builder to use in emails, it would look something like this:

https://DOMAIN/fts/2Wab4fUYrUo0-2XEXXwXk6g8h?campaign={{CONTACT "campaign_id"}}&message_id={{CONTACT "message_id"}}&subscriber_id={{CONTACT "subscriber_id"}}&message_name={{CONTACT "message_name"}}&campaign_name={{CONTACT "campaign_name"}}&custom_field={{CUSTOM "field_name"}}

Those tokens would all be processed into real values in the emails sent out, passing dynamic data to FunnelFlux.

For all other email systems, follow the basic guidance above -- find what "tokens" or "personalisation tags" the email system may have, and if they can be used in links.

Then, create a traffic source and define fields + the tokens to use. 

Try to use ones that are useful like message IDs, campaign IDs, subscriber IDs, etc. rather than passing email addresses or things like first/last name, as these are generally not very useful to marketing analytics reporting (you want to aggregate performance by things like email ID, campaign ID etc.)

Creating funnels for email

When it comes to funnels for email, treat them like any campaign.

You'd usually just create an offer (or multiple) that the emails will link out to.

If you have a long sequence of emails linking to multiple offers, you can put these all in the same funnel -- just make sure to make different nodes for each of them so that you can generate links to them separately.

If you have multiple emails linking to the same page/node, remember that by passing things like message_id in the traffic source setup, you'd still be able to easily separate these in reporting.

Here are some important guidelines:

  1. Always use redirect links for emails, so that you have control over the destination and can change it at any time (since you cannot take back emails that have been sent out!)
  2. It's best to link to a rotator, so that you can control the destination more precisely, and change it later. For this reason, I would recommend creating a rotator node before separate pages when needed, to act as a starting point
  3. It's usually easier to put your email campaigns in their own funnel, even though this will separate any conversions from the original funnel/traffic source (see next part if you want to try and connect things)
  4. Always test your own tracking by sending test emails to yourself, clicking the links on your PC/mobile device, and confirming they go where you want + data appears in FunnelFlux

Assuming you have a single offer to link to, your funnel is easy -- just create an offer node and connect the traffic node to it, then generate a redirect link from the traffic node.

If you have multiple offers that you will send people to, in one or many emails, I would recommend using rotator starting points. You could add offer nodes and click them to generate links directly to them, but I would not recommend this:

Instead, give each offer node it's own rotator starting point, which you will generate links from:

You would click the rotator nodes highlighted > generate a redirect link here.


Let's say later you decide you want to split test multiple offers. Well, you can add multiple offers inside the offer node and rotate them, sure. 

But what if you want to test with going to a lander > offer flow, rather than direct to the offer? 

If you linked to the offer node specifically, there's no way to make that link go anywhere else now.

But if you had used the rotators above, you could change to this:

By linking to rotator starting points, you will have more control. 

The only downside is you'd create a few more hit events in the FunnelFlux system, which would affect billing at high scale -- but most email is not high enough scale to worry about this, and our overages costs are very affordable anyway. 

So it's better to bulletproof your link setup so that you don't need to modify emails.

More complex: email clicks as part of an existing funnel

There's one other way to use emails in a funnel -- by using action links instead of entrance links and trying to keep things within one funnel.

By doing this, the email clicks can act like landing page clickthroughs in the original funnel the ad click came from (e.g. from Facebook), which then allows conversion tracking to send data to Facebook too.

We plan to make this easier later, but for now you'd need to pass data into your email system (our "vid"), and then use action links in your emails, rather than the "entrance" redirect links you generate in the funnel builder.

So a funnel might look like this:

On your opt-in page, you would need to adjust your form to capture the FunnelFlux visitor ID -- this is available in the URL if using a redirect link to get to the lander (the "vid" parameter) else is available via our JS response.

This data can be injected into a custom field in your email provider.

Now, you can get the action 1 URL above, with default parameters, like so:

We want to add default redirect parameters here to make sure the link works if context is lost or session data is unavailable.

Now, we want to expand this link to simulate what the link would look like if it was an action link on your landing page.

Normally it would get updated to pass our vid and a "referring node" or rn parameter -- you will often see your action links on your lander update after loading in your browser to carry these parameters.

Visitor ID should be passed into your form and captured with some custom field. Let's assume its called "ff_vid" in your Email system.

The referring node ID is that of the lander, which you can get by clicking it in the funnel builder > look to the top:

So the action URL we want to use here is like:

For an Email provider like GetResponse, that ultimately may be:{{CUSTOM "ff_vid"}}&rn=2XEbPyaPgYHZ

Now by using this link, the URL the users click would be like they were clicking through on the lander, continuing their session in journey, even if jumping from a desktop to mobile device.

This whole approach is quite complex and I wouldn't recommend it unless it's a simple funnel and it's critical that you can bridge the gap across any device and make the subsequent conversions go back to the original traffic source.

Note that this approach is dependent on the session ID (vid) still being in our system -- they will expire after ~5 days, so this approach is only useful for when you expect the user to click emails links soon after sending. 

This is not appropriate for long term funnels and drip campaigns over weeks/months.

In the future we may add better features for this, namely the passing of conversions back to an original traffic source. 

It's simpler to use separate funnels for ad campaigns vs emails, but we understand sending conversions back to some original traffic source is quite desirable.

Was this article helpful?