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

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

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

2026
PHP 8 MySQL Canvas API + WebGL Chart.js ip-api.com Beget shared
Кросс-доменный трекер для девелопера
Проблема

Пользователь заходил с рекламы на лендинг посёлка, уходил, через неделю возвращался на корпсайт и оставлял заявку. Метрика видела второй визит как «прямой трафик» — Директ не получал атрибуцию. Маркетолог не понимал, какой посёлок и канал реально работает. Каждый лендинг на отдельном домене, 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 КБ: одна строка подключения, один токен привязывает все сайты к аккаунту клиента. Асинхронно, не блокирует загрузку. Дедупликация: повторный визит на ту же страницу в 30 сек не записывается. Поддержка SPA: перехват history.pushState + popstate.

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

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

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

04

Дашборд journeys.php

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

Дашборд journeys.php
05

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

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

06

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

clients (аккаунты и токены), 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-дашборд показывает динамику визитов и конверсий.

Результат

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

Частые вопросы

Атрибуция - определение рекламного источника, который привёл к заявке. Стандартная Метрика привязывает конверсию к последнему визиту, а не к первому касанию. Если человек пришёл с рекламы, ушёл, а через неделю вернулся напрямую и оставил заявку - Директ не получает атрибуцию, хотя именно он привёл клиента.

Метрика не отслеживает переходы между разными доменами. Пользователь попал на лендинг с Директа, через несколько дней вручную набрал адрес корпсайта - это запишется как прямой трафик. Реальный first-touch источник теряется, и данные по эффективности каналов искажаются.

Через собственный трекер на основе fingerprinting: при первом визите генерируется uid по параметрам браузера и устройства, который сохраняется на сервере. При заявке на любом из связанных доменов uid передаётся в форму автоматически. Менеджер видит полный путь: первый сайт, рекламный источник, дату первого контакта.

Следующий кейс

Лендинг личного бренда специалиста по рекламе

Читать
Все кейсы