Эта функция доступна только на тарифных планах Business и выше .
Мощная платформа атрибуции Revroute позволяет понять, насколько эффективно ваши ссылки конвертируются в реальных пользователей и доход.
В этом руководстве мы узнаем, как отслеживать события конверсий с Revroute, используя клиентское отслеживание.
Клиентское отслеживание конверсий имеет следующие ограничения:
- Блокировщики рекламы — пользователи с блокировщиками рекламы могут предотвратить загрузку скриптов отслеживания.
- JavaScript отключён — события не будут отслеживаться, если у пользователей отключён JavaScript.
- Проблемы с сетью — неудачные сетевые запросы не будут автоматически повторяться.
- Вопросы конфиденциальности — некоторые пользователи могут блокировать клиентское отслеживание по соображениям конфиденциальности.
Для более точного отслеживания конверсий рассмотрите использование серверного отслеживания конверсий.
Шаг 1: Включите отслеживание конверсий для ваших ссылок
Сначала включите отслеживание конверсий для ссылок: без него клик не связывается с последующими событиями лида и продажи.
Для ссылок партнёрской программы шаг можно пропустить — 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
}'Шаг 2: Установите скрипт Revroute Analytics
Разрешите домен вашего сайта
Клиентские события принимаются только с разрешённых хостов — это защищает publishable key от использования на чужом сайте.
Откройте Настройки → Аналитика и добавьте домен сайта в список Разрешённые хосты:
example.com— только этот домен;*.example.com— все поддомены, но не самexample.com.
На время локальной отладки можно добавить localhost — не забудьте убрать его
перед запуском в прод.
Создайте publishable key
Там же, в шаге Установите клиентский скрипт RevRoute, включите переключатель
Отслеживание конверсий и сгенерируйте publishable key — ключ вида
dub_pk_.... В отличие от секретного ключа (dub_*), его можно отдавать в
браузер.
Установите скрипт с ключом
Клиентское отслеживание конверсий работает в отдельном варианте скрипта —
script.conversion-tracking.js. Ключ передаётся атрибутом
data-publishable-key:
<script
defer
src="https://app.revroute.ru/analytics/script.conversion-tracking.js"
data-publishable-key="dub_pk_xxxxxxxx"
></script>Без data-publishable-key скрипт продолжит считать клики, но события лидов и
продаж с клиента отправляться не будут.
Скрипт добавляет в window.revRouteAnalytics методы trackLead и trackSale,
которыми и отправляются события.
Шаг 3: Отслеживайте события лидов
Хотите отслеживать продажи без предварительного события лида? Передайте
clickId напрямую вместе с данными клиента при вызове track/sale —
подробности в API Reference.
После установки скрипта события лидов отправляются вызовом
revRouteAnalytics.trackLead — обычно со страницы «Спасибо» или из обработчика
формы.
<script>
const params = new URLSearchParams(window.location.search);
const email = params.get("email");
if (email) {
window.revRouteAnalytics.trackLead({
eventName: "Sign Up",
customerExternalId: email,
customerEmail: email,
customerName: params.get("name") || undefined,
});
}
</script>В React то же самое — в обработчике успешной отправки формы:
function SignUpForm() {
const handleSubmit = async (e) => {
e.preventDefault();
await createAccount({ name, email }); // ваш запрос к бэкенду
// событие отправляем только после успешного ответа бэкенда
window.revRouteAnalytics.trackLead({
eventName: "Sign Up",
customerExternalId: email,
customerEmail: email,
customerName: name,
});
};
return <form onSubmit={handleSubmit}>{/* поля формы */}</form>;
}clickId передавать не нужно: скрипт сам подставляет его из cookie rr_id.
Остальные поля события совпадают с серверным /track/lead — их список см. в
Track lead.
Отправляйте событие только после того, как бэкенд подтвердил регистрацию. Иначе в аналитику попадут лиды, которых на самом деле не было.
Шаг 4: Отслеживайте события продаж
Событие продажи отправляется тем же способом — вызовом
revRouteAnalytics.trackSale после успешной оплаты:
<script>
window.revRouteAnalytics.trackSale({
customerExternalId: "cus_oFUYbZYqHFR0knk0MjsMC6b0",
amount: 499000, // сумма в копейках: 4 990 ₽
currency: "RUB",
eventName: "Purchase",
paymentProcessor: "yookassa",
invoiceId: "inv_8f2b1c", // ключ идемпотентности: одна продажа на один счёт
});
</script>Что важно знать про поля:
amount— целое число в минорных единицах валюты (копейки для рублей).currency— код ISO 4217; суммы хранятся в пересчёте на USD по текущему курсу.paymentProcessor—yookassa,stripe,shopify,polar,paddle,revenuecatилиcustom(по умолчанию).invoiceId— идентификатор счёта; повторный вызов с тем же значением не создаст вторую продажу.
Клиентский вызов легко подделать из браузера. Для денежных событий надёжнее серверное отслеживание: сумма приходит с вашего бэкенда, а не из кода страницы.
Хотите отслеживать возвраты? Используйте эндпоинт PATCH /commissions/{id}, чтобы пометить
соответствующую комиссию как refunded, когда webhook вашего биллинга
присылает событие возврата.
Шаг 5: Просмотрите ваши конверсии
Вот и всё — настройка завершена! Теперь вы можете наблюдать за ростом дохода от конверсий. Мы предоставляем 3 различных представления для анализа ваших конверсий:
- График по времени — клики, лиды и продажи в динамике: Аналитика .
- Воронка — конверсия и отвал на каждом шаге (клики → лиды → продажи): Аналитика в режиме воронки .
- Поток событий — каждое событие конверсии по всем ссылкам воркспейса в реальном времени: События .