Introduction
Whenever a lead visits your website, we want to track which pages have been seen or which document were downloaded. This makes it necessary to recognize the lead when leaving page a and entering page b or when the lead comes again on another day. To fulfill this requirement, there a basically two different possible technics available with LUX.
LocalStorage (default)
Per default LUX runs in localstorage mode. A random string (33 characters) is stored in the local storage of the visitor's browser (comparable to a cookie) and is used to recognize the visitor again.
Upside: Writing and reading a random string is done very quickly (no calculation needed). You can also differ between multiple visitors with the same hardware and the same IP-address - this is especially useful if you have a lot of mobile visitors on your website (e.g. if you own a b2c shop for a younger target group).
Downside: You have to ask your visitor if you are allowed to store a random string in the local storage of the device, to identify your visitor. To meet GDPR rules, we would suggest you to set up a cookie banner. In addition, a visitor of domain A is not automatically merged if he also visits domain B on the same TYPO3 instance (every domain has its own local storage area. Of course if the user is identified on both domains, the profile will be merged to only one).
Note: Maybe you want to disable the "autoenable" functionality. See OptIn and OptOut
Fingerprint (cookieless alternative)
In fingerprint mode LUX tries to automatically recognize a visitor by its hardware combined with his IP-address. Those values are hashed to one string (sha256) and cannot be reverted or splitted into its originally parts.
Values are:
- userAgent
- webdriver
- language
- colorDepth
- deviceMemory
- hardwareConcurrency
- screenResolution and availableScreenResolution
- timezone and timezoneOffset
- sessionStorage and localStorage
- indexedDB and openDatabase
- addBehavior
- cpuClass
- platform
- plugins
- canvas
- webgl and webglVendorRenderer
- hasLiedLanguages and hasLiedResolution and hasLiedOs and hasLiedBrowser
- touchSupport
- fonts
- audio
- IP-address
Upside: Fingerprint is calculated automatically and does not need to be stored anywhere on the device (cookie or local storage). A tracking between different domains and page branches is possible within the same TYPO3 instance.
Downside: To calculate a fingerprint every page request needs 200-400ms on top (asynchronous). Beside that multiple visitors with same hard- and software are recognized as only one visitor, if they are using the same IP-address. This is especially true for iPhones of the same version and generation.
This can be turned on via TypoScript constants:
plugin.tx_lux.settings.identificationMethod = 0
Overview
| Method | Value | Default | Recommended for |
|---|---|---|---|
| LocalStorage | 2 | yes | Most use cases - especially B2C and mobile visitors |
| Fingerprint | 0 | no | Cookieless tracking (no entry on the visitors device) |