Tracking in ClickFunnels
Zeno avatar
Written by Zeno
Updated over a week ago

ClickFunnels makes it easy to set up basic funnel sequences with inbuilt checkout pages, payment processing and upsells.

To make your life easier we have created a direct integration using the webhooks feature in ClickFunnels, which makes tracking simple to implement.


Step 1: Get your ClickFunnels Webhook URL

Navigate to the System Links page in FunnelFlux.

At the bottom of the page you'll find the webhook URL you need. Note that this is only available in later versions of FunnelFlux (post 1.6123) so you may need to update to have access to this.


Step 2: Add your Webhook to ClickFunnels

Go to whatever funnel you want to track in ClickFunnels then to the settings tab.

Scroll down to Webhooks and click "Manage Your Funnel Webhooks"

Click New Webhook. Paste in the webhook URL provided by FunnelFlux and add the contact/purchase created and destroyed events. Do not add the updated events.

The other settings can be left on their defaults, giving the following:

Click Create Funnel Webhook and you're done here.



Step 3: Creating a Funnel in FunnelFlux

In FunnelFlux create a funnel that mirrors the flow you have in ClickFunnels.

Ensure that you use landers for pages that a conversion does not happen on, and use offers for pages that conversions do happen on -- so in general your order form page should be an offer, and your upsell pages that have a decline/accept on them should be an offer as well.

Link these all together in the same flow as used in ClickFunnels and save.

For the lander/offer URLs, just use the URLs that ClickFunnels provide for those pages - e.g. domain.com/funnel-path 

Now, click advanced funnel settings. You need the universal funnel JS available here:

Take this JS and include it in your ClickFunnels pages. It's best to do this funnel-wide by going to funnel settings and pasting this in the "body tracking code" box.


Step 4: Modify Javascript Code

Next we need to make some modifications to the JS code you just pasted above so that it passes required data between pages inside ClickFunnels. It's particularly important that this happens on the initial sales page (that goes to the order form) as it provides the hit ID that the webhook will send to your tracker.

In the code you should see the flux.track event and parameters which look like this:

fflux.track({ 
  timeOnPage: false,
  timeOnPageResolution: 3000,
  tokenInjection: {
    intoUrl: false,
    intoForms: { selector: null },
    intoLinks: { selector: null },
    tokens: {}
  }
});

Modify this code so that it injects data into form submits on the page, by changing the code to the following:

fflux.track({ 
  timeOnPage: false,
  timeOnPageResolution: 3000,
  tokenInjection: {
    intoUrl: false,
    intoForms: { selector: 'form' },
    intoLinks: { selector: null },
    tokens: { 'flux_hid': '{hit-id}' }
  }
});


Step 5: Making ClickFunnel Pages Redirect to Action Links

This is an important step that lets FunnelFlux control the redirect flow and it will let you see lander clicks, thus CTR, of your various pages.

ClickFunnel pages tend to use Javascript for redirecting from page to page, so we need to make these changes in their visual editor.

Open your various pages in the visual editor then click Settings > General Settings:

Then in the sidebar, put in your FunnelFlux action link that should link that page to the one that comes after it.

Ensure you use the link with organic params enabled as well - this will ensure that the page will redirect even if cookies are absent. It's very important as you want your links to always work.

Do also note that if you modify your funnel you may break existing links - so be careful with such changes, e.g. deleting a node.


Step 6: Align Offer and Product Names

The last critical thing you need to do is sync the offer names in FunnelFlux with the product names in ClickFunnels.

The webhook from ClickFunnels does not let us send a unique hit ID for every page, so for tracking the upsells, we need to match the conversion events to specific offer names in FunnelFlux.

So, in your ClickFunnels funnel settings, go to any steps that involve a sale > products tab > rename these products to be the same as your FunnelFlux offers (or vice versa).

Note these are not the step names, but the product names as in this section:


Step 7: Optional Passing of Funnel ID

If you have plans to have multiple funnels in FunnelFlux that use the same ClickFunnels flow, it is ideal to pass funnel ID in the lander/offer URLs as well so that you can override the universal JS at the various steps of the funnel.

To do this, just add &flux_f={funnel-id}  in your FunnelFlux offer and lander URLs.

By doing this, when you send users to your initial funnel page via a tracking link it will pass flux_f in the URL, and to later steps, ensuring the universal JS on the page does not revert the user back to the default funnel.

Likewise if linking directly to the initial lander, just append ...&flux_fts=xxxxx to the URL to override the funnel ID in the JS, and provide the traffic source. You can get this by using the "send traffic here" function in your funnel editor.



Step 8: You're Done!

And that's it!

When users convert the webhook will now tell FunnelFlux what visitor converted and on what page/offer.

You can now send users to your ClickFunnels pages through tracking links, or send users directly to the funnel pages since they have no-redirect JS tracking on them.

Just be sure to pass flux_fts  in the URL if you want to declare the traffic source the visitors came from, as well as any other custom tracking fields for that source - if not it would come up as organic traffic.

An easy way to do this is to generate a link in FunnelFlux for your lander or traffic entrance node, copy it, then just paste the entire query string into your lander URL instead for direct linking.

E.g. if you generate a link for Facebook and it looks like this:

https://trackerdomain.com/?flux_fts=qpopxcaoqcpzxiizxieqoqicoaapxlclztlcta0083&place={{placement}}&ad_id={{ad.id}}&adset_id={{adset.id}}&campaign_id={{campaign.id}}&source={{site_source_name}}

Just change the base URL to give this:

https://your.clickfunnels-url.com/path-to-funnel/?flux_fts=qpopxcaoqcpzxiizxieqoqicoaapxlclztlcta0083&place={{placement}}&ad_id={{ad.id}}&adset_id={{adset.id}}&campaign_id={{campaign.id}}&source={{site_source_name}}


Please let us know if you encounter any issues or find incorrect tracking results when using this method - its currently in beta as we have not been able to thoroughly test it across all possible ClickFunnel's configurations.

Did this answer your question?