Skip to Content
Документация для разработчиковОтслеживание конверсийLeadsAuth0
💡

Отслеживание конверсий доступно на тарифе Business и выше .

В отслеживании конверсий событие lead — это действие, которым пользователь показывает интерес к продукту:

  • зарегистрировался;
  • записался на демо;
  • подписался на рассылку.

Событие лида задаёт личность клиента и ссылку, по которой он пришёл: все его дальнейшие действия (покупка, апгрейд тарифа) атрибутируются той же ссылке.

В этом руководстве мы сосредоточимся на отслеживании регистраций новых пользователей для SaaS-приложения, использующего Auth0 для аутентификации.

Что нужно до начала

Сначала включите отслеживание конверсий для ссылок: без него клик не связывается с последующими событиями лида и продажи.

💡

Для ссылок партнёрской программы шаг можно пропустить — RevRoute включает отслеживание конверсий у них автоматически.

Для всего воркспейса. Откройте Настройки → Аналитика и включите переключатель Отслеживание конверсий в шапке страницы — он управляет настройкой на уровне воркспейса. Отслеживание включится у всех ссылок, созданных после этого.

Для отдельной ссылки. Откройте конструктор ссылки и включите переключатель Отслеживание конверсий — внутри конструктора он же дёргается горячей клавишей C.

Через API. Передайте trackConversion: true при создании или обновлении ссылки (по умолчанию — false):

curl -X POST "https://api.revroute.ru/links" \ -H "Authorization: Bearer dub_xxxxxx" \ -H "Content-Type: application/json" \ -d '{ "url": "https://example.com", "trackConversion": true }'

Затем установите на сайт клиентский скрипт RevRoute — он фиксирует клик и сохраняет его идентификатор, без которого события лида не к чему привязать.

Клиентский скрипт RevRoute отдаётся с нашего домена — npm-пакеты ставить не нужно. Скрипт находит в URL параметр rr_id, сохраняет его в first-party cookie rr_id на вашем домене (90 дней) и по нему связывает будущие конверсии с исходной ссылкой.

Вставьте тег в секцию <head> каждой страницы сайта:

<script defer src="https://app.revroute.ru/analytics/script.js"></script>

В Next.js (App Router) — через next/script в корневом layout:

import Script from "next/script"; export default function RootLayout({ children }) { return ( <html lang="ru"> <body>{children}</body> <Script defer src="https://app.revroute.ru/analytics/script.js" /> </html> ); }
💡

Варианты скрипта (site visit, outbound domains, клиентские конверсии) и все его атрибуты data-* описаны в разделе Варианты скрипта.

📝

Проверить установку можно двумя способами:

  1. Откройте консоль браузера и введите _revRouteAnalytics — если скрипт установлен, в консоли появится объект.
  2. Добавьте к адресу сайта параметр ?rr_id=test и убедитесь, что в браузере появился cookie rr_id.

Если оба пункта не сработали, проверьте, что:

  • тег скрипта стоит в секции <head> страницы;
  • кеш CDN сброшен, если сайт отдаётся через CDN.

Серверный клиент RevRoute

Примеры ниже используют официальный TypeScript-SDK. Он ставится из npm под именем dub — форк RevRoute отдельного пакета не публикует, поэтому в SDK обязательно указывается наш serverURL, иначе запросы уйдут в api.dub.co.

npm install dub
import { Dub } from "dub"; export const dub = new Dub({ token: process.env.REVROUTE_API_KEY, // секретный ключ dub_* из настроек воркспейса serverURL: "https://api.revroute.ru", // без него SDK пойдёт в api.dub.co });
⚠️

Секретный ключ (dub_*) держите в переменных окружения и не отдавайте в браузер. Ключ создаётся в разделе API-ключей .

💡

SDK не обязателен: /track/lead и /track/sale — обычные HTTPS-эндпоинты, их можно вызвать из любого языка (см. Track lead).

Настройка Auth0

Далее настройте Auth0 для отслеживания событий конверсий лидов.

Вот как это работает в двух словах:

  1. В функции afterCallback при входе проверьте, новый ли это пользователь.
  2. Если пользователь новый — проверьте, есть ли cookie rr_id.
  3. Если cookie есть — отправьте событие лида в Revroute через dub.track.lead.
  4. Удалите cookie rr_id.
import { handleAuth, handleCallback, type Session } from "@auth0/nextjs-auth0"; import { cookies } from "next/headers"; import { dub } from "@/lib/dub"; const afterCallback = async (req: Request, session: Session) => { const userExists = await getUser(session.user.email); if (!userExists) { createUser(session.user); // check if rr_id cookie is present const clickId = cookies().get("rr_id")?.value; if (clickId) { // send lead event to Revroute await dub.track.lead({ clickId, eventName: "Sign Up", customerExternalId: session.user.id, customerName: session.user.name, customerEmail: session.user.email, customerAvatar: session.user.image, }); // delete the rr_id cookie cookies().set("rr_id", "", { expires: new Date(0), }); } return session; } }; export default handleAuth({ callback: handleCallback({ afterCallback }), });

Поля запроса POST /track/lead:

ПолеОбяз.Описание
clickIdдаИдентификатор клика, к которому привязывается лид. Читается из cookie rr_id. Для отложенного лида допустима пустая строка — тогда клик берётся у клиента, найденного по customerExternalId.
eventNameдаНазвание события (например, Sign up). Оно же связывает лид с последующей продажей через leadEventName в /track/sale.
customerExternalIdдаИдентификатор клиента в вашей системе. По нему атрибутируются все будущие события этого клиента.
discountCodeнетПромокод партнёра, если клиент пришёл без клика по ссылке. Если переданы и clickId, и discountCode, приоритет у clickId.
customerNameнетИмя клиента. Если не передать, сгенерируется случайное.
customerEmailнетEmail клиента.
customerAvatarнетURL аватара клиента.
modeнетasync (по умолчанию) — не блокировать запрос; wait — дождаться записи события; deferred — отложить создание лида до следующего запроса.
eventQuantityнетЧисловое значение события (например, количество мест в триале): лид будет засчитан столько раз.
metadataнетПроизвольные данные события, до 10 000 символов в JSON.

Где смотреть конверсии

После настройки все отслеженные конверсии видны в аналитике воркспейса — в трёх представлениях:

  • График по времени — клики, лиды и продажи в динамике: Аналитика .
  • Воронка — конверсия и отвал на каждом шаге (клики → лиды → продажи): Аналитика в режиме воронки .
  • Поток событий — каждое событие конверсии по всем ссылкам воркспейса в реальном времени: События .
Last updated on