Using FunnelFlux's time on page tracking
Zeno avatar
Written by Zeno
Updated over a week ago

FunnelFlux's on-page Javascript supports tracking of time spent on lander/offer pages by the visitor.

This attribute is available in reporting under the Insights: Time on Page option.

Below I'll explain how it works, how to implement it, and advanced functions/parameters available.

How it works

The FunnelFlux on-page Javascript includes a time on page tracking function that pushes data to your FunnelFlux server when users unload the page, using beacons.

On older browsers it will also send updates ever X seconds depending on your time resolution setting (this is a fallback for older browsers that do not support beacons).

The time tracker pauses if the user changes tab..


To use this tracking you need to use our on-page Javascript, which is used for our no-redirect tracking method.

To grab the required JS code, right click a lander in your funnel and click "send traffic here". Toggle the no-redirect method and grab your code:

Now, paste this code on your landing page. You can put it in the <head> or <body> section, it will work in both.

The final step here is to enable the time on page function by modifying this line:

fflux.track( { timeOnPage: false } );

to this:

fflux.track( { timeOnPage: true } );

When you now load this page, the JS will wait for the HTML loading to be complete, then will begin recording the time on page.

NOTE: You can continue to use redirect-based tracking and supplement it by putting the Javascript on your landers.

The two will not conflict -- the Javascript will not cause duplicate lander view events to be recorded or overwrite your visitor data with any defaults declared in the JS, as URL-based parameters take priority here (i.e. those passed in your initial FunnelFlux tracking link that redirected to the lander). 

Legacy functions and parameters

The main parameter that affects time tracking in older browsers is the timeOnPageResolution setting.

Changing resolution

You can alter the resolution of time tracking using an additional parameter:

fflux.track( { timeOnPage: true, timeOnPageResolution: 2000 } );

This will make the JS push updates every two seconds rather than the default of three seconds.

You can also override this in your URL by adding the following:

The URL will take precedent over the Javascript parameters.

This will only work on old browsers that do not support the sendBeacon function, so for the most part these legacy functions are not important.

Did this answer your question?