Перейти к содержимому
PR4WEB
АналитикаАтрибуцияНедвижимость05.2026

Кросс-доменный трекер для девелопера

First-touch атрибуция без cookies через 6 сайтов

PHP 8MySQLCanvas API + WebGLChart.jsip-api.comBeget shared
Сайтов в системе
6
все лендинги + корпсайт
Заявок с uid атрибуцией
100%
было 0% — только прямой трафик
Вес JS-тега
~4 КБ
не блокирует загрузку
Зависимость от cookies
нет
fingerprinting

Контекст и проблема

Пользователь заходил с рекламы на лендинг посёлка, уходил, через неделю возвращался на корпсайт и оставлял заявку. Метрика видела второй визит как «прямой трафик» — Директ не получал атрибуцию. Маркетолог не понимал, какой посёлок и канал реально работает. Каждый лендинг на отдельном домене, cookies между сайтами не передаются, стандартный cross-domain tracking ломается при переходе через органику.

Что нужно было сделать

Связать первое посещение любого из 6 сайтов с итоговой заявкой. Показать полный путь пользователя: лендинг A (откуда пришёл) → корпсайт (где заявка). Сохранять first-touch атрибуцию без cookies и без зависимости от сторонних платформ.

Как решал

01

Стратегия — Fingerprinting вместо cookies

Canvas + WebGL + параметры экрана + язык + ядра CPU + часовой пояс → fingerprint → сервер → постоянный uid (5-значный). Отклонены: URL-параметр ?uid (ломается при прямом вводе), iframe-пинг (блокируется Safari ITP), Метрика cross-domain (нет кастомных отчётов, нет API для CRM).

02

Единый трекер — 1 строка на все сайты

JS-тег ~4 КБ: `<script src="https://y-r-a.ru/t/tracker.js?t=ТОКЕН" defer></script>`. Один токен привязывает все сайты к аккаунту клиента. Асинхронно, не блокирует загрузку. Дедупликация: повторный визит на ту же страницу в 30 сек не записывается. Поддержка SPA: перехват history.pushState + popstate.

03

Запись визитов и передача uid в формы

POST /api/visit.php: uid, URL, title, реферер, UTM, устройство, страна, IP. Любая форма с data-tracker-form автоматически получает скрытое поле tracker_uid — менеджер видит uid в письме с заявкой.

04

Дашборд journeys.php

Показывает только пользователей, посетивших несколько сайтов. Столбцы: первый сайт, utm_source, цепочка переходов, последний источник, дней между касаниями. Пример: [Посёлок Сосновый] (yandex/cpc) → [Корпсайт] (прямой) — прямое доказательство работы рекламы.

05

Виджет «Номер подарка»

На лендинге: `<div data-tracker-gift>` показывает uid пользователю. При звонке клиент называет номер → менеджер мгновенно открывает историю. Снижает барьер идентификации: клиент сам называет свой uid без объяснений.

06

Схема БД и агрегаты

clients (аккаунты и токены), niches, sites (domain, niche_id), fingerprints (fingerprint → uid, глобально), visits (uid, client_id, site_id, url, utm, device, country), events (конверсии), daily_stats (агрегаты, cron 00:05). Chart.js-дашборд показывает динамику визитов и конверсий.

Результат

6Сайтов в системе
100%Заявок с uid атрибуцией
~4 КБВес JS-тега
нетЗависимость от cookies

Инструмент закрывает слепое пятно стандартной аналитики — связь между первым рекламным касанием на одном сайте и заявкой на другом. Масштабируется на любое количество сайтов без изменений инфраструктуры: один токен → неограниченное число доменов.

Скорее всего, я уже решал похожую задачу

Опишите задачу — разберусь за час