Un visitor ID, indiferent cum revin
Agentul transformă peste 100 de semnale ale dispozitivului într-un visitor ID pe server. Modul incognito, cookie-urile șterse și actualizările browserului nu creează un visitor nou.
Ce poate modifica un vizitator care revine
ID-ul este dispozitivul, nu cookie-ul și nu conexiunea.
| Revin cu | Același ID de vizitator | De ce |
|---|---|---|
| Fereastră privată sau incognito | Același | Stocarea este goală, hardware-ul nu. |
| Cookie-urile și datele site-ului au fost șterse | Același | Ancora hardware și amprenta digitală se potrivesc încă. |
| O actualizare a browserului | Același | O versiune nouă modifică unele semnale; potrivirea fuzzy le absoarbe. |
| Un VPN sau o adresă IP nouă | Același | IP-ul nu face parte din ID. Apare în schimb în flags. |
| Un cont nou pe același dispozitiv | Același | Așa apar conturile multiple: un dispozitiv, multe external ID-uri. |
| Alt browser pe același dispozitiv | Vizitator nou | Fiecare browser randează diferit, deci este o altă amprentă. |
| Alt dispozitiv | Vizitator nou | ID-ul este dispozitivul. |
Potrivit în ordine
Fiecare identificare este verificată față de vizitatorii proiectului, de la cea mai sigură potrivire în jos, iar evenimentul indică care a fost reținută.
- ID stocat
- ID-ul pe care agentul l-a păstrat în stocare și într-un cookie first-party, atât timp cât hardware-ul se potrivește.
- Ancoră hardware
- Grafică, nuclee, memorie și platformă, care nu se schimbă la o actualizare a browserului sau la ștergerea stocării.
- Amprentă cunoscută
- Exact aceleași semnale văzute anterior în proiectul tău.
- Potrivire fuzzy
- Componentă cu componentă față de vizitatorii recenți de pe același hardware, cu o marjă față de următorul cel mai bun.
- Conștient de zgomot
- Canvas și audio sunt excluse atunci când un browser le randomizează, precum Brave și ferestrele private.
import { start } from 'zeno-id'
const agent = start({ publicKey: 'pk_...' })
// A stable ID per device, and whether it was seen before.
const { visitorId, returning, requestId } = await agent.get({
externalId: user.id,
action: 'login',
})Peste 100 de semnale
Colectat de la zero, fără adrese de rețea WebRTC.
Redare
Canvas, furnizor WebGL, renderer, extensii și parametri, adaptorul WebGPU și audio.
Dispozitiv
Ecran, adâncime de culoare, raport de pixeli, nuclee, memorie, atingere, platformă, client hints, fonturi și voci.
Setări
Fus orar, limbi, calendar, preferințe media, cotă de stocare și stări ale permisiunilor.
Integritate
Resturi de automatizare, funcții native înlocuite și valori care diferă între pagină, un worker și un iframe.
Sinceri despre limite
Un ID pe baza căruia puteți lua decizii, deoarece indică cât de sigur este.
Un ID per proiect
ID-ul este hashuit împreună cu proiectul tău, astfel încât același dispozitiv are alt ID în altă parte. Nimeni nu îți poate urmări vizitatorii între servicii.
Încredere pentru fiecare eveniment
Cât de sigură este potrivirea, de la 0 la 1. O potrivire aproximativă pe un dispozitiv comun primește un scor mai mic decât un ID salvat pe hardware rar.
O indicație, nu o dovadă
Dispozitivele identice, precum același model de telefon cu același OS, pot partaja un ID. Analizați un ID partajat împreună cu external ID-urile, flag-urile și conexiunea.
Identificați primul vizitator astăzi
Instalați agentul, citiți evenimentul pe serverul dvs., și ați terminat.