Penautan akun menghubungkan identifikasi TRACIO di tingkat perangkat dengan konsep pengguna milik Anda sendiri. Dengan mengirim ID akun internal sebagai linkedId, Anda memberi tahu TRACIO visitor ID mana saja yang dimiliki orang terautentikasi yang sama — lintas peramban, perangkat, dan sesi.
Setiap pengunjung yang dilihat TRACIO mendapat pengidentifikasi tingkat perangkat (lihat Identifikasi). Dengan sendirinya, pengidentifikasi itu tidak tahu apa pun tentang pengguna Anda — ia hanya mengenali perangkat yang kembali.
linkedId menutup celah itu: ia adalah accountId pengguna yang sedang terautentikasi, dikirim bersama permintaan identifikasi biasa. Ketika dua visitor ID atau lebih berbagi linkedId yang sama, TRACIO menautkannya menjadi satu akun, yang menghidupkan halaman Connections di dasbor, identitas lintas perangkat, dan deteksi penyimpangan pada pengambilalihan akun (ATO) — lihat Apa yang Anda dapatkan.
Tanpa linkedId, TRACIO hanya melihat perangkat anonim dan tidak punya cara mengelompokkannya per akun.
Penautan akun adalah parameter tambahan pada integrasi yang sudah Anda miliki. Tidak perlu kode backend.
Tambahkan lid ke tag skrip yang ada, di samping kunci publik Anda:
<!-- sebelum --><script src="https://edge.tracio.ai/s.js?k=PUBLIC_KEY" async></script>
<!-- sesudah (hanya setelah pengguna terautentikasi) --><script src="https://edge.tracio.ai/s.js?k=PUBLIC_KEY&lid=ACCOUNT_ID" async></script>Jika Anda memakai @tracio/sdk, kirim linkedId di konfigurasi:
import { Tracio } from "@tracio/sdk"
const tracio = Tracio.init({ publicKey: "5ca175fc...", linkedId: user.id,})linkedId dibaca sekali saja, saat agent dimuat. Jika tag skrip atau panggilan Tracio.init() berjalan sebelum login, pastikan linkedId disertakan begitu status autentikasi diketahui:
lid=ACCOUNT_ID setelah login.Tracio.init() lagi dengan publicKey yang sama akan mengembalikan instance yang ada dan mengabaikan konfigurasi baru — ia tidak mengambil linkedId. Panggil tracio.destroy() dulu, lalu Tracio.init({ publicKey, linkedId: user.id }). Alternatifnya, tunda panggilan Tracio.init() pertama sampai status autentikasi pengguna diketahui.linkedId hanya setelah login yang sebenarnya. Jangan pernah mengirimnya untuk tamu atau pengunjung anonim, dan jangan pernah memakai nilai pengganti seperti "guest" atau "anonymous" — nilai pengganti bersama akan menggabungkan orang-orang yang tidak berkaitan ke dalam satu akun.linkedId dipotong pada 256 byte. ID biasa jauh di bawah itu; jangan mengirim token besar (misalnya JWT lengkap).linkedId disimpan bersama data peristiwa lain di ruang kerja Anda dan ditampilkan kembali kepada Anda di dasbor sebagai pengidentifikasi akun pada halaman Connections — nilainya tidak di-hash atau dianonimkan untuk tampilan, karena Anda perlu mengenali akunnya.
Secara internal, pencocokan lintas perangkat TRACIO (deteksi fanout, baseline perilaku ATO) memakai hash satu arah terpisah yang dibatasi per environment atas linkedId — tidak pernah nilai mentahnya. Jadi logika pencocokan tidak pernah bergantung pada nilai polos dan tidak mengeksposnya di luar dasbor dan webhook Anda sendiri.
Karena itu linkedId sebaiknya berupa ID internal yang tak bermakna, bukan alamat email atau nama (lihat Aturan): nilainya terlihat oleh Anda sebagai pengidentifikasi akun, jadi tidak seharusnya membawa informasi pribadi lebih banyak daripada yang sudah Anda miliki.
s.js (atau permintaan identifikasi dari agent) memuat parameter k= sekaligus lid=.linkedId belum terintegrasi, di sana muncul pemberitahuan penyiapan; pemberitahuan itu hilang dalam beberapa menit setelah permintaan pertama yang membawa lid=.Begitu linkedId mengalir, TRACIO membuka: