Лендинги и Офферы: где клик превращается в деньги
Оффер и Лендинг - это две библиотеки, из которых собирается денежный конец клик-флоу: оффер держит URL, куда в итоге уходит клик, лендинг держит промежуточную страницу перед ним. Сами по себе обе библиотеки не роутят ничего. Пока лендинг не поставлен нодой на канвас клик-флоу, флоу не опубликован заново, а кампания не привязана, созданная строка остаётся просто записью в таблице - трафика она не увидит. На этом спотыкаются чаще всего, поэтому порядок действий вынесен ниже отдельной секцией.
Оффер: денежное назначение
- Откройте Офферы и нажмите «Новый оффер».
- «Название» - метка для пикеров и отчётов.
- «URL» - то самое денежное назначение, куда оффер отправляет клик. Принимаются только
http(s)://иtg://. - «Выплата» - сумма, которую конверсия унаследует, если событие пришло без собственного
payout: платформа находит оффер поoffer_id, записанному на клике, и берёт выплату оттуда. Явныйpayoutв событии всегда важнее. - «Целевое гео» - подсказка для пикера, а не правило роутинга: гео-роутингом занимается нода «Условие».
На канвасе нода «Оффер» терминальная - клик на ней заканчивается. URL оффера снимается снимком в момент публикации флоу, поэтому правка оффера в библиотеке не меняет уже опубликованную программу, пока вы не опубликуете флоу заново. По той же причине архивация оффера не ломает живой трафик мгновенно: опубликованные флоу продолжают роутить на него до republish, а из пикера он исчезает сразу.
Макросы в URL оффера
В URL оффера подставляются ровно эти токены и никакие другие:
{click_id}, {campaign_id}, {offer_id}, {sub1}, {sub2}, {sub3}, {sub4}, {sub5}, {fbclid}, {gclid}, {gbraid}, {wbraid}, {ttclid}
Значения URL-энкодятся при подстановке. Токен, для которого значения нет, превращается в пустую строку, так что &gclid={gclid} не сломает ссылку на Meta-трафике. Токен вне этого списка остаётся в URL как обычный текст - это сделано намеренно, чтобы не съесть макросы следующего трекера в цепочке. Обратите внимание: {sub6}-{sub9} клик действительно фиксирует и по ним можно роутить в «Условии», но макросами они не являются.
После подстановки итоговый URL проверяется ещё раз: разрешены только http, https и tg. Если проверка не прошла (макрос развернулся во что-то, что ломает адрес), клик уходит на прежний redirect кампании, а не в никуда.
Лендинг: «Хостится у нас» и «Внешний»
Откройте Лендинги и нажмите «Новый лендинг». Поле «Тип» разводит два совершенно разных сценария:
- «Внешний» - вы указываете «URL» страницы, которую хостите сами. Клик 302-ится прямо туда. На этом пути подставляются только
{click_id}и{campaign_id}; остальные макросы из списка выше здесь не работают, донести sub-параметры до своей страницы придётся этими двумя или параметрами, которые вы допишете руками. - «Хостится у нас» - вы указываете «Слаг» и, по желанию, «Оффер по умолчанию». Клик 302-ится на внутреннюю страницу
/l/{id}, в адрес которой уже зашиты id клика и id эффективного оффера.
Нода «Лендинг» на канвасе тоже терминальная, но у неё есть одно исключение: она может нести ровно одну исходящую связь и только в ноду «Оффер». Настройки лендинга (тип, URL, оффер по умолчанию) снимаются снимком при публикации, ровно как у оффера.
Что на самом деле показывает «Хостится у нас»
Это не конструктор лендингов. Никакого редактора, загрузки HTML, картинок или блоков там нет и не появится по мере настройки.
Страница /l/{id} целиком состоит из трёх строк и одной кнопки на градиентном фоне: заголовок «Почти готово», подзаголовок «Нажмите кнопку ниже, чтобы продолжить.» и кнопка «Продолжить», ведущая на URL оффера. Эти три строки берутся из локализации платформы, одинаковы для всех организаций и не редактируются - меняется только язык. Страница закрыта от индексации.
Если вам нужен собственный контент страницы - выбирайте «Внешний» и указывайте URL своей страницы. «Хостится у нас» означает, что мы отдаём свою прослойку, а не что мы захостим вашу вёрстку.
Когда отдать прослойку не получается - лендинг заархивирован, оффер удалён, заархивирован или принадлежит другой организации, итоговый адрес не прошёл проверку - посетитель видит заглушку «Страница недоступна» со ссылкой на поддержку. 404 здесь не возвращается никогда: клик уже оплачен, и терять его на пустой странице хуже, чем показать заглушку.
Зачем эта прослойка вообще нужна
Три вещи, которых нет у прямого редиректа:
- Разрыв реферера. Кнопка уходит наружу с
rel="noopener noreferrer sponsored", так что принимающая сторона не видит, с какой площадки пришёл посетитель. - Осознанный клик. Переход делает человек нажатием кнопки, а не сервер редиректом. Для части офферов и модерации это принципиально разные события.
- Подстановка макросов на месте.
sub1-sub5и платформенные click id читаются из строки клика,click_idиoffer_idприходят прямо в адресе страницы. Итоговая ссылка кнопки валидируется тем же правилом (http,https,tg), поэтому страница не может превратиться в открытый редирект, чем бы ни развернулись макросы.
Если строка клика ещё не успела записаться (запись идёт асинхронно, чтобы не тормозить редирект), кнопка всё равно отрисуется - просто с пустыми sub-макросами. Атрибуцию это не задевает: offer_id проставляется на клике раньше, на самом редиректе.
Оффер для hosted-лендинга: канвас важнее умолчания
Hosted-лендингу обязательно нужен эффективный оффер - иначе кнопке некуда вести. Источников два, и приоритет между ними жёсткий:
- Переопределение на канвасе - нода «Оффер», подключённая к ноде «Лендинг». Читается прямо с графа при публикации и всегда выигрывает.
- Умолчание из библиотеки - поле «Оффер по умолчанию» в самом лендинге. Работает, когда связи на канвасе нет.
Если нет ни того, ни другого, флоу просто не публикуется, и вы увидите ошибку на ноде: «Для hosted-лендинга нужен оффер — свяжите оффер или задайте оффер по умолчанию». Попытка перетащить связь из лендинга во что-нибудь кроме оффера отклоняется прямо на канвасе с текстом «Лендинг» можно связать только с «Оффером», а если такая связь всё же оказалась в графе - публикация падает с той же формулировкой. Больше одной исходящей связи у лендинга быть не может: вторая связь с той же точки отклоняется.
Слаг - это только метка оператора
У hosted-лендинга есть слаг, и его легко принять за адрес страницы. Это не так: /l/ резолвит лендинг по неизменяемому id, никогда по слагу. Свойство не косметическое, а защитное - резолв по слагу позволил бы одной организации перехватить прослойку другой, подобрав чужой слаг. Слаг при этом глобально уникален и не освобождается при архивации, чтобы архив можно было развернуть обратно без сюрпризов.
Оффер, id которого приходит в адресе страницы, тоже резолвится в пределах организации самого лендинга: подставить туда чужой id и вытащить чужой URL не выйдет.
Порядок действий
Ровно в этом порядке, потому что каждый следующий шаг опирается на предыдущий:
- Создайте оффер на странице Офферы. Без него hosted-лендинг не опубликуется.
- Создайте лендинг на странице Лендинги: «Хостится у нас» со слагом и оффером по умолчанию либо «Внешний» со своим URL.
- Откройте клик-флоу кампании: в меню строки кампании на странице Кампании пункт «Клик-флоу». Флоу, созданный отсюда, сразу привязывается к кампании - это и есть привязка, отдельного поля «Клик-флоу» в диалоге кампании нет.
- Поставьте ноду «Лендинг» на канвас и свяжите её. Нода должна быть достижима от «Источника трафика»: лежащая в стороне нода не получит ни одного клика, и публикация об этом скажет. При необходимости протяните связь из лендинга в ноду «Оффер», чтобы переопределить оффер по умолчанию.
- Сохраните и нажмите «Опубликовать». Пока флоу не опубликован, канвас не влияет ни на что: живой трафик роутит скомпилированная программа прошлой публикации, а не то, что вы видите на экране.
- Убедитесь, что кампания есть и активна. Трекинг-ссылка живёт на кампании, а не на флоу: флоу без кампании никогда не получит ни одного клика, каким бы «активным» он ни выглядел.
Дальше редактирование идёт по кругу: опубликованный флоу доступен только для чтения («Флоу в бою и доступен только для чтения. Отключите его, чтобы редактировать»), поэтому цикл правки - «Отключить», поправить канвас, «Опубликовать» снова. Пока флоу отключён, кампания роутит на свой прежний redirect URL.
Частые ошибки
- Лендинг создан, но не стоит на канвасе. Библиотека - это библиотека. Строка на странице Лендинги не участвует в роутинге, пока в графе нет ноды «Лендинг», которая на неё ссылается.
- «Хостится у нас» принято за хостинг вашей страницы. Это фиксированная прослойка из трёх строк и кнопки. Свой контент - только через «Внешний».
- Флоу активен, но кампании нет. Кликать некуда: трекинг-ссылку выдаёт кампания. Флоу без привязанной кампании недостижим.
- Канвас поправили, публиковать забыли. Автосохранение графа и публикация - разные вещи; трафик видит только опубликованную версию.
- Оффер или лендинг заархивировали и ждут, что трафик остановится. Из пикеров они исчезают сразу, но опубликованные флоу роутят на них до следующей публикации.
- Ждут макросы на внешнем лендинге. Там подставляются только
{click_id}и{campaign_id}. Полный набор макросов работает в URL оффера и в кнопке hosted-прослойки. - Правят URL оффера и удивляются, что ничего не изменилось. URL зашивается в программу при публикации - опубликуйте флоу заново.