Zeno
Увійти

Один visitor ID, як би вони не поверталися

Агент перетворює понад 100 сигналів пристрою на visitor ID на сервері. Режим інкогніто, очищені cookie та оновлення браузера не створюють нового visitor.

Що може змінити повернений відвідувач

ID — це пристрій, а не cookie і не з'єднання.

Вони повертаються зТой самий ідентифікатор відвідувачаЧому
Приватне або інкогніто вікноТой самийСховище порожнє, а обладнання ні.
Файли cookie та дані сайту очищеноТой самийАпаратний якір і відбиток все ще збігаються.
Оновлення браузераТой самийНова версія змінює деякі сигнали; нечітке порівняння їх компенсує.
VPN або нова IP-адресаТой самийIP не є частиною ID. Натомість він відображається у flags.
Новий обліковий запис на тому ж пристроїТой самийТак виглядають множинні облікові записи: один пристрій, багато external IDs.
Інший браузер на тому ж пристроїНовий відвідувачКожен браузер відображає по-різному, тож це інший відбиток.
Інший пристрійНовий відвідувачID — це пристрій.

Збіг за порядком

Кожна ідентифікація перевіряється серед відвідувачів проєкту, від найточнішого збігу вниз, а подія показує, який спрацював.

Збережений ID
ID, який агент зберіг у сховищі та в first-party cookie, поки обладнання збігається.
Апаратний якір
Графіка, ядра, пам'ять і платформа, які не змінюються після оновлення браузера або очищення сховища.
Відомий відбиток
Точно ті самі сигнали, що вже траплялися у вашому проєкті.
Нечітке співставлення
Компонент за компонентом з нещодавніми відвідувачами на тому ж обладнанні, з запасом над наступним найкращим.
Враховує шум
Canvas та аудіо виключаються, коли браузер їх рандомізує, наприклад Brave та приватні вікна.
login.ts
import { start } from 'zeno-id'

const agent = start({ publicKey: 'pk_...' })

// A stable ID per device, and whether it was seen before.
const { visitorId, returning, requestId } = await agent.get({
	externalId: user.id,
	action: 'login',
})

Понад 100 сигналів

Зібрано з нуля, без мережевих адрес WebRTC.

  • Рендеринг

    Canvas, WebGL постачальник, renderer, розширення та параметри, адаптер WebGPU і аудіо.

  • Пристрій

    Екран, глибина кольору, співвідношення пікселів, ядра, пам'ять, дотик, платформа, client hints, шрифти та голоси.

  • Налаштування

    Часовий пояс, мови, календар, медіа-налаштування, квота сховища та стани дозволів.

  • Цілісність

    Залишки автоматизації, підмінені нативні функції та значення, що відрізняються між сторінкою, воркером і iframe.

Дивіться, що позначають сигнали →

Чесно про обмеження

ID, на основі якого можна ухвалювати рішення, адже він показує, наскільки він достовірний.

  • Один ID на проєкт

    ID хешується разом із вашим проєктом, тож той самий пристрій має інший ID в інших місцях. Ніхто не може відстежувати ваших відвідувачів між сервісами.

  • Довіра до кожної події

    Наскільки впевнене співпадіння, від 0 до 1. Нечітке співпадіння на поширеному пристрої отримує нижчий бал, ніж збережений ID на рідкісному обладнанні.

  • Ознака, а не доказ

    Однакові пристрої, наприклад та сама модель телефону з тією самою ОС, можуть мати спільний ID. Перевіряйте спільний ID разом із external ID, прапорцями та з'єднанням.

Ідентифікуйте першого відвідувача вже сьогодні

Встановіть агента, прочитайте подію на своєму сервері, і готово.