Postback для медийных размещений

1. Введение

Различают два типа вызова сервиса postback: client - server и server - server

Клиент - серверный вариант используется в случаях когда действие пользователя приводит к цели, при этом пользователь в этот момент взаимодействует со страницей (примером этого может служить вариант, когда цель - это заполнение формы регистрации). При такой схеме работы однозначно понятно, достигнута ли цель.

Сервер - сервер вариант используется для случаев когда пользователь не взаимодействует со страницей, в момент достижения цели (пример такой ситуации, когда целью считается подтвержденный заказ, то есть перед тем как произойдет достижение цели оператор call центра должен позвонить пользователю и в этот момент пользователь ни как не взаимодействует со страницей). При такой схеме сервер рекламодателя взаимодействует с сервером TerraTraf передавая идентификатор показа.

Основная суть postback вызова заключается в уведомлении о достижении цели. Весь трафик который присылает TerraTraf содержит в get параметрах уникальный идентификатор показа, в большинстве своем он называется “s_trk”. Что бы избежать коллизий с другими передаваемыми параметрами, TerraTraf может назвать этот параметр любым именем.

Для того, что бы проинформировать о достижении цели, необходимо вернуть TerraTraf get параметр s_trk, пользователя совершившего целевое действие.

Для клиент - серверного варианта можно хранить ключ в куке и читать ее в момент совершения целевого действия.

Для сервер - сервер варианта, требуется хранить сопоставление id пользователя, по которому идентифицируются пользователи и ставить ему в соответствие значение s_trk.

2. Пример postback ссылки

//Обычный лид
https://pb.terratraf.io/?type=accept&pid={partner_ID}&offer_id={offer_id}&plus={revenue}&s_trk={s_trk}&trans_id={trans_id}&currency={currency}&s_leadid={s_leadid}

//Подтвержденный лид
https://pb.terratraf.io/?type=lead&pid={partner_ID}&offer_id={offer_id}&plus={revenue}&s_trk={s_trk}&trans_id={trans_id}&s_leadid={s_leadid}

Возможен модификатор для типа лида:

type=accept - Пишется в поле lead
type=lead - Пишется в accept
type=decline - Пишется в unlead
МакросОписание макроса
{partner_ID}Это идентификатор партнера в системе TerraTraf. Если интеграция предполагает несколько сайтов или приложений, идентификатор надо получить в менеджера. Если сайт один то стандартно можно использовать site_{site_name} где {site_name} для test.ru - testru
То есть в конечном варианте site_testru
{offer_id}Идентификатор оффера в рамках партнера
Если офер один то можно передавать в это поле “1”, если оферов больше, то можно передавать из идентификатор или текстовое название.
{revenue}Стоимость целевого действия, если это тестовая компания или стоимость лида не оговаривалась отдельно можно передавать “1”, так же число переданное в этом поле может быть не целым, разделитель “.”, например: “154.32”, подразумевается что валюта рубли.
{s_trk}значение get параметра strk с которым пришел пользователь
ChRhZHA0WncRerU-EeSLfgElkJWCShCpsuuqDBjNw4OnBSDkw4OnBQ*
(пример s_trk)
алфавит a-zA-Z0-9-
{trans_id}уникальный номер транзакции
Если транзакции отдельно не отслеживаються то в это поле можно передать Unix Time Stamp
{s_leadid}идентификатор лида
В основном этот гет отсутствует, добавляется только в случае если надо отслеживать несколько типов лидов алфавит a-zA-Z0-9_-
{currency}валюта в которой передается лид, берется по курсу ЦБ РФ и конвертируется в рубли. (это опциональное поле и может быть пропущено, в этом случае конвертация производиться не будет)

3. Описание механики работы постбэка

TerraTraf имеет агрегированную статистику и поэтому не может изменять статус лида. Поддержка актуальности осуществляется путем хранения статусов lead / unlead. Таким образом когда в CPA создается лид в статусе hold для TerraTraf, это принятый лид. Если в CPA этот лид был принят, то TerraTraf ни как не обрабатывает эту ситуацию, если в CPA лид был отклонен то TerraTraf создаст еще одну запись со статусом лида unlead. Таким образом при расчете профита от CPA из суммы лидов со статусом lead вычитается сумма лидов со статусом unlead.

Пример работы для офера с автопринятием:

Если для офера не существует такого понятия как холд / принятие / отклонение, то есть все лиды сразу считаются принятыми, но CPA имеет три поля для настроки: lead / hold / reject то должно быть заполнено только поле lead.

При передаче данных тип должен быть установлен следующим образом type=lead при такой передаче данные сразу попадут в столбце принятых лидов.

Пример работы для офера с различными состояниями:

Если для офера существуют три состояния hold / lead / reject.
То в СС нужно передавать type=accept, когда лид в CPA находиться в состоянии hold. То есть как только лид создался в CPA, СС получит информацию и о лиде и сможет его обработать.
При принятии лида в CPA в СС не надо отправлять информацию, так как если повторно отправить то же самое лид может задвоиться.
При отклонении лида в CPA в СС надо отравить type=decline, для того что бы СС понял, что надо засчитать этот лид как отклоненный.

4. Особенности подсчета статистики

TerraTraf записывает статистику по 2м различным событиям: времени клика (lead) и времени прихода лида (lead now). Такая статистика позволяет считать доход и по времени совершения клика пользователя и по времени совершения действия. Это необходимо для того что бы решить вопрос подсчета прибыли, представим ситуацию когда рекламная кампания была запущена 1 день:

ДатаПоказыКликиLeadLead NoweCPM (lead)eCPM (lead now)
01.08.ХХХХ100001001000100
02.08.ХХХХ1101000100000