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:

  1. The JS will no longer set a cookie when processing (hence no need to ask for consent under GDPR)
  2. 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.

Did this answer your question?