Пошаговая инструкция по настройке рекламы Telegram-каналов за конверсии в Facebook Ads. После каждой успешкой подписки на наш канал в Facebook Ads будет прилетать конверсия. Реализовано с помощью Python-скрипта (написанного Адамом), который отслеживает информацию о новых подписчиках через библиотеку Telethon. Конверсии передаются в трекер Keitaro и через Conversion API в Facebook.
Для установки и правильной работы скрипта нам понадобится:
Установка и подготовка сервера
Покупаем VDS-сервер, например на FriendHosting, тариф Start (можно выбрать другой), выбираем операционную систему Ubuntu 22.04 64 bit и FastPanel.
Спустя 30 минут, должны прийти доступы на почту:
Переходим по адресу из письма в FastPanel, заходим по логину и паролю:
Нажимаем создать сайт:
Выбираем создать сайт вручную:
В поле “Какой домен подключаем” вписываем “telegram-keitaro-capi.com” – в дальнейшем его будем использовать в командах для терминала/консоли. Жмем переход к следующему шагу:
Выключаем базу данных, кликнув по соответствующему тумблеру, и нажимаем создать сайт:
Сайт создан, теперь переходим в карточку сайта:
Скролим вниз и переходим в FTP-аккаунты:
Справа сбоку нажимаем на редактирование уже созданного FTP-аккаунта:
Генерируем или вводим собственный пароль, логин и пароль сохраняем в блокнот, чтобы не потерять данные. Сохраняем:
Дальше используем FTP- клиент. У нас это Filezilla, в программе слева сверху кликаем на Менеджер Сайтов:
Выбираем протокол — FTP, в хост пишем IP-сервера и в Пользователь указываем логин от FTP-аккаунта. Нажимаем соединиться:
В появившимся окне вводим пароль от FTP-аккаунта и нажимаем OK:
После авторизации, удаляем имеющиеся в корневой директории файлы:
Подготовка скрипта
Скачиваем готовый скрипт с Telegram-канала “Блог Адама”:
В архив со скриптом необходимо добавить недостающий текстовый файл “links.txt”, для этого разархивируем скачанный архив и создаем в папке “invites_rotator_php” пустой файл “links.txt”:
Архивируем обратно в .zip все файлы скрипта и загружаем на сервер полученный архив через FileZilla:
Возвращаемся во вкладку FastPanel, переходим в Файлы:
Кликаем по нашему загруженному файлу, справа нажимаем на троеточие и выбираем “Разархивировать”:
Открываем файл “config.py”:
Данные которые нам нужно поменять на свои:
Дальше разберем где брать эти данные.
Как получить данные от Telegram и Keitaro
- api_id = ‘20212727’
- api_hash = ‘1fa0ce4a271a1971a396ff26316f0112’
Переходим на сайт https://my.telegram.org/auth?to=apps, вводим номер телефона от Telegram и нажимаем Next:
Вводим код который пришел в Telegram, нажимаем Sign In:
Вводим рандомные названия в строки App title, Short name. Выбираем в Platform -> Android и нажимаем Create application:
Данные api_id и api_hash получены:
- phone_number = “+123467890”
Введите свой номер телефона от Telegram-аккаунта.
- channel_id = -123467890
В этом же Telegram-аккаунте, создаем Telegram-канал с частным доступом по инвайт-ссылке, от этого зависит работоспособность скрипта:
Переходим в Telegram-бот и пересылаем сообщение с Telegram-канала, чтобы узнать ID:
- kt_address = ‘https://domen.com’
Вписываем домен, который привязан к трекеру Keitaro и работает по https протоколу.
- kt_token = ’37d3312100te0s9a1a01e999f7d92e3e’
Для создание API-ключа в трекере Keitaro, перейдем в Admin -> Профиль -> API-ключи -> Создать новый ключ:
- kt_timezone = ‘Europe/Moscow’
Ставим тайм-зону в зависимости от вашей, которая находится в профиле трекера Keitaro:
После подставления всех данных, сохраняем файл “config.py”:
Создание пригласительных ссылок и сохранение хэшей
Создаем 10 и более инвайт-ссылок в Telegram-канале, для корректной работы скрипта с трекером Keitaro:
В Fastpanel переходим в папку “invites_rotator_php” и открываем файл “links.txt”
Копируем в него все созданные инвайт ссылки в формате хэшей (без https://t.me/+) и нажимаем сохранить:
Установка скрипта на сервер
Далее открываем Консоль (Windows) или Терминал (macOS), в нашем случае это Терминал:
Подключаемся к серверу по команде:
ssh ЛОГИН@IP-СЕРВЕРА -p ПОРТ
В примере:
ssh [email protected]**.**3.26 -p 3333
Вводим пароль:
Вводим команду:
cd корневой каталог
В примере:
cd /var/www/telegram_kei_usr74/data/www/telegram-keitaro-capi.com
Адрес корневого каталога берем в FastPanel -> Карточка сайта:
Устанавливаем Python:
Команда для macOS:
apt install python3-pip
Команда для Windows:
apt install python-pip
Устанавливаем зависимости:
Команда для macOS:
pip3 install -r requirements.txt
Команда для Windows:
pip install -r requirements.txt
Обновляем пакеты:
sudo apt-get update
Устанавливаем пакет screen:
sudo apt-get install screen
Создаем новую сессию в консоли/терминале для работы скрипта в автономном режиме:
screen -S telegram-keitaro-capi
После появления новой вкладки в консоли или терминале вводим команду:
Команда для macOS:
python3 main.py
Команда для Windows:
python main.py
Вводим пароль который пришел в Telegram-аккаунт:
*Если у вас появились ошибки после авторизации, возможно вылетело из Telegram-аккаунта или в файле “Config.py” введены неверные данные.
**Не советуем создавать Telegram-аккаунт на виртуальный номер, доступ к которому вы можете потерять после разлогина.
Автономный режим
ВАЖНО: После авторизации в Telegram-аккаунт, для работы скрипта в автономном режиме, в открытой вкладке Терминала или Консоли нажмите следующую комбинацию клавиш:
- CONTROL + A + D (на macOS)
- CTRL + A + D (на Windows)
Настройка источника Facebook в Keitaro
Создаем или редактируем источник для Facebook:
В “External ID” убираем значение “{fblid}” в параметре “fbclid”, поскольку Facebook передает это значение автоматически:
Подставляем параметры в “sud_id_7″
- Название: Pixel ID;
- Параметр: pixel;
- Значение: вставить пиксель из рекламного кабинета Facebook, с которого вы будете проливать трафик;
Подставляем параметры в “sud_id_14″
- Название: Campaign Domain;
- Параметр: domain;
- Значение: Указываем домен кампании без протокола, на который будет запускаться реклама с Facebook;
Подставляем параметры в “sud_id_15”
- Название: FB Token;
- Параметр: token;
- Значение: В примере токен взят из приложения Facebook. Инструкция как его создать;
*Все остальные параметры не трогаем и оставляем в стандартном виде.
Настройка офферов в Keitaro
Далее необходимо создать в трекере локальные офферы под каждый инвайт и настроить их.
Подробная инструкция по добавлению локальных офферов в трекер Keitaro: https://cpa.rip/services/keitaro-tracker/#Lokalnyj_offer
Сперва переходим по каждой ранее подготовленной инвайт-ссылке с Telegram-канала и скачиваем открывшиеся в браузере страницы плагином:
Каждую скачанную страницу будем грузить в отдельный локальный оффер в трекере. Перед загрузкой обязательно меняем “index.html” на “index.php”:
Далее в каждом локальном оффере в файле “index.php” в начале перед остальным кодом вставить следующий код:
<?php function updateParams($params) { global $rawClick; $subId=$rawClick->getSubId(); if (!empty($subId)) { $result = file_get_contents('http://ТРЕКЕР_ДОМЕН/?_update_tokens=1&sub_id=' . urlencode($subId) . '&' . http_build_query($params)); } } updateParams(array( 'sub_id_13' => 'ХЭШ ссылки Telegram-канала' , )); ?>
В этот код обязательно надо подставить IP адрес своего трекера Keitaro вместо “ТРЕКЕР_ДОМЕН” и прописать, соответствующий скачанной странице, хеш инвайта в параметр “sub_id_13” вместо “ХЭШ ссылки Telegram-канала”.
Важно! Для каждого скачанного при переходе по инвайту лендинга необходимо подставить в код соответсвующий ему ХЭШ. Пример: если мы скачали страницу, перейдя по ссылке http://t.me/+wfla4raHVVAyM2NI, то в код вставляем в качестве значения sub_id_13 хэш из этой ссылки, т.е. wfla4raHVVAyM2NI.
Это можно сделать до загрузки файла в трекер или в самом трекере, для этого в режиме редактирования оффера в Keitaro нажимаем иконку “<>”:
И вносим нужные правки в открывшемся редакторе:
Настройка кампании в Keitaro
- Выбираем домен, с которого будет литься реклама в Facebook;
- Выбираем настроенный источник Facebook;
- Выбираем локальные офферы;
- Выбираем ротацию потоков по весу и привязываем их к потокам, лендингам и офферам.
Настройки запуска рекламы в Facebook
Копируем ссылку с кампании Keitaro и вставляем ее в Website URL, но без параметров (https://домен.com/идентификатор).
Спускаемся ниже и вставляем все параметры в поле “URL parameters”:
После всех настроек запускаем рекламную кампанию.
Передача лидов по API с Telegram в Facebook
При подписке пользователя через нашу ссылку с Keitaro, скрипт отправляет событие по API в кампанию Facebook:
Передача данных в трекер Keitaro
Скрипт передаёт в Keitaro следующие данные о пользователе, который подписался: имя, фамилию, @username (никнейм), номер телефона (если он не скрыт), и т.д.
Дополнительные команды
Во время работы со скриптом могут пригодиться следующие команды.
Проверка открытых сессий
screen -ls
Перейти к открытой сессии
screen -r telegram-keitaro-capi
Открывается рабочая сессия:
Создать новую сессию
screen -S telegram-keitaro-capi
Выйти из сессии
screen -X -S НАЗВАНИЕ_СЕССИИ quit
Пример: screen -X -S 57612.telegram-keitaro-capi quit