Tracking without cookies can be useful for a number of scenarios:
Traffic coming from Facebook mobile browser/iOS - there are known issues with third-party cookie blocking that leads to clickthroughs coming up as organic traffic
You're changing domains between tracker > action links (not advised) and need to make sure the tracking continues without issues
A user's browser is blocking cookies
You want to avoid the need for cookie consent in the world of GDPR, so want to track without using cookies entirely
This can be achieved with FunnelFlux's no-redirect javascript tracking and ties in closely with the session ID tracking discussed here.
How to implement it
Drop your usual FunnelFlux universal tracking JS on your page.
Near the end of the code, alter the noCookies option to true:
fflux.track({
timeOnPage: false,
timeOnPageResolution: 3000,
noCookies: true,
tokenInjection: {
intoUrl: false,
intoForms: { selector: null },
intoLinks: { selector: null },
tokens: {}
}
});
Doing this will do two things:
The JS will no longer set a cookie when processing (hence no need to ask for consent under GDPR)
The JS will automatically append
flux_sess=THE_ID
to the URL of the current page, i.e. it turns on intoUrl for just that parameter
You can then use your CTA action links on your page as usual.
When the action links load, FunnelFlux will do various checks to identify the user:
Cookies
Flux_sess appended to the link/URL being loaded
Flux_sess in the referrer
In this case it will find flux_sess=something
in the referrer, will identify the user and know where to send them next - all without cookies!
NOTE: Because it is using the refererr, be sure not to set attributes like rel=noreferrer
on links as you will block the refererr passing and break this.
Using direct passing instead of referrers
If you don't want flux_sess=xxx
appearing in the browser URL you can instead append the session ID to your action links (and any others) directly, by using the intoLinks function:
fflux.track({
timeOnPage: false,
timeOnPageResolution: 3000,
noCookies: true,
tokenInjection: {
intoUrl: false,
intoForms: { selector: null },
intoLinks: { selector: 'a.something' },
tokens: { flux_sess: '{session-id}' }
}
});
If you set intoLinks to anything non-null, we assume this is because you don't want the session ID in the URL and so this gets turned off - i.e. noCookies = true will turn on intoUrl unless you have already set session ID to be appended by intoLinks.
You could also turn on intoUrl if you wanted, but its unlikely that the referrer is going to provide any assistance if the URLs being loaded have the session ID passed to them directly.