ID транзакции, дубли и корректировки конверсий
Как трекер по txid отличает повтор постбека от смены статуса и от исправления выплаты.
ID транзакции — номер сделки в партнёрской сети. Сеть передаёт его во входящем постбеке параметром txid или tid. По нему трекер решает, что делать с постбеком по клику, у которого конверсия уже есть: пропустить, обновить статус или исправить сумму.
Что считается одной конверсией
Конверсию определяет пара: ID клика и txid.
- Постбеки с одним ID клика и одним
txidотносятся к одной конверсии. - Тот же клик с другим
txid— отдельная конверсия. Для смены статуса сеть должна присылать прежнийtxid, для новой конверсии — другой. - Тот же
txidу другого клика — другая конверсия. - Если в запросе есть и
txid, иtid, берётсяtxid. - Значение сравнивается как есть, с учётом регистра.
- Незаменённый макрос в фигурных скобках, например
{txid}или{{txid}}, считается пустым значением.
Каждое изменение конверсии записывается новой версией. В отчётах и логах учитывается последняя версия.
Правила обработки
Трекер сравнивает постбек с последней версией конверсии с тем же txid. Статус сравнивается после сопоставления статусов.
| Что пришло | Что делает трекер | Исходящие S2S и CAPI |
|---|---|---|
Первый постбек с этим txid | Записывает конверсию | Отправляются |
| Тот же статус, та же выплата | Пропускает постбек | Не отправляются |
| Тот же статус, выплата не передана | Оставляет прежнюю выплату и пропускает постбек | Не отправляются |
| Тот же статус, другая выплата | Записывает новую версию с новой суммой | Не отправляются |
| Другой статус | Записывает новую версию с новым статусом | Отправляются |
lead или hold после sale | Пропускает постбек, продажа остаётся | Не отправляются |
На все эти постбеки трекер отвечает сети ok с кодом 200.
События уходят настроенным получателям: в S2S-постбеки источника и кампании и в Facebook Conversions API. В Facebook отправляются только статусы lead и sale.
Точный повтор
Постбек с тем же txid, статусом и выплатой, что у последней версии, — точный повтор. Он не создаёт вторую конверсию и не уходит получателям второй раз. Повтор без суммы тоже считается точным: прежняя выплата сохраняется.
В журнале Логи → Postbacks повтор виден по строке, где SUBID — ID клика:
Duplicate transaction for SUBID (status sale) — skippedСмена статуса
Постбек с тем же txid и другим статусом обновляет конверсию, например lead → sale, hold → sale, sale → rejected, rejected → sale. Трекер записывает новую версию и отправляет событие получателям.
- Если у типа конверсии снят флажок слать постбэк в источник, S2S по этому статусу не отправляется.
- Сумма берётся из этого же постбека по правилам выплаты. Если суммы в нём нет, прежняя не переносится: запишется 0 или выплата оффера.
Исправление выплаты
Постбек с тем же txid, тем же статусом и другой суммой исправляет выплату конверсии. В отчётах остаётся новая сумма. Получателям событие повторно не отправляется: статус не менялся.
payout=0— тоже исправление: выплата станет нулевой.- Постбек без суммы, с пустым значением или с суммой, которую не удалось разобрать, оставляет прежнюю выплату.
- Если у оффера указана выплата и снят флажок Выплата из параметра постбэка, сумма из постбека не используется и исправить её постбеком нельзя.
- Изменение выплаты в настройках оффера записанные конверсии не пересчитывает: повтор с тем же статусом сохраняет прежнюю сумму.
Что ещё считается исправлением
Новая версия без отправки получателям записывается также в двух случаях:
- сеть прислала другой собственный статус, который сопоставлен с тем же статусом трекера;
- в параметре
costпередан другой расход.
Если cost в повторном постбеке не передан, расход из прежней версии сохраняется.
Поздний lead или hold после sale
Если после sale приходит lead или hold с тем же txid, трекер пропускает постбек. Конверсия остаётся продажей, получателям ничего не отправляется. В журнале Логи → Postbacks появляется строка:
Late transaction status for SUBID — skippedПравило действует только для lead и hold. Статус rejected после sale принимается и переводит конверсию в отклонённые.
Курс валюты при повторах
Выплата пересчитывается в USD при приёме постбека, см. Валюты и курсы.
- Постбек с тем же
txidи в той же валюте пересчитывается по курсу, записанному в прежней версии конверсии. Смена статуса или суммы через несколько дней курс не меняет. - Если валюта выплаты другая, берётся курс на день приёма постбека.
- Если повтор с тем же статусом пришёл без суммы, сохраняются прежние сумма, валюта и курс.
Постбек без txid
Постбек без txid трекер не сравнивает с прежними:
- каждый постбек записывается и отправляется получателям, включая повтор сети;
- в отчётах, логе конверсий и карточке клика все постбеки без
txidпо одному клику — одна конверсия с последним статусом и последней суммой; leadилиholdпослеsaleне пропускается: конверсия перестаёт быть продажей;- несколько продаж по одному клику остаются одной.
Без txid повтор сети второй раз отправит событие в источник и в Facebook, а поздний lead заменит продажу в отчётах. Передавайте в txid макрос ID транзакции вашей сети.
Если сеть не даёт такой макрос, удалите &txid={txid} из адреса постбека, не оставляйте его незаменённым.
Как версии показаны в панели
Прежние версии конверсии в панели не показываются — только последняя.
- Лог конверсий кампании: одна строка на пару клика и
txidс последним статусом, выплатой и временем за выбранный период. ID транзакции стоит в колонке Txid. - Карточка клика, блок Конверсии: последнее состояние каждой транзакции клика. У конверсии без ID в колонке Транзакция стоит «Без txid».
- Журнал доставки событий, вкладка Логи → Доставка событий: каждая записанная версия — отдельная строка Запись конверсии. У новой конверсии и у смены статуса к ней добавляются строки S2S и CAPI, если получатели настроены. У исправления выплаты таких строк нет. Пропущенный повтор и поздний статус строк не создают.
- Отчёты: при атрибуции по дате конверсии она относится ко времени последней версии. Исправление выплаты переносит конверсию на день исправления, см. Атрибуция: дата клика или дата конверсии.
Раздел Логи видят владелец и администратор.
Импорт из CSV
Строки импорта конверсий проходят те же правила: точный повтор не создаёт дубль, другой статус или другая выплата обновляют конверсию. Пустой tid в файле трекер заменяет на import: и значение sub_id. Исходящие события при импорте уходят, только если отмечен флажок Отправлять исходящие S2S и CAPI.