Здесь — самые частые причины пропущенных или неверных данных конверсий. Базовая механика — в Как работает атрибуция.
Пропущенные клики
Клик произошёл (видно в логах сервера), но не появился в дашборде RevRoute.
Чеклист
- Был ли клик по вашей короткой ссылке? Прямые визиты на destination не трекаются. Считаются только запросы через
revroute.ru/<key>или ваш брендированный домен. - Не архивирована/не отключена ли ссылка? Архивированные ссылки редиректят, но не инкрементят счётчики. Проверьте
Ссылки → фильтр Archived. - Был ли клик от бота? IP датацентров и известные bot-user-agent’ы пишутся, но исключаются из зачитываемых кликов. Откройте Events, найдите по timestamp, смотрите флаг
bot. - Правильный ли диапазон дат? Дашборд по умолчанию — последние 7 дней. Переключите на “Всё время” или конкретную дату.
Проверка через curl
curl -I https://revroute.ru/your-keyЗдоровый редирект возвращает 302 с заголовком location: на destination. 404 означает, что ключа нет. 410 Gone — ссылка архивирована.
Пропущенные лиды
Пользователь зарегистрировался, но lead-событие не появилось.
Чеклист
- Был ли cookie
dub_id? Lead-событие нужен либоclickId, либо клиент с предыдущим кликом. Откройте DevTools → Application → Cookies и проверьтеdub_id. - Server-side или client-side трекаете? Server-side
/track/leadтребуетclickId; client-side/track/lead/clientчитает cookie. Смешивание в неверном порядке тихо упадёт. - Согласован ли
customerExternalId? Последующие события джойнятся по этому id. Используйте стабильное значение — обычно внутренний user-id. - Правильный ли эндпоинт?
https://api.revroute.ru/track/lead(server-side, Bearer API-ключ) vshttps://api.revroute.ru/track/lead/client(publishable-ключ, браузер). - Не дедупликация ли срабатывает? Та же связка
customerExternalId+eventNameзаписывается один раз. Если вы фаерили это раньше — второй вызов вернёт200, но не создаст новый lead. Для multi-stage-воронок используйте разныеeventName.
Пропущенная комиссия
Продажа протрекалась, но комиссия партнёру не создалась.
Чеклист
- Привязан ли клиент к клику партнёра? Откройте запись клиента — вкладка Атрибуция показывает партнёра. Если пусто — кликов от партнёрской ссылки не было.
- Продажа в окне атрибуции? По умолчанию 90 дней с клика. Продажи вне окна не создают комиссий.
- Зачислён и активен ли партнёр? Приостановленные партнёры не получают комиссии. Проверьте
Партнёры → <partner> → Статус. - Покрывает ли правило награды этот тип события? Reward-правила могут требовать минимальную сумму, конкретные продукты, конкретные валюты. Откройте
Программа → Наградыи проверьте условия. - Включен ли conversion hold? Если включили
hold_minutesв правилах фрода — комиссии в очереди; проверьте вкладку Pending.
CORS-ошибки
Консоль браузера показывает:
Access to fetch at 'https://api.revroute.ru/track/lead/client' from origin 'https://yoursite.com'
has been blocked by CORS policyПричина
У publishable-ключа есть список разрешённых origins. Запрос пришёл с домена, которого нет в списке, API отказывает без Access-Control-Allow-Origin.
Решение
Откройте настройки аналитики
Зайдите в /<workspace>/settings/analytics?step=connect.
Добавьте origin
Добавьте точно тот origin, который указан в ошибке браузера (scheme + host + port — без пути, без trailing slash). Например https://yoursite.com или https://app.yoursite.com. Для локальной разработки добавьте http://localhost:3000.
Подождите кэш
Дайте до 60 секунд на распространение. Hard-reload вкладки.
Не используйте wildcard * в продакшене. Любой смог бы отправлять фейковые события с любого origin. Whitelist’те только реальные домены.
CORS только в продакшене
Если localhost работает, а prod падает — в списке origins нет вашего prod-домена. dev-origin и prod-origin должны быть оба добавлены.
Analytics-скрипт не загружается
DevTools → Network → reload. Если запрос за analytics-скриптом возвращает 404 или вообще не стартует:
- Script-tag неверен — проверьте, что
srcсовпадает с тем, что показано в/<workspace>/settings/analytics?step=connect. - Content-blocker мешает — попробуйте в incognito без расширений.
- На странице Content-Security-Policy без
script-src https://app.revroute.ru(или другого хоста, где скрипт).
Когда ничего не помогает
Воспроизведите событие напрямую через API:
curl -X POST https://api.revroute.ru/track/lead \
-H "Authorization: Bearer $REVROUTE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"clickId": "yNrYm0F6r1KMnq6N",
"eventName": "Sign Up",
"customerExternalId": "user_test_123",
"customerEmail": "test@example.com"
}'Если возвращает 200 и lead появляется — платформа в порядке, проблема в вашей клиентской интеграции. Если 4xx — тело содержит error.message, который точно скажет, что не так.
См. также: Ошибки API, Лучшие практики атрибуции.