Prepoznati vračajočega obiskovalca brez cookie-a
12 naročnikov
12 naročnikov
Od vseh rešitev, ki sem jih v zadnjih tednih videl na slovenskem spletu v zvezi s piškotki, mi je še najbolj blizu pristop, ki so ga izbrali pri slo-tech.com (vir: Slo-Tech skladen z ZEKom-1).
Odločili so se, da vse "sporne" piškotke odstranijo in s tem obiskovalcev ne nadlegujejo z nadležnimi obvestili. Kljub temu pa bodo obdržali Google Analytics (oz. bolj pravilno novi Universal Analytics) in sicer nekoliko preurejeno kodo, ki ne zabeleži nobenega piškotka v računalnik:
ga('create', 'UA-XXXXXXX', {'storage': 'none', 'clientId': 'XXXXXXXXXXX'});
ga('send', 'pageview', {'anonymizeIp': true});
S parametri so izklopili storage, morajo pa zaradi tega parameter clientId generirati sami. ClientId je ključen podatek, s katerim Analytics prepozna nove vs. vračajoče uporabnike in tukaj se mi poraja vprašanje - kateri podatek oz. kombinacijo podatkov uporabiti, da bi bila statistika čimbolj realna (IP, User Agent, ločljivost zaslona, ...)?
Naslednja stran prikazuje praktično vse informacije, ki jih je mogoče pridobiti od brskalnika: https://panopticlick.eff.org/
- IP: večina obiskovalcev ima dinamično IP številko, ki se vsaj na nekaj tednov spreminja (T-2), če ne že dnevno (Siol)
- User Agent: se spremeni z vsako nadgradnjo brskalnika na novo različico, nove različice pa so na voljo praktično vsak mesec (Firefox/Chrome...)
- ... še kakšna ideja?
28 odgovorov
To vsekakor razumem in ClientID tudi generiram na takšen način (če se user prijavi, za hash uporabim njegov ID, sicer pa kombinacijo User Agent+IP). In to bi načeloma moralo vplivati zgolj na new/returning visitors. Težave pa imam s tem, da mi ne prikazuje pravilnih informacij pri referral/organic search, kar je pa bistveno pri analizi prometa spletne trgovine (iz katerih virov prihajajo kupci).
Ker še nismo 15.6., sem začasno UA kodo preuredil nazaj v privzeto, tako da se zabeleži tisti piškotek, da ugotovim, če je karkoli s tem povezano in če bodo s cookie-jem te informacije prisotne.
To se obnese samo tam kjer brskanje ni možno brez prijave oz. tam kjer imaš persistent prijavo. Sicer bo vsak dan obravnavan kot 2 ljudeka, prvič pride gor s svojim Client ID (ki, če ga generiraš iz IP+user agent se bo še večkrat spreminjal) in potem ko se prijavi ima spet nov CID.
Težavo s stalnim prikazovanjem direktnih obiskov kot vir/medij obiskovalcev, ki so oddali naročilo v spletni trgovini, sem uspel razrešiti. Pri klicu "create" je manjkala domena:
ga('create', 'UA-xxxxxxxx-x', 'xxxx.si');
oz. z izklopljenimi piškotki:
ga('create', 'UA-xxxxxxxx-x', 'xxxx.si', {'storage':'none','clientId':'xxxx'});
Ko kreiraš UA račun ima privzeta koda, ki jo moraš vključiti na stran, kot tretji parameter posredovano domeno za katero kreiraš profil.
Si mi pa dal zdajle za razmisliti ali options objekt sploh upošteva, če je na 4. mestu in kot vidim ga ne, saj mi kljub storage:none zgenerira _ga cookie.
urosbe:
Ko kreiraš UA račun ima privzeta koda, ki jo moraš vključiti na stran, kot tretji parameter posredovano domeno za katero kreiraš profil.
Si mi pa dal zdajle za razmisliti ali options objekt sploh upošteva, če je na 4. mestu in kot vidim ga ne, saj mi kljub storage:none zgenerira _ga cookie.
Mene tudi zanima, kako to rešit, če komu uspe, bi bil vesel rešitve!
Kar pomeni, da to uporabiš takole:
ga('create', 'UA-xxxxxxxx-x', {'storage':'none','clientId':'xxxx', 'alwaysSendReferrer':true, 'cookieDomain': 'xxxxx.com'});
Sporoči kako dobro deluje to?
Jst sem za clientid uporabi tole: https://github.com/Valve/fingerprintJS
Moj header izgleda tako:
<script src="/js/fingerprint.min.js"></script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXXXX, {'storage': 'none', 'clientId': new String( new Fingerprint().get() ) });
ga('send', 'pageview');
</script>
Podatki se še ne prikazujejo v google analytics.
Kako lahko preverim, da zares deluje?