June 12, 2023

Схемный трафик (ч.1): Автоворонка в боте

Предыстория

Еще год-полтора назад появилось такое понятие как "Схемный трафик" и изначально им пользовались исключительно гемблисты. Позже этим же способом начали лить бинарки, крипту, нутру и все прочее. Сейчас схемный находится в топе, все больше аффов адаптируют свои классические воронки под работу с мессенджерами в связке с чат-операторами.

Мне было интересно взяться за подобное и посмотреть на устройство этого изобретения изнутри, ну и конечно же придумать пару технических штук для упрощения работы операторов и команды в целом.

О чем эта статья

Сегодня речь пойдет об автоворонке и ее реализации с помощью сервиса PuzzleBot. Кто не в курсе, Puzzle - это no-code конструктор чат ботов Telegram, обладающий практически неограниченными возможностями.

Почему я выбрал именно PuzzleBot? - Стабильность - Наличие входящего и исходящего API - Наличие сценариев / постинга - Возможность интеграции WebApp в бота

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

Чтобы было проще понять о чем идет речь, я сделал пример такого бота специально для вас: ➡️https://t.me/scheme_traffic_bot⬅️. Потыкайтесь и вернитесь в статью.

Немного о минусах и плюсах

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

Главный и самый существенный минус бота - это неумение аудитории пользоваться кнопками и прочим функицоналом ТГ. Среди всего прочего, этот минус выделяется и бьет по шарам. Тем не менее, этот "острый угол" можно сгладить с помощью сценариев / событий / контента внутри бота.

Плюсы бота:

  • Полный трекинг всего что можно оттрекать
  • Сигментирование аудитории на всех этапах
  • Сохранение контактов юзера, если они регнулись через ссылку на бота из канала (вместо прямых ссылок, размещаем ссылки на бота в канале и юзеры делают регу через него)
  • Скрытость воронки (контента) от посторонних глаз
  • Процент отписки (блокировки) от бота ~25% от общего числа подписавшихся за счет персонализированного контента. Тогда как в канале этот процент может достигать 55-60%.
  • Автоматическая работа с юзером на основе S2S постбэков из Keitaro \ Binom
  • Возможность встраивания WebApp (сайт) прямо внутрь бота
  • Возможность использования Conversion API Facebook для трекинга различных событий

Минусы бота:

  • Отсутствие соц. подтверждения в виде количества подписчиков на канале \ количестве просмотров и лайков на постах
  • Безграмотность аудитории и не понимание как работать с ботом (зависит от гео и от вашего поясняющего этот момент контента)
  • Не у всех партнерок есть настройка постбэков в трекер на каждое из событий

Как сделать подобное

Если вы протыкали все кнопки в тестовом боте и дошли до этой главы, то вы готовы немного напрячь мозги и сделать красиво. Ниже будет приведена пошаговая инструкция для реализации. Сразу скажу, для того чтобы пройтись по руководству и нигде не ошибиться, нужно ознакомиться хотя бы с базой функционала вашего трекера и сервиса PuzzleBot. Без этого фундамента, вряд ли у вас получится собрать "пазл" воедино и получить что-то рабочее на выходе.

Бот который был приведен в пример выше собран в связке ПП + Keitaro + PuzzleBot. Соотв. все что приведено ниже, будет сделано на примере Keitaro. Если у вас Binom - курите их доку.

Из тех знаний, которые пригодятся в работе:

Я не буду рассказывать как работает тот или иной сервис / как подцепить бота в Puzzle или как добавить в бота ресурс (канал или чат). Читайте их доку / смотрите поясняющие видосы на их Youtube-канале. Там все / обо всем подробно расписано.


Настроим PuzzleBot

1. После подключения бота и нужных ресурсов в него, зайдем в раздел Модерация и создадим следующие категории:

  • Зарегистрирован
  • Сделал Sale
  • Сделал Rebill
В моем примере они указаны так. Вы конечно же можете назвать их как вам заблагорассудиться. Главное чтобы эти категории отображали смысл полученного постбэка от трекера (lead/sale/rebill).
Категории будут присваиваться юзерам автоматически (если это нстроено в конструкторе) после прохождения определенных команд в боте (рега, деп, редеп). Далее мы сможем смотреть стату, "разбивать" их по статусам и пр. Создавать категории можно не только под постбэки, но и под любые другие действия в боте - тут все зависит от ваших целей.

2. Зайдем в Конструктор Puzzle и создадим 3 базовые команды, которые будут вызываться по API PuzzleBot с помощью настроеного S2S постбэка в кампании Keitaro. У меня эти действия называются registred, deposited, redeposited. Вы же можете назвать их как вам угодно, главное что бы было понимание что эти названия команд, в дальнейшем необходимо будет указывать при обращении к апи паззла.

