Лендинги та Офери: де клік перетворюється на гроші

Офер і Лендинг - це дві бібліотеки, з яких збирається грошовий кінець клік-флоу: офер тримає URL, куди зрештою йде клік, лендинг тримає проміжну сторінку перед ним. Самі по собі обидві бібліотеки не роутять нічого. Доки лендинг не поставлений вузлом на канвас клік-флоу, флоу не опублікований заново, а кампанія не прив'язана, створений рядок лишається просто записом у таблиці - трафіку він не побачить. Саме на цьому спотикаються найчастіше, тож порядок дій винесено нижче окремою секцією.

Офер: грошове призначення

  1. Відкрийте Офери і натисніть «Новий офер».
  2. «Назва» - мітка для пікерів і звітів.
  3. «URL» - те саме грошове призначення, куди офер надсилає клік. Приймаються лише http(s):// і tg://.
  4. «Виплата» - сума, яку конверсія успадкує, якщо подія прийшла без власного payout: платформа знаходить офер за offer_id, записаним на кліку, і бере виплату звідти. Явний payout у події завжди важливіший.
  5. «Цільове гео» - підказка для пікера, а не правило роутингу: гео-роутингом займається вузол «Умова».

На канвасі вузол «Офер» термінальний - клік на ньому завершується. 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-лендингу обов'язково потрібен ефективний офер - інакше кнопці немає куди вести. Джерел два, і пріоритет між ними жорсткий:

  1. Перевизначення на канвасі - вузол «Офер», підключений до вузла «Лендинг». Читається прямо з графа під час публікації і завжди виграє.
  2. Замовчування з бібліотеки - поле «Офер за замовчуванням» у самому лендингу. Працює, коли зв'язку на канвасі немає.

Якщо немає ні того, ні іншого, флоу просто не публікується, і ви побачите помилку на вузлі: «Для hosted-лендінга потрібен офер — зв'яжіть офер або задайте офер за замовчуванням». Спроба перетягнути зв'язок з лендингу в щось окрім офера відхиляється прямо на канвасі з текстом «Лендінг» можна зв'язати лише з «Офером», а якщо такий зв'язок усе ж опинився в графі - публікація падає з тим самим формулюванням. Більше одного вихідного зв'язку в лендингу бути не може: другий зв'язок з тієї ж точки відхиляється.

Слаг - це лише мітка оператора

У hosted-лендингу є слаг, і його легко сприйняти за адресу сторінки. Це не так: /l/ резолвить лендинг за незмінним id, ніколи за слагом. Властивість не косметична, а захисна - резолв за слагом дозволив би одній організації перехопити проміжну сторінку іншої, підібравши чужий слаг. Слаг при цьому глобально унікальний і не звільняється під час архівації, щоб архів можна було розгорнути назад без сюрпризів.

Офер, id якого приходить в адресі сторінки, теж резолвиться в межах організації самого лендингу: підставити туди чужий id і витягнути чужий URL не вийде.

Порядок дій

Рівно в цьому порядку, бо кожен наступний крок спирається на попередній:

  1. Створіть офер на сторінці Офери. Без нього hosted-лендинг не опублікується.
  2. Створіть лендинг на сторінці Лендинги: «Хоститься у нас» зі слагом і офером за замовчуванням або «Зовнішній» зі своїм URL.
  3. Відкрийте клік-флоу кампанії: у меню рядка кампанії на сторінці Кампанії пункт «Клік-флоу». Флоу, створений звідси, одразу прив'язується до кампанії - це і є прив'язка, окремого поля «Клік-флоу» в діалозі кампанії немає.
  4. Поставте вузол «Лендинг» на канвас і зв'яжіть його. Вузол має бути досяжним від «Джерела трафіку»: вузол, що лежить осторонь, не отримає жодного кліку, і публікація про це скаже. За потреби протягніть зв'язок з лендингу у вузол «Офер», щоб перевизначити офер за замовчуванням.
  5. Збережіть і натисніть «Опублікувати». Доки флоу не опублікований, канвас ні на що не впливає: живий трафік роутить скомпільована програма минулої публікації, а не те, що ви бачите на екрані.
  6. Переконайтеся, що кампанія є і активна. Трекінг-посилання живе на кампанії, а не на флоу: флоу без кампанії ніколи не отримає жодного кліку, яким би «активним» він не виглядав.

Далі редагування йде по колу: опублікований флоу доступний лише для читання («Флоу в бою і доступний лише для читання. Вимкніть його, щоб редагувати»), тому цикл правки - «Вимкнути», поправити канвас, «Опублікувати» знову. Поки флоу вимкнений, кампанія роутить на свій попередній redirect URL.

Часті помилки

  • Лендинг створений, але не стоїть на канвасі. Бібліотека - це бібліотека. Рядок на сторінці Лендинги не бере участі в роутингу, доки в графі немає вузла «Лендинг», який на нього посилається.
  • «Хоститься у нас» сприйняли за хостинг вашої сторінки. Це фіксована проміжна сторінка з трьох рядків і кнопки. Власний контент - лише через «Зовнішній».
  • Флоу активний, але кампанії немає. Клікати нікуди: трекінг-посилання видає кампанія. Флоу без прив'язаної кампанії недосяжний.
  • Канвас поправили, публікувати забули. Автозбереження графа і публікація - різні речі; трафік бачить лише опубліковану версію.
  • Офер чи лендинг заархівували і чекають, що трафік зупиниться. З пікерів вони зникають одразу, але опубліковані флоу роутять на них до наступної публікації.
  • Чекають макроси на зовнішньому лендингу. Там підставляються лише {click_id} і {campaign_id}. Повний набір макросів працює в URL офера і в кнопці hosted-сторінки.
  • Правлять URL офера і дивуються, що нічого не змінилося. URL зашивається в програму під час публікації - опублікуйте флоу заново.