Еще год-полтора назад появилось такое понятие как "Схемный трафик" и изначально им пользовались исключительно гемблисты. Позже этим же способом начали лить бинарки, крипту, нутру и все прочее. Сейчас схемный находится в топе, все больше аффов адаптируют свои классические воронки под работу с мессенджерами в связке с чат-операторами.
Мне было интересно взяться за подобное и посмотреть на устройство этого изобретения изнутри, ну и конечно же придумать пару технических штук для упрощения работы операторов и команды в целом. Еще больше информации в моем личном Telegram-канале.
Сегодня речь пойдет об автоворонке и ее реализации с помощью сервиса PuzzleBot. Кто не в курсе, Puzzle — это no-code конструктор чат ботов Telegram, обладающий практически неограниченными возможностями.
Почему я выбрал именно PuzzleBot?
Сразу скажу, в данной статье я не буду разбирать конкретные примеры воронок (текст, визуал), а лишь покажу возможности, которые открываются при использовании связки партнерки + трекера + пазла. Для кого-то информация изложенная внизу может показаться банальной, для кого-то это будет откровением.
Чтобы было проще понять о чем идет речь, я сделал пример такого бота специально для вас: https://t.me/scheme_traffic_bot. Потыкайтесь и вернитесь в статью.
Для начала стоит перечислить минусы использования ботов в схемном трафике. Глупо было бы ожидать что все будет идеально, ведь если крупные команды прямо сейчас заливают на каналы, значит не все так гладко, ну либо они слишком ленивы и не хотят заниматься продумыванием структуры ботов.
Главный и самый существенный минус бота — это неумение аудитории пользоваться кнопками и прочим функицоналом ТГ. Среди всего прочего, этот минус выделяется и бьет по шарам. Тем не менее, этот "острый угол" можно сгладить с помощью сценариев / событий / контента внутри бота.
Плюсы бота:
Минусы бота:
Если вы протыкали все кнопки в тестовом боте и дошли до этой главы, то вы готовы немного напрячь мозги и сделать красиво. Ниже будет приведена пошаговая инструкция для реализации. Сразу скажу, для того чтобы пройтись по руководству и нигде не ошибиться, нужно ознакомиться хотя бы с базой функционала вашего трекера и сервиса PuzzleBot. Без этого фундамента, вряд ли у вас получится собрать "пазл" воедино и получить что-то рабочее на выходе.
Бот который был приведен в пример выше собран в связке ПП + Keitaro + PuzzleBot. Соотв. все что приведено ниже, будет сделано на примере Keitaro. Если у вас Binom — курите их доку.
Я не буду рассказывать как работает тот или иной сервис, как подцепить бота в Puzzle или как добавить в бота ресурс (канал или чат). Читайте их доку и смотрите поясняющие видосы на их Youtube-канале. Там все подробно расписано.
1. После подключения бота и нужных ресурсов в него, зайдем в раздел Модерация и создадим следующие категории:
В моем примере они указаны так. Вы конечно же можете назвать их как вам заблагорассудиться. Главное чтобы эти категории отображали смысл полученного постбэка от трекера (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 из своей БД и отправить постбэк в трекер. Звучит сложно, но на самом деле все гораздо проще чем кажется.
Еще одна важная деталь состоит в том, что для каждого события свой статус. В кейтаро есть 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) - то этот постбэк будет считаться допродажей. По этой логике можно быстро собирать свои постбэки для любого из событий, для любой из ПП, где есть возможность настраивать постбэки.
Зайдем в "Источники" (/admin/#!/traffic_sources/) в трекере и выберем источник с которого будем заливать схемный трафик, в моем случае это Facebook. Пропишем метку, в которую будет записываться chat_id (уникальный идентификатор пользователя Telegram). По этому параметру в дальнейшем будет происходить синхронизация с ботом юзера. Если не передать chat_id, мы не сможем сделать S2S запрос на API PuzzleBot с названием команды для ее запуска у юзера.
Поэтому настраиваем либо как на скрине, либо в таком порядке:
Моя метка (Название метки для отображения в стате) | my_metka | {my_metka} (в виде макроса).
Далее необходимо прожать галку в левом нижнем углу "Обновить в кампаниях" и сохранить. Опять же, если вы льете не только схемный, но и другие вертикали, необходимо вручную удалить источник из кампании со схемным и снова его туда проставить, а затем сохранить, чтобы все измененные метки из источника подятнулись и проставились в раздел параметров внутри кампании.
Так выглядит у меня настройка кампании. Остальные метки замазаны. Вы можете проставить свои метки в ближайшее свободное поле
Параметры должны проставиться в каждой кампании, которую вы собираетесь заливать в связке с ботом.
Вот тут-то нам и пригодится созданный токен от 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% существующих головняков у команд.
С помощью регистрации юзеров через бота, мне удалось выстроить систему, при которой обработчики могут записывать юзеров пришедших им в личку просто переслав сообщение этого юзера в свой персональный бот (красное выделение).
Так же за счет интеграции персональных ботов с трекером, у обработчика появляется возможность смотреть свою стату с подсчетом их заработка даже не заходя в трекер (синее выделение):