Skip to Content
💡

Эта функция доступна только на тарифных планах Business и выше .

Лучшая в своём классе интеграция Revroute со Stripe  отслеживает события оплаты в Stripe и фиксирует их как продажи в Revroute.

A diagram showing how lead events are tracked in the conversion funnel

Вот события, которые Revroute отслеживает:

В этом руководстве мы узнаем, как установить и настроить интеграцию Revroute со Stripe для отслеживания событий конверсий продаж.

Установка интеграции Revroute со Stripe

Найдите Revroute на маркетплейсе приложений Stripe

Перейдите к интеграции Revroute со Stripe  на маркетплейсе приложений Stripe.

The Revroute integration page on the Stripe App Marketplace

Установите приложение Stripe

В правом верхнем углу нажмите Install app, чтобы установить приложение Revroute в вашем аккаунте Stripe.

The Stripe integration installation flow

💡

Также вы можете сначала установить приложение Stripe в песочнице Stripe , чтобы протестировать весь процесс без использования реальных денег.

После установки приложения нажмите Continue to app settings, чтобы завершить установку.

Continue to app settings

Подключите Stripe к рабочему пространству Revroute

На странице настроек приложения нажмите Connect workspace, чтобы подключить ваш аккаунт Stripe к рабочему пространству Revroute.

Connect Stripe to Revroute

Вы будете перенаправлены на поток OAuth Revroute, где сможете выбрать рабочее пространство Revroute для подключения к аккаунту Stripe.

Select the Revroute workspace you want to connect to your Stripe account

После нажатия Authorize вы будете перенаправлены обратно на страницу настроек приложения Revroute в Stripe, где увидите, что интеграция установлена.

The Stripe integration is now installed

После установки интеграции Revroute будет автоматически отслеживать следующие события в Stripe и фиксировать их как продажи в Revroute:

  • customer.created: при создании нового клиента
  • customer.updated: при обновлении данных клиента
  • checkout.session.completed: когда клиент завершает сессию оформления заказа
  • invoice.paid: при оплате счёта (для отслеживания периодических подписок)
  • charge.refunded: при возврате платежа (для аннулирования комиссий партнёров)

Отслеживание продаж через интеграцию Revroute со Stripe

В зависимости от вашей настройки, существует несколько способов отслеживания продаж через интеграцию Revroute со Stripe.

💡
📝

При использовании Stripe Payment Links события лидов и продаж отслеживаются, но вебхуки лидов и вознаграждения за лидов генерироваться не будут.

Если вы используете Stripe Payment Links , просто добавьте параметр запроса ?dub_client_reference_id=1 к вашей ссылке Stripe Payment Link при сокращении её в Revroute.

Затем, когда пользователь кликнет по сокращённой ссылке, Revroute автоматически добавит уникальный идентификатор клика как параметр запроса  client_reference_id к платёжной ссылке.

Stripe payment link with Revroute click ID

Наконец, когда пользователь завершит оформление заказа, Revroute автоматически отследит событие продажи и обновит customerExternalId клиента его идентификатором клиента Stripe для дальнейшего использования.

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

  1. Установите скрипт Revroute Analytics, который автоматически обнаруживает dub_id в URL и сохраняет его как first-party cookie на вашем сайте.

  2. Затем получите и добавьте значение dub_id как параметр client_reference_id к платёжным ссылкам на вашей странице тарифов / кнопке CTA (с префиксом dub_id_).

    https://buy.stripe.com/xxxxxx?client_reference_id=dub_id_xxxxxxxxxxxxxx

Вариант 2: Использование Stripe Checkout (рекомендуется)

Если у вас есть собственный поток оформления заказа, использующий API checkout.sessions.create Stripe, вам нужно связать объект клиента Stripe  с уникальным идентификатором пользователя в вашей базе данных (который мы отследили на шаге отслеживания конверсий лидов).

Это позволит Revroute автоматически отслеживать события покупок из Stripe и связывать их с исходным событием клика (и, соответственно, со ссылкой, по которой пришёл пользователь).

Сначала выполните следующие предварительные требования:

  1. Установите интеграцию Revroute со Stripe
  2. Установите скрипт Revroute Analytics
  3. Установите серверный SDK Revroute

Затем при создании сессии оформления заказа  передайте уникальный ID пользователя в вашей базе данных как значение dubCustomerExternalId в поле metadata.

import { stripe } from "@/lib/stripe"; const user = { id: "user_123", email: "user@example.com", teamId: "team_xxxxxxxxx", }; const priceId = "price_xxxxxxxxx"; const stripeSession = await stripe.checkout.sessions.create({ customer_email: user.email, success_url: "https://app.domain.com/success", line_items: [{ price: priceId, quantity: 1 }], mode: "subscription", client_reference_id: user.teamId, metadata: { dubCustomerExternalId: user.id, // the unique user ID of the customer in your database }, });

Таким образом, когда клиент завершит сессию оформления заказа, Revroute автоматически свяжет детали сессии (сумму счёта, валюту и т.д.) с клиентом — и, соответственно, с исходным событием клика.

⚠️

Если вы используете гостевое оформление  (например, с mode: "payment"), поле customer в событии вебхука checkout.session.completed будет null, и продажи не будут отслеживаться в Revroute.

Чтобы исправить это, установите customer_creation в always при создании сессии оформления заказа :

const stripeSession = await stripe.checkout.sessions.create({ // ... other options customer_creation: "always", // ensures a Stripe customer is created });

Вариант 3: Использование Stripe Customers

Если вы не используете поток создания сессии оформления заказа Stripe, вы также можете передать ID пользователя и идентификатор события клика (dub_id) в потоке создания клиента Stripe .

Сначала выполните следующие предварительные требования:

  1. Установите интеграцию Revroute со Stripe
  2. Включите отслеживание конверсий для ваших ссылок
  3. Установите скрипт Revroute Analytics

Затем при создании клиента Stripe  передайте уникальный ID пользователя в вашей базе данных как значение dubCustomerExternalId в поле metadata.

import { stripe } from "@/lib/stripe"; const user = { id: "user_123", email: "user@example.com", teamId: "team_xxxxxxxxx", }; const dub_id = req.headers.get("dub_id"); await stripe.customers.create({ email: user.email, name: user.name, metadata: { dubCustomerExternalId: user.id, dubClickId: dub_id, }, });

Также вы можете передать значения dubCustomerExternalId и dubClickId в поле metadata при обновлении клиента Stripe :

import { stripe } from "@/lib/stripe"; const user = { id: "user_123", email: "user@example.com", teamId: "team_xxxxxxxxx", }; const dub_id = req.headers.get("dub_id"); await stripe.customers.update(user.id, { metadata: { dubCustomerExternalId: user.id, dubClickId: dub_id, }, });

Таким образом, когда клиент совершает покупку, Revroute автоматически свяжет детали покупки (сумму счёта, валюту и т.д.) с исходным событием клика.

📝

При использовании Stripe Customers события лидов и продаж отслеживаются, но вознаграждения за лидов генерироваться не будут.

Отслеживание бесплатных пробных периодов

Revroute поддерживает отслеживание бесплатных пробных периодов подписок  как событий лидов в Revroute. Это полезно для продуктов с бесплатными пробными периодами, поскольку вы можете захотеть отслеживать активации пробных периодов в рамках потока атрибуции.

Чтобы включить отслеживание бесплатных пробных периодов, перейдите в настройки интеграции Stripe и включите опцию Track Free Trials:

The Stripe integration settings page

Опционально вы также можете настроить интеграцию для отслеживания предоставленного количества  в подписке как отдельных событий лидов.

Это полезно, если у вас есть вознаграждение за лидов в вашей партнёрской программе  и вы хотите вознаграждать партнёров за каждую единицу подписки, которую приобретают их клиенты (например, $50 за лида/предоставленное место).

💡

Чтобы различать вручную отслеживаемые события лидов и события лидов бесплатного пробного периода для типов вознаграждений за лидов, используйте условие вознаграждения Customer Source для фильтрации событий free trial:

The lead reward free trial condition

Поддержка конвертации валют

Если вы используете функцию Stripe Adaptive Pricing , Revroute будет записывать сумму продажи в валюте вашего аккаунта Stripe:

// Stripe checkout.session.completed event payload { "id": "{{EVENT_ID}}", "object": "event", "type": "checkout.session.completed", "data": { "object": { "id": "{{SESSION_ID}}", "object": "checkout.session", "currency": "cad", "amount_subtotal": 2055, "amount_total": 2055, "currency_conversion": { "amount_subtotal": 1500, "amount_total": 1500, // this is the amount that Revroute will record "source_currency": "usd", // the currency of your Stripe account "fx_rate": "1.37" } } } }

Если вы не используете Stripe Adaptive Pricing, Revroute будет записывать сумму продажи в валюте по умолчанию вашего рабочего пространства Revroute. Это означает, что если вы передаёте другую валюту, она будет автоматически конвертирована в USD для единообразия отчётности — по актуальным курсам обмена.

// Stripe checkout.session.completed event payload { "id": "{{EVENT_ID}}", "object": "event", "type": "checkout.session.completed", "data": { "object": { "id": "{{SESSION_ID}}", "object": "checkout.session", "currency": "cad", "amount_subtotal": 2055, "amount_total": 2055 // this will be converted from CAD to USD } } }
📝

Валюта по умолчанию для всех рабочих пространств Revroute в настоящее время установлена как USD. В будущем мы добавим возможность настройки этого параметра.

Обработка налогов

При отслеживании конверсий продаж из Stripe Revroute автоматически исключает налоги из итоговой суммы продажи для обеспечения точной отчётности по доходам.

Для сессий оформления заказа Revroute вычисляет сумму продажи, вычитая сумму налога из общей суммы:

// Sale amount calculation for checkout sessions saleAmount = amount_total - total_details.amount_tax;

Для счетов Revroute использует поле total_excluding_tax, если оно доступно:

// Sale amount calculation for invoices saleAmount = total_excluding_tax ?? amount_paid;

Это гарантирует, что суммы продаж, записанные в Revroute, отражают фактический доход до вычета налогов, обеспечивая более точные метрики для:

  • Отслеживания и отчётности по доходам
  • Расчёта комиссий партнёров
  • Аналитики и метрик конверсий
📝

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

Просмотр результатов конверсий

Вот и всё — настройка завершена! Теперь вы можете наблюдать за ростом дохода от конверсий. Мы предоставляем 3 различных представления для анализа ваших конверсий:

Примеры приложений

github

Демо-приложение Revroute + Stripe

Полный пример на GitHub.

Last updated on