Перейти к содержимому
LinkProfit

Конверсии и выручка

Относите заказы к тому клику, который их принёс: подписанный идентификатор клика, окно атрибуции, цели, серверный API, скрипт для браузера и доставка наружу.

Обновлено 14 августа 2026 г.

Отслеживание конверсий замыкает круг между кликом и деньгами, которые он принёс. Редиректор выдаёт подписанный идентификатор при каждом редиректе; ваш сервер или ваша страница благодарности возвращает его вместе с заказом; каждая разбивка, которую вы и так читаете, получает колонку выручки.

Конверсии — платная возможность. Когда тариф их не включает, редиректор вовсе перестаёт выдавать идентификаторы, а оба пути приёма отклоняют конверсии с ограничением тарифа.

Идентификатор клика

При каждом редиректе воркер выдаёт токен и:

  • добавляет его к адресу назначения под именем параметра, которое выбираете вы (lp_cid по умолчанию);
  • записывает его в собственный cookie на вашем домене для редиректов, срок жизни — 90 дней.

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

Токен подписан и привязан к арендатору: идентификаторы рабочего пространства и партнёра входят в подписанные данные, поэтому токен, выданный на ссылке одного клиента, отклоняется в рабочем пространстве другого клиента ровно так же, как подделка. Персональных данных он не несёт — момент клика, ссылка, вариант split-теста, страна, класс устройства, источник трафика и признак подозрительного трафика.

И имя параметра, и переключатель выдачи живут в разделе Конверсии → Настройки. Изменение любого из них немедленно переписывает кешированную конфигурацию каждой ссылки.

Окно атрибуции

Конверсия, пришедшая позже окна, отклоняется с кодом attribution_expired — отдельным от invalid_click_id, поэтому интеграция отличает «слишком поздно» от «сломанный идентификатор» без угадывания. Окно — настройка отдельного рабочего пространства.

Цели

Цель — это именованный исход: purchase, signup, trial. Цели могут нести значение по умолчанию и валюту, используемые, когда конверсия приходит без суммы. Цель, на которую сослалась конверсия и которой ещё нет, создаётся при первом использовании, поэтому интеграцию не приходится настраивать в двух местах.

Отправка конверсий

С вашего сервера

curl -X POST https://api.linkprofit.com/v1/conversions \
  -H "Authorization: Bearer lp_live_..." \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order-10241" \
  -d '{
    "click_id": "1.eyJ1aWQiOiJ...",
    "goal": "purchase",
    "order_id": "10241",
    "amount_cents": 4999,
    "currency": "usd"
  }'

Ключу нужна область действия conversions:write. Суммы — целые минимальные единицы: центы, пенсы, копейки. Сумма 49.99 отклоняется с указанием поля, а не округляется молча, потому что правило округления, придуманное посреди платёжного пути, — это и есть способ тихо перестать сводить отчёты по выручке со счетами.

Из браузера

Воркер отдаёт небольшой скрипт с вашего собственного домена для редиректов:

<script src="https://go.example.com/cv.js" defer></script>
<script>
  window.lpConversion({ goal: 'purchase', orderId: '10241', amountCents: 4999, currency: 'usd' });
</script>

Скрипт читает идентификатор из адреса или из собственного cookie. Ни в одном звене цепочки нет стороннего хоста, и это одновременно свойство приватности и свойство white-label: страница вашего клиента не загружает ничего, что упоминало бы платформу.

Дубликаты

Дедупликация — это одна атомарная вставка, а не чтение с последующей записью. Повторные доставки одного и того же order_id создают одну конверсию и возвращают её помеченной как дубликат — именно это делает повтор неудавшегося webhook безопасным, а не опасным.

Подозрительные конверсии

Вердикт классификатора едет внутри токена, поэтому конверсия, отнесённая к датацентру или прокси, помечается подозрительной в момент записи. В отчётах она появляется отдельным сегментом, а не удаляется и не подмешивается молча. «Двести конверсий» и «двести конверсий, сорок из которых — из одного хостингового диапазона в течение часа» — это разные факты.

Куда конверсии идут дальше

  • Подписанное событие webhook conversion.created отправляется обычным механизмом webhook: очередь, подпись, расписание повторов, догоняющий cron.
  • Настроенные рекламные интеграции получают конверсию через очередь доставки со счётчиком попыток, который увеличивается до исходящего вызова, документированным backoff и отметкой об отказе вместо бесконечных повторов.

Месячная квота

Тариф может ограничивать число конверсий, принимаемых за календарный месяц, отсчитываемый в UTC. За лимитом приём отвечает quota_exceeded — код, отличный от ограничения тарифа, поэтому разница между «нет в вашем тарифе» и «израсходовано в этом месяце» видна без обращения в поддержку.