Зв’язування акаунтів поєднує ідентифікацію TRACIO на рівні пристрою з вашим власним уявленням про користувача. Передаючи внутрішній ID акаунта як linkedId, ви повідомляєте TRACIO, які visitor ID належать одній і тій самій автентифікованій людині — у різних браузерах, на різних пристроях і в різних сесіях.
Кожен відвідувач, якого бачить TRACIO, отримує ідентифікатор рівня пристрою (див. Ідентифікація). Сам собою він нічого не знає про ваших користувачів — він лише впізнає пристрої, що повертаються.
linkedId закриває цей розрив: це accountId поточного автентифікованого користувача, який надсилається разом зі звичайним запитом ідентифікації. Коли два або більше visitor ID мають однаковий linkedId, TRACIO пов’язує їх в один акаунт — це живить сторінку Connections у дашборді, кросдевайс-ідентичність і виявлення дрейфу під час захоплення акаунта (ATO) — див. Що ви отримуєте.
Без linkedId TRACIO бачить лише анонімні пристрої — у нього немає способу згрупувати їх за акаунтами.
Зв’язування акаунтів — це додатковий параметр до інтеграції, яку ви вже маєте. Код на бекенді не потрібен.
Додайте lid до наявного тега скрипта, поряд із публічним ключем:
<!-- було --><script src="https://edge.tracio.ai/s.js?k=PUBLIC_KEY" async></script>
<!-- стало (лише після автентифікації користувача) --><script src="https://edge.tracio.ai/s.js?k=PUBLIC_KEY&lid=ACCOUNT_ID" async></script>Якщо ви користуєтеся @tracio/sdk, передайте linkedId у конфігурації:
import { Tracio } from "@tracio/sdk"
const tracio = Tracio.init({ publicKey: "5ca175fc...", linkedId: user.id,})linkedId зчитується один раз — у момент завантаження агента. Якщо ваш тег скрипта або виклик Tracio.init() виконується до входу, подбайте, щоб linkedId було передано, щойно стан автентифікації стане відомим:
lid=ACCOUNT_ID.Tracio.init() з тим самим publicKey повертає наявний екземпляр і ігнорує нову конфігурацію — він не підхопить linkedId. Спершу викличте tracio.destroy(), а потім Tracio.init({ publicKey, linkedId: user.id }). Або відкладіть перший виклик Tracio.init() до моменту, коли стан автентифікації відомий.linkedId тільки після справжнього входу. Ніколи не надсилайте його для гостей та анонімних відвідувачів і ніколи не підставляйте заглушку на кшталт "guest" чи "anonymous" — спільне значення-заглушка зіллє непов’язаних людей в один акаунт.linkedId обрізається на 256 байтах. Звичайні ID значно коротші; не передавайте великі токени (наприклад, повні JWT).linkedId зберігається разом з іншими подієвими даними вашого робочого простору й показується вам у дашборді як ідентифікатор акаунта на сторінці Connections — для відображення він не хешується й не анонімізується, бо вам потрібно впізнавати акаунт.
Усередині ж кросдевайс-зіставлення TRACIO (виявлення фанауту, поведінкові базові профілі ATO) використовує окремий односторонній хеш linkedId у межах середовища — ніколи не вихідне значення. Тож логіка зіставлення не залежить від відкритого значення й не розкриває його поза вашим власним дашбордом і вебхуками.
Саме тому linkedId має бути непрозорим внутрішнім ID, а не адресою пошти чи ім’ям (див. Правила): ви бачите його як ідентифікатор акаунта, тож він не повинен нести більше персональних даних, ніж у вас уже є.
s.js (або запит ідентифікації від агента) містить обидва параметри — k= і lid=.linkedId не інтегровано, там показується повідомлення про налаштування; воно зникає протягом кількох хвилин після першого запиту з lid=.Щойно linkedId починає надходити, TRACIO відкриває: