Łączenie kont spina identyfikację TRACIO na poziomie urządzenia z Twoim własnym pojęciem użytkownika. Przekazując wewnętrzny identyfikator konta jako linkedId, mówisz TRACIO, które visitor ID należą do tej samej uwierzytelnionej osoby — w różnych przeglądarkach, na różnych urządzeniach i w różnych sesjach.
Każdy odwiedzający, którego widzi TRACIO, otrzymuje identyfikator na poziomie urządzenia (zobacz Identyfikacja). Sam w sobie nic nie wie o Twoich użytkownikach — rozpoznaje tylko powracające urządzenia.
linkedId zasypuje tę lukę: to accountId aktualnie uwierzytelnionego użytkownika, wysyłane razem ze zwykłym żądaniem identyfikacji. Gdy dwa lub więcej visitor ID mają to samo linkedId, TRACIO łączy je w jedno konto, co zasila stronę Connections w pulpicie, tożsamość między urządzeniami oraz wykrywanie dryfu przy przejęciu konta (ATO) — zobacz Co zyskujesz.
Bez linkedId TRACIO widzi wyłącznie anonimowe urządzenia i nie ma jak pogrupować ich według kont.
Łączenie kont to dodatkowy parametr w integracji, którą już masz. Kod po stronie backendu nie jest potrzebny.
Dodaj lid do istniejącego tagu skryptu, obok klucza publicznego:
<!-- przed --><script src="https://edge.tracio.ai/s.js?k=PUBLIC_KEY" async></script>
<!-- po (dopiero gdy użytkownik jest zalogowany) --><script src="https://edge.tracio.ai/s.js?k=PUBLIC_KEY&lid=ACCOUNT_ID" async></script>Jeśli używasz @tracio/sdk, przekaż linkedId w konfiguracji:
import { Tracio } from "@tracio/sdk"
const tracio = Tracio.init({ publicKey: "5ca175fc...", linkedId: user.id,})linkedId jest odczytywane raz — w momencie wczytania agenta. Jeśli tag skryptu albo wywołanie Tracio.init() uruchamia się przed logowaniem, zadbaj o dołączenie linkedId, gdy tylko stan uwierzytelnienia będzie znany:
lid=ACCOUNT_ID.Tracio.init() z tym samym publicKey zwraca istniejącą instancję i ignoruje nową konfigurację — nie pobierze linkedId. Najpierw wywołaj tracio.destroy(), a potem Tracio.init({ publicKey, linkedId: user.id }). Możesz też odłożyć pierwsze wywołanie Tracio.init() do chwili, gdy stan uwierzytelnienia będzie znany.linkedId dopiero po prawdziwym logowaniu. Nigdy nie wysyłaj go dla gości ani anonimowych odwiedzających i nigdy nie stosuj wartości zastępczej w rodzaju "guest" czy "anonymous" — wspólna wartość zastępcza scala niepowiązane osoby w jedno konto.linkedId jest przycinane do 256 bajtów. Zwykłe identyfikatory są znacznie krótsze; nie przekazuj dużych tokenów (np. pełnych JWT).linkedId jest przechowywane razem z pozostałymi danymi zdarzeń Twojej przestrzeni roboczej i pokazywane Tobie w pulpicie jako identyfikator konta na stronie Connections — na potrzeby wyświetlania nie jest hashowane ani anonimizowane, ponieważ musisz rozpoznać konto.
Wewnętrznie dopasowanie między urządzeniami w TRACIO (wykrywanie fanoutu, behawioralne punkty odniesienia ATO) korzysta z osobnego, ograniczonego do środowiska jednokierunkowego skrótu linkedId — nigdy z wartości surowej. Dzięki temu logika dopasowania nigdy nie zależy od wartości jawnej i nie ujawnia jej poza Twoim własnym pulpitem i webhookami.
Właśnie dlatego linkedId powinno być nieprzejrzystym identyfikatorem wewnętrznym, a nie adresem e-mail czy imieniem (zobacz Zasady): widzisz je jako identyfikator swojego konta, więc nie powinno nieść więcej danych osobowych, niż już masz.
s.js (lub żądanie identyfikacji agenta) zawiera zarówno k=, jak i lid=.linkedId nie jest zintegrowane, widnieje tam komunikat konfiguracyjny; znika w ciągu kilku minut od pierwszego żądania z lid=.Gdy tylko linkedId zacznie napływać, TRACIO odblokowuje: