Asocierea conturilor leagă identificarea la nivel de dispozitiv făcută de TRACIO de propria ta noțiune de utilizator. Transmițând ID-ul intern al contului ca linkedId, îi spui lui TRACIO care visitor ID-uri aparțin aceleiași persoane autentificate — între browsere, dispozitive și sesiuni.
Fiecare vizitator pe care îl vede TRACIO primește un identificator la nivel de dispozitiv (vezi Identificare). De unul singur, acel identificator nu știe nimic despre utilizatorii tăi — recunoaște doar dispozitivele care revin.
linkedId acoperă acest gol: este accountId-ul utilizatorului autentificat în acel moment, trimis alături de cererea obișnuită de identificare. Când două sau mai multe visitor ID-uri au același linkedId, TRACIO le leagă într-un singur cont, ceea ce alimentează pagina Connections din panou, identitatea între dispozitive și detectarea derivei la preluarea contului (ATO) — vezi Ce obții.
Fără linkedId, TRACIO vede doar dispozitive anonime și nu are cum să le grupeze pe conturi.
Asocierea conturilor este un parametru suplimentar peste integrarea pe care o ai deja. Nu este nevoie de cod pe backend.
Adaugă lid în eticheta de script existentă, lângă cheia ta publică:
<!-- înainte --><script src="https://edge.tracio.ai/s.js?k=PUBLIC_KEY" async></script>
<!-- după (doar după ce utilizatorul este autentificat) --><script src="https://edge.tracio.ai/s.js?k=PUBLIC_KEY&lid=ACCOUNT_ID" async></script>Dacă folosești @tracio/sdk, transmite linkedId în configurație:
import { Tracio } from "@tracio/sdk"
const tracio = Tracio.init({ publicKey: "5ca175fc...", linkedId: user.id,})linkedId este citit o singură dată, în momentul în care se încarcă agentul. Dacă eticheta de script sau apelul Tracio.init() rulează înainte de autentificare, asigură-te că linkedId este inclus imediat ce starea de autentificare este cunoscută:
lid=ACCOUNT_ID.Tracio.init() cu aceeași publicKey returnează instanța existentă și ignoră noua configurație — nu preia linkedId. Apelează întâi tracio.destroy(), apoi Tracio.init({ publicKey, linkedId: user.id }). Alternativ, amână primul apel Tracio.init() până când starea de autentificare este cunoscută.linkedId numai după o autentificare reală. Nu îl trimite niciodată pentru vizitatori anonimi sau invitați și nu recurge niciodată la o valoare generică precum "guest" sau "anonymous" — o valoare comună contopește persoane fără legătură în același cont.linkedId este trunchiat la 256 de octeți. ID-urile obișnuite sunt cu mult sub această limită; nu transmite tokenuri mari (de exemplu JWT-uri complete).linkedId este stocat împreună cu celelalte date de evenimente ale spațiului tău de lucru și îți este afișat în panou ca identificator de cont pe pagina Connections — nu este nici hashuit, nici anonimizat la afișare, fiindcă trebuie să recunoști contul.
Intern, potrivirea între dispozitive a TRACIO (detectarea fanout-ului, liniile de bază comportamentale ATO) folosește un hash unidirecțional separat, limitat la mediu, calculat pe linkedId — niciodată valoarea brută. Astfel, logica de potrivire nu depinde niciodată de valoarea în clar și nu o expune dincolo de propriul tău panou și de webhook-urile tale.
De aceea linkedId ar trebui să fie un ID intern opac, nu o adresă de e-mail sau un nume (vezi Reguli): îți este vizibil ca identificator de cont, deci nu ar trebui să poarte mai multe informații personale decât ai deja.
s.js (sau cererea de identificare a agentului) include atât k=, cât și lid=.linkedId nu este integrat, acolo apare o notificare de configurare; ea dispare în câteva minute după prima cerere care poartă lid=.Odată ce linkedId circulă, TRACIO deblochează: