Die Account-Verknüpfung verbindet die gerätebezogene Identifikation von TRACIO mit Ihrem eigenen Nutzerbegriff. Indem Sie Ihre interne Account-ID als linkedId übergeben, teilen Sie TRACIO mit, welche Visitor-IDs zur selben authentifizierten Person gehören — über Browser, Geräte und Sitzungen hinweg.
Jeder Besucher, den TRACIO sieht, erhält eine Kennung auf Geräteebene (siehe Identifikation). Für sich genommen weiß diese Kennung nichts über Ihre Nutzer — sie erkennt lediglich wiederkehrende Geräte.
linkedId schließt diese Lücke: Es ist die accountId des aktuell authentifizierten Nutzers, die zusammen mit der normalen Identifikationsanfrage gesendet wird. Teilen sich zwei oder mehr Visitor-IDs dieselbe linkedId, verknüpft TRACIO sie zu einem Account — die Grundlage für die Seite Connections im Dashboard, für geräteübergreifende Identität und für die Drift-Erkennung bei Kontoübernahmen (ATO), siehe Was Sie erhalten.
Ohne linkedId sieht TRACIO nur anonyme Geräte und kann sie nicht nach Account gruppieren.
Die Account-Verknüpfung ist ein zusätzlicher Parameter für die Integration, die Sie bereits haben. Backend-Code ist nicht erforderlich.
Fügen Sie lid neben Ihrem Public Key zum bestehenden Script-Tag hinzu:
<!-- vorher --><script src="https://edge.tracio.ai/s.js?k=PUBLIC_KEY" async></script>
<!-- nachher (erst wenn der Nutzer authentifiziert ist) --><script src="https://edge.tracio.ai/s.js?k=PUBLIC_KEY&lid=ACCOUNT_ID" async></script>Wenn Sie @tracio/sdk verwenden, übergeben Sie linkedId in der Konfiguration:
import { Tracio } from "@tracio/sdk"
const tracio = Tracio.init({ publicKey: "5ca175fc...", linkedId: user.id,})linkedId wird genau einmal gelesen, beim Laden des Agents. Läuft Ihr Script-Tag oder der Aufruf von Tracio.init() vor dem Login, müssen Sie sicherstellen, dass linkedId enthalten ist, sobald der Auth-Status bekannt ist:
lid=ACCOUNT_ID.Tracio.init() mit demselben publicKey gibt die bestehende Instanz zurück und ignoriert die neue Konfiguration — linkedId wird nicht übernommen. Rufen Sie zuerst tracio.destroy() auf, dann Tracio.init({ publicKey, linkedId: user.id }). Alternativ verschieben Sie den ersten Tracio.init()-Aufruf, bis der Auth-Status des Nutzers bekannt ist.linkedId erst nach einem echten Login. Senden Sie sie nie für Gäste oder anonyme Besucher und greifen Sie nie auf einen Platzhalter wie "guest" oder "anonymous" zurück — ein gemeinsamer Platzhalterwert führt unbeteiligte Personen im selben Account zusammen.linkedId wird bei 256 Byte abgeschnitten. Gewöhnliche IDs liegen weit darunter; übergeben Sie keine großen Tokens (z. B. vollständige JWTs).linkedId wird zusammen mit den übrigen Event-Daten Ihres Workspace gespeichert und Ihnen im Dashboard auf der Connections-Seite als Account-Kennung angezeigt — für die Anzeige wird sie weder gehasht noch anonymisiert, da Sie den Account wiedererkennen müssen.
Intern verwendet der geräteübergreifende Abgleich von TRACIO (Fanout-Erkennung, ATO-Verhaltensbaselines) einen separaten, umgebungsbezogenen Einweg-Hash der linkedId — nie den Rohwert. Die Abgleichlogik hängt damit nie vom Klartextwert ab und legt ihn über Ihr eigenes Dashboard und Ihre Webhooks hinaus nicht offen.
Deshalb sollte linkedId eine opake interne ID sein und keine E-Mail-Adresse oder ein Name (siehe Regeln): Sie ist für Sie als Ihre Account-Kennung sichtbar und sollte daher nicht mehr personenbezogene Informationen tragen, als Sie ohnehin haben.
s.js (bzw. die Identifikationsanfrage des Agents) sowohl den Parameter k= als auch lid= enthält.linkedId nicht integriert ist, wird dort ein Einrichtungshinweis angezeigt; er verschwindet wenige Minuten nach der ersten Anfrage mit lid=.Sobald linkedId fließt, schaltet TRACIO frei: