Лендинги и офферы¶
Лендинги¶
Промежуточная страница между кликом и оффером. Раздел Лендинги -> «Создать».
Типы:
- Локальный - ZIP с файлами сайта, загружается в трекер и отдаётся с вашего домена
по пути
/l/<папка>/. Ассеты (картинки, css, js) грузятся относительными путями. Внутри работает PHP. - Редирект - внешний URL: посетитель уходит на чужую страницу 302-редиректом. К
адресу дописывается служебный параметр
_ci, по которому клик потом вернётся в трекер. - Предзагрузка - тот же внешний URL, но трекер сам забирает страницу и отдаёт её посетителю. Адресная строка не меняется, визитор остаётся на вашем домене.
У каждого лендинга есть группа - она же определяет, кто из баеров его видит.
Ссылка на оффер в лендинге¶
Это ключевой шаг, без которого переход с лендинга на оффер не отслеживается. Готовый код показан прямо в форме лендинга, переключателем HTML / JS / PHP:
- локальный лендинг - замените
hrefкнопки на макрос{offer}:<a href="{offer}">Заказать</a>. Трекер подставит в него ссылку перехода. Работают и{offer1},{offer2}и т.д., и макросы{subid}, а также любые параметры из ссылки клика по их именам ({utm_source},{sub_id_1}и другие); - внешний лендинг - вставьте JS- или PHP-сниппет: он строит ссылку на
/clickвашего домена, подставляя туда идентификатор клика.
По переходу на /click трекер находит заранее выбранный оффер (по параметру _ci или
по куке) и делает редирект. Оффер выбирается ещё до показа лендинга, поэтому лендинг
всегда знает, куда вести.
Скрипт отслеживания (лендинг из нескольких страниц, формы)¶
Подстановка {offer} работает, пока идентификатор клика есть в адресе или в куке. Ровно
там, где это перестаёт быть правдой, нужен скрипт:
- вторая страница многошагового лендинга - параметр
_ciв адресе уже потерян; - выключенные куки (
cookies_enabled=0) - опереться не на что вообще; - отправка формы - идентификатор клика не уходит вместе с данными;
- чужой лендинг, открытый по прямой ссылке - клика не существует, трафик не считается.
Подключается одной строкой в <head>:
Что он делает сам, без единой правки в разметке:
- находит идентификатор клика в адресе или куке, а если его нет - регистрирует клик у трекера и получает идентификатор в ответ;
- подставляет ссылку перехода в
{offer}и идентификатор в{subid}; - дописывает
_ciко всем внутренним ссылкам страницы (внешние,mailto:,tel:и якоря не трогает) - так клик доживает до следующей страницы; - добавляет формам скрытое поле
_ciи заполняет поля с именамиsubid/sub_id.
Отправить конверсию прямо со страницы:
TMTracking.reportConversion(9.99, 'lead');
TMTracking.reportConversion(0, 'lead', {transaction_id: 'ORDER-42'});
Если лендинг стоит не на домене трекера, скрипту нужно сказать, куда обращаться - адрес кампании:
<script>var TMTracking = {PATH: 'https://ВАШ-ДОМЕН/ТОКЕН-КАМПАНИИ'};</script>
<script src="//ВАШ-ДОМЕН/tm.js"></script>
Оба сниппета есть в панели: Инструменты трекинга -> Скрипт отслеживания.
Отладка: TMTracking.DEBUG = true до подключения скрипта - в консоли появятся запросы и
ответы. Скрипт написан без современного синтаксиса намеренно: он попадает на чужие
лендинги, где может стоять что угодно, и обязан работать в старом вебвью так же.
Файлы лендинга¶
Загруженный лендинг можно скачать архивом и залить заменённую версию, не пересоздавая запись. Ссылки на файлы лендинга подписываются: выкачать чужой лендинг, зная только путь, нельзя.
Офферы¶
Цель клика. Форма из четырёх вкладок.
Основные
- Название, группа.
- Партнёрская сеть - её параметр click_id автоматически допишется к ссылке оффера.
- Тип: Offer URL (внешняя партнёрская ссылка) или Local (ZIP, отдаётся так же, как локальный лендинг).
- URL оффера с макросами и Авто-параметры URL - строка параметров, которая добавляется к ссылке всегда.
Дополнительно
- Гео - метки, показываются рядом с названием оффера.
- Выплата, Тип выплаты (CPA - за конверсию, CPC - за клик), Валюта.
- Авто-выплата (из постбека) - брать сумму из параметра постбека; если сеть её не прислала, подставится фиксированная выплата оффера. Выключено - доход всегда статичный, из поля «Выплата», что бы сеть ни прислала.
- Разрешить апселлы - платить и за повторные конверсии по тому же клику.
- Лимит по конверсиям - дневной кап; вместе с ним задаются Дневной лимит, Таймзона капа и Альтернативный оффер (см. ниже).
Значения - до десяти произвольных пар «имя = значение», справочное поле карточки.
Заметки - произвольный текст.
Рядом с названием в списке показывается ID оффера.
Мультиофферы и мультилендинги¶
В потоке со схемой «landings» назначается сразу несколько лендингов и несколько офферов, каждый со своим весом. Трекер ротирует их взвешенно и стабильно для одного визитора: при повторном заходе человек увидит ту же связку. Так делается сплит-тест: поставьте двум лендингам вес 50 и 50, а через несколько сотен кликов сравните их в отчёте по измерению «Лендинг».
Дневной кап оффера¶
Вкладка «Дополнительно» -> Лимит по конверсиям. Переключатель открывает три поля: Дневной лимит (0 = без лимита), Таймзона капа (в ней считаются сутки, пусто = UTC) и Альтернативный оффер.
Кап считает именно конверсии, а не клики, и работает только при включённом
переключателе: выключенный переключатель с ненулевым лимитом не ограничивает ничего.
Счётчик растёт на каждой новой конверсии - от постбека или от импорта; смена статуса уже
записанной конверсии его не двигает, а повторная конверсия по новому tid (ребилл, второй
депозит) двигает.
Сутки календарные в выбранной таймзоне: в полночь начинается новая корзина, отдельного «обнуления» нет. Конверсия ложится в корзину своей даты, а не даты записи - поэтому импорт истории за прошлый месяц не выбирает сегодняшний лимит.
Альтернативный оффер¶
Поле «Альтернативный оффер» («Куда слать клики при исчерпании лимита») - что делать с позицией ротации, когда оффер добрал суточный лимит:
- запасной задан - клики уходят на него, и вес капнутого оффера переходит к запасному. Доля трафика, отведённая этой позиции, не меняется от того, что лимит выбран;
- запасной не задан (первый пункт списка, «нет») - оффер просто исключается из ротации, трафик расходится по остальным офферам потока. Если других офферов нет, лендинг покажется без оффера, а поток без лендинга отдаст 404.
Запасной может иметь своего запасного: цепочка проходится до пяти шагов. Если все звенья исчерпаны или цепочка закольцована, позиция ротации оффера не даёт - в логе движка появится предупреждение про зациклённую цепочку запасных. Себя выбрать нельзя, список запасных исключает текущий оффер.
Если ограничить нужно клики, а не конверсии - это делается фильтром «Лимит кликов» на
потоке (см. 03-campaigns-streams.md). Учтите разницу: кап оффера считает сутки по своей
таймзоне, а «Лимит кликов» - по UTC от начала суток.
Макросы в ссылке оффера¶
В URL оффера подставляются значения текущего клика:
{subid},{sub_id},{click_id},{clickid}- идентификатор клика (он же вернётся в постбеке);{sub_id_1}..{sub_id_30},{external_id},{keyword}и любой другой параметр из ссылки клика по его имени;{country},{device_type},{os}.
Значения подставляются закодированными для URL - иначе & внутри метки дописал бы в
адрес оффера чужие параметры. Если в параметре осознанно лежит кусок адреса и кодировать
его не надо, используйте форму со знаком подчёркивания: {_sub_id_1}.
Базовые макросы (в первую очередь идентификатор клика) перекрывают одноимённые параметры
из входящей ссылки - подставить чужой subid снаружи нельзя.
Партнёрская сеть возвращает конверсию постбеком вида
/postback?subid={click_id}&status=sale&payout={payout}.
Партнёрские сети¶
Раздел Партнёрские сети: название, параметр click_id (как сеть называет поле, в
котором ждёт наш идентификатор клика - subid, aff_sub и т.п.), шаблон входящего
постбека для подсказки и заметки.
Привязав оффер к сети, вы получаете автоматическую подстановку click_id в ссылку оффера - имя параметра берётся из карточки сети, дописывать его руками в URL не нужно.
Несколько офферов на лендинге: макрос {offer:ID}¶
Если у потока несколько офферов, лендинг может вести на конкретный из них, а не только на тот, который трекер выбрал при заходе.
| Макрос | Куда ведёт |
|---|---|
{offer} |
оффер, выбранный трекером при заходе (обычный случай) |
{offer:12} |
оффер с идентификатором 12 |
{offer12} |
то же самое - запись без двоеточия равнозначна |
Так делается лендинг с выбором: «1 шт» -> {offer:12}, «3 шт» -> {offer:13}. Без этого
макроса все кнопки вели бы в одно место.
Разрешены только офферы этого потока. Номер попадает в адресную строку, то есть его может подставить кто угодно; трекер пускает переход только по офферам, которые поток и так мог показать, а на чужой номер отвечает 404. Ошибка в номере тоже даёт 404, а не тихий переход на оффер по умолчанию: молчаливая подмена выглядела бы как рабочая кнопка, и заметить её можно было бы только по расхождению выплат.
Деньги считаются по выбранному офферу. Если посетитель нажал CTA другого оффера, конверсия и выплата достанутся именно ему - с его фиксированной выплатой, его валютой и его счётчиком лимитов.
Макрос работает и на локальном лендинге, и на внешнем через скрипт /tm.js.
Предзагрузка внешнего лендинга¶
Тип лендинга «Предзагрузка» отдаёт чужую страницу с вашего домена: посетитель остаётся на домене кампании, в адресной строке - токен кампании.
Трекер при этом:
- вставляет в страницу
<base href>с адресом исходного лендинга, чтобы относительные пути к стилям, картинкам и скриптам разрешались у автора страницы, а не на вашем домене. Без этого посетитель видел бы голый HTML без вёрстки, и по логам это никак не заметно: трекер отвечает 200, клик записан; - подставляет макросы
{subid},{offer},{country}и остальные - так же, как в локальном лендинге.
Свой <base> у страницы трекер не трогает. Страницы тяжелее 4 МБ отдаются как есть, без
вставки и подстановки - о таком случае пишется строка в лог движка.