Обзор

1. Введение

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

  • client - server
  • server - server

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

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

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

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

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

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

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

http://pback.adsniperleads.com/ap_back_url.php?type=accept&pid={partner_ID}&plus={revenue}&offer_id={offer_id}&s_trk={s_trk}&apid={trans_id}¤cy={currency}&s_leadid={s_leadid}

Возможен модификатор для типа лида (используется для отклоненных лидов)
type=decline

{partner_ID}это идентификатор партнера в нашей системе стандартно можно использовать site_{site_name} где {site_name} для test.ru - testru
То есть в конечном варианте site_testru
{revenue}стоимость лида, если это тестовая компания или стоимость лида не оговаривалась отдельно можно передавать “1”, так же число переданное в этом поле может быть не целым, разделитель “.”, например: “154.32”, подразумевается что валюта рубли.
{offer_id}идентификатор оффера в рамках партнера
Если офер один то можно передавать в это поле “1”, если оферов больше, то можно передавать из идентификатор или текстовое название.
{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. Описание механики работы постбэка

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

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

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

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

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

📘

Дополтинельная информация по ссылке

https://docs.google.com/document/d/1RcJbPfZ4RuwUfmXW9VvXHtOjZyHU4sPtNxo-Zf65yHM/edit

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

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

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