Так выглядит базовая конструкция бота, для работы с постбэками из Keitaro TDS. От этих 3х действий можно строить дальнейшие логические цепочки и планировать воронку.

Рассмотрим подробнее как выглядят эти команды внутри:

Остальные действия deposited, rediposited настроены аналогичным образом, как на скриншоте выше, но категории там присваиваются юзеру уже совсем другие, которые отвечают отработке постбэков на sale / rebill.

В каждой команде я поставил доп. действие при срабатывании команды. Первое действие что мы делаем - меняем категорию для юзера, у которого сработала команда registred . По желанию делаем уведомление в спец. группу о переходе юзера из одной категории в другую. Это уже по желанию, но мне так удобнее, потому что я и моя команда всегда видим кто/что/когда сделал и можем по одному клику найти этот диалог в тг.

3. Создадим токен от нашего Puzzle бота для доступа к внешнему API и сохраним его к себе в блокнотик. Он нам пригодится, когда будем настраивать S2S внутри кампании KT.

Созданные токены всегда доступны в настройках бота, в разделе "Интеграции".

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

Настройка Партнерской сети

Практически в каждом трекере уже имеются готовые шаблоны для прокидывания постбэков из ПП. Все что вам надо сделать, зайти в раздел Партнерские сети (/admin/#!/affiliate_networks/) в трекере, нажать на кнопку "Создать" и выбрать готовый шаблон постбэка. Далее вам выпадет готовая ссылка для вставки в настройки партнерской сети. Мы ее копируем, идем в настройки нашей ПП и вставляем в настройки постбэков.

Но что делать, если среди шаблонов не оказалось нужной ПП? - Не отчаиваться и запастись терпением. Для начала рекомендую прочесть FAQ от КТ по созданию Партнерской сети в трекере.

Для успешного создания своей ПП в Keitaro, необходимо знать 1 фундаментальную вещь: Все данные синхронизируются с помощью subid (в биноме это clickid) трекера. Сабайди это уникальный идентификатор клика, который у каждого юзера, при каждом заходе на ссылку кампании разный. Я специально выделил жирным что это именно ссылка кампании, а не прямая на лендинг, тк. subid попросту не присваивается юзеру, если вы заливаете напрямую ссылку на ленд! Этот subid мы обязаны передать в партнерку, чтобы в дальнейшем, после целевого действия юзера партнерка смогла забрать этот subid из своей БД и отправить постбэк в трекер. Звучит сложно, но на самом деле все гораздо проще чем кажется.

Mindmap с объяснением взаимодействия ПП и трекара и роли Subid в этом взаимодействии:

Еще одна важная деталь состоит в том, что для каждого события свой статус. В кейтаро есть 3 основных статуса: lead(конверсия), sale(продажа), rebill(на самом деле sale + tid, но в БД КТ это пишется как rebill- допродажа).

Хвост постбэка на lead:
postback/?subid={subid}&status=lead&payout={payout}

Хвост постбэка на sale:
postback/?subid={subid}&status=sale&payout={payout}

Хвост постбэка на rebill:
postback/?subid={subid}&status=sale&payout={payout}&tid={tid}

По поводу статуса lead, все понятно. Но есть некоторая путаница по поводу sale & rebill. Смотрите, если мы отправляем постбэк только с 3 метками subid / status / payout - то все это считается продажей, но если к этому хвосту добавить tid (transaction id) - то этот постбэк будет считаться допродажей. По этой логике можно быстро собирать свои постбэки для любого из событий, для любой из ПП, где есть возможность настраивать постбэки.


Настроим источник в Keitaro:

Зайдем в "Источники" (/admin/#!/traffic_sources/) в трекере и выберем источник с которого будем заливать схемный трафик, в моем случае это Facebook. Пропишем метку, в которую будет записываться chat_id(уникальный идентификатор пользователя Telegram). По этому параметру в дальнейшем будет происходить синхронизация с ботом юзера. Если не передать chat_id, мы не сможем сделать S2S запрос на API PuzzleBot с названием команды для ее запуска у юзера.

Поэтому настраиваем либо как на скрине, либо в таком порядке:
Моя метка (Название метки для отображения в стате) | my_metka | {my_metka} (в виде макроса).

Далее необходимо прожать галку в левом нижнем углу "Обновить в кампаниях" и сохранить. Опять же, если вы льете не только схемный, но и другие вертикали, необходимо вручную удалить источник из кампании со схемным и снова его туда проставить, а затем сохранить, чтобы все измененные метки из источника подятнулись и проставились в раздел параметров внутри кампании.

Так выглядит у меня настройка кампании. Остальные метки замазаны. Вы можете проставить свои метки в ближайшее свободное поле
Параметры должны проставиться в каждой кампании, которую вы собираетесь заливать в связке с ботом.

Настройка S2S постбэков внутри кампании Keitaro

Вот тут-то нам и пригодится созданный токен от PuzzleBot и их дока. Из их руководства следует: Для того чтобы вызвать команду у конкретного пользователя, мы обязаны сделать запрос с указанием его chat_id Telegram и названием запускаемой команды:

method: sendCommand
params:
command_name - string, name of command ot condition
tg_chat_id - number, Telegram id of resource or user

success result: code = 0, data = "ok"

URL для запуска команды registred в моем случае будет выглядеть вот так:
https://api.puzzlebot.top/?token=LF4cRL0ZXmV2S6SXUCMYJmkVHIZ&method=sendCommand&command_name=registred&tg_chat_id={sub_id_9}

Я скопировал заранее созданный api-ключ из сервиса PuzzleBot и подставил его в метку token=. Затем в метку command_name= прописал название команды так, как она называется у меня в конструкторе внутри PuzzleBot. Ну и конечно же вставил метку от трекера, в которой у меня хранится chat_id человека, который совершил целевое действие на моей ссылке кампании.

Небольшая путаница возникает у людей, когда они сталкиваются с настройкой S2S в КТ. Почему я поставил макрос с названием {sub_id_9} вместо {chat_id}? - Все просто: Для БД трекера "chat_id" - это лишь пользовательское название метки sub_id_№ с порядковым номером 9. Если вы поставите в S2S ваше пользовательское название (у меня это chat_id), то трекер попросту не найдет такой метки, не сможет испольнить макрос и получить значение из БД.

Найти свой порядковый номер sub_id_ очень легко. Достаточно зайти в кампанию и посчитать сверху вниз по нарастающей, как указано это на скриншоте снизу:

Исходя из этой логики, нужное мне значение лежит в метке sub_id_9

1. С собранной ссылкой для S2S, идем во вкладку S2S Postback внутри настраиваемой кампании, создаем перый наш постбэк для события lead и вписываем собранную ссылку в поле URL:

2. Далее я создаю еще один постбэк с помощью кнопки "Добавить", заменяю в URL в метке command_name= значение на следующую мою пользовательскую команду из конструктора PuzzleBot - у меня это deposited:

3. Те же действия проделываем с 3им постбэком: создаем, заменяем на соотв. команду (у меня это redeposited) и снимаем галки как показано на скрине:

Проставляем ссылки в бот

Копируем ссылку из кампании, убираем все ненужные метки из ссылки, оставляем только те что действительно нужны (chat_id). Можете конечно и не убирать, но те же макросы от Facebook тут работать не будут (вообще лучше создать отдельный источник в КТ и проставить кастом параметры там).

В метку где будет храниться наш chat_id, пишем внутренний макрос PuzzleBot в виде chat_id={{USER_ID_TEXT}}:

Поздравляю, с этого момента, любое целевое действие совершенное пользователем на нашей трекинговой ссылке КТ, будет передаваться по API в Puzzle и для пользователя будет запускаться команда указанная в command_name=.


Подитог

С виду все выглядит невероятно сложно, но если разобраться в этом всего лишь один раз - можно будет творить все что придет в голову. Возможности современных сервисов это позволяют.

На описанный выше "каркас" можно навешать любой контент. В общем можно все это оформить интуитивно для пользователя и вывести для себя идеальную формулу автобота. Ну а если аудитория безграмотная, можно наполнить бот визуалом, объясняющим как с ним взаимодействовать (прямо показывать что можно тыкать на кнопки в видео).

В таком сетапе латам у нас шел замечательно, а вот Индия в дикий минус, потому что индусы не очень грамотные и очень ленивые, тупо не хотят разбираться с тем как это работает. В общем все зависит от гео и от вашего подхода / инструкций в визуале.


О чем будет следующая статья

В след. теме, я разберу возможности пролива на канал и регистрации юзеров через бот, а так же создание персональных ботов для каждого обработчика и снятие 50% существующих головняков у команд.

С помощью регистрации юзеров через бота, мне удалось выстроить систему, при которой обработчики могут записывать юзеров пришедших им в личку просто переслав сообщение этого юзера в свой персональный бот (красное выделение).

Так же за счет интеграции персональных ботов с трекером, у обработчика появляется возможность смотреть свою стату с подсчетом их заработка даже не заходя в трекер (синее выделение):

Немного о партнерах

Моим верным партнером и незаменимым инструментом в работе все так же остается трекер Keitaro. Совсем недавно разработчики полностью обновили внутрянку трекера, сделав его еще быстрее и функциональнее.

Настоятельно рекомендую сделать апдейт и перейти на новую, 10ую версию Keitaro TDS. Ну а по промокоду adamblog, вы сможете это сделать с выгодой -20%. Регистрируйтесь https://keitaro.io/89119/info и переходите на "зеленую" сторону.