- PVSM.RU - https://www.pvsm.ru -
Привет! Я — Григорий, автор сервиса защиты от поведенческих ботов KillBot, который продвигаю и делюсь опытом.
Содержание:
Как пользователя сделать тёплым;
Стратегии промокода для тёплых и холодных пользователей;
Как избежать чтобы промокод стал левым;
Создаём Telegram бота, который дарит промокод за подписку [php код];
Пример рабочего Telegram бота;
На меня постоянно таргетируются и ВКонтакте и в РСЯ с просьбой подписаться на Telegram канал.
Они делают одну и ту же эту ошибку. Когда предложение делается "в лоб", без какого-либо предварительного взаимодействия, это не приводит к хорошим результатам — отдача минимальна, а подписчик обойдётся очень дорого.
Честно говоря, сам регулярно этим балуюсь и результат всегда никакой)
Из всех блогеров что предлагали мне подписку, только Строков (блог Строкова о Директе) делал это правильно, обращаясь ко мне как к тёплой аудитории. Поэтому, если выбираете специалиста по таргетингу, стоит обязательно обратить внимание на то, как они сами настраивают рекламу и какие результаты получают.
Чтобы мотивировать пользователя подписаться на канал, нужно предложить ему что-то полезное, например, промокод, который он сможет использовать по заранее оговоренным условиям.
Предложение промокода нужно делать грамотно и только тёплым пользователям, чтобы промокод не стал «левым» и не утратил свою ценность.
Пользователь сам (в поиске, например) должен найти статью о вас и дочитать её;
Пользователь сам должен найти видео о вас и досмотреть;
Пользователь сам должен найти товар и купить (для маркетплейса может быть не актуально, так как маркетплейс обезличивает);
Пользователю должен вас порекомендовать друг или авторитет;
Любой другой способ когда пользователь услышит о вас и подумает "Вот это да! Вот это они умеют!";
Ретаргетинг: Использование ретаргетинга с промокодом может стимулировать вернуться и завершить покупку. Пример: "Заметили, что вы добавили в корзину наш продукт? Вот промокод на 15% скидки для вашего заказа!"
Промокод на повторную покупку. Для уже купивших пользователей можно предложить промокод как благодарность за покупку, стимулируя их к повторной покупке. Ниже пример бонуса за продление подписки, которое мне предложили:
![Зачем на тебя подписываться, чтобы ты мне уведомления слал? [или как впарить промокод за подписку в Telegram] - 1 Зачем на тебя подписываться, чтобы ты мне уведомления слал? [или как впарить промокод за подписку в Telegram] - 1](http://www.pvsm.ru/images/2024/10/24/zachem-na-tebya-podpisyvatsya-chtoby-ty-mne-uvedomleniya-slal-ili-kak-vparit-promokod-za-podpisku-v-Telegram.jpg)
Эксклюзивные предложения через email или личные сообщения в мессенджере: Теплые пользователи ожидают особого отношения, поэтому отправка им промокода через личные каналы (например, Telegram или email) с сообщением вроде "Для наших лучших клиентов/подписчиков" покажет, что они в приоритете.
Реферальные программы: Один из самых эффективных способов использовать промокод — предложить тёплому пользователю делиться им с друзьями. При этом и рекомендатель, и новый пользователь получают бонусы. Пример: "Поделитесь этим промокодом с другом — и вы оба получите скидку 10% на следующую покупку!"
Сотрудничество с блогерами и инфлюенсерами: Люди доверяют блогерам, которых смотрят, поэтому важно выбрать тех, кто резонирует с вашей целевой аудиторией. Промокод должен звучать как личная рекомендация от блогера, а не просто рекламное объявление. Пример: "Ребята, я пользуюсь этим сервисом уже месяц, и мне он очень нравится! Вот мой промокод, чтобы вы тоже могли получить 20% скидки на первый заказ."
Видео-обзор с упоминанием промокода: Видео-контент — это отличный способ интегрировать промокод, где блогер может показать продукт в действии, а в конце предложить скидку с промокодом. Зрители видят реальное применение продукта и чувствуют связь с рекомендацией. Пример: "Я протестировал эту новинку, и честно — впечатлен! Если хотите попробовать сами, вот промокод на 10% скидку."
Промокоды теряют свою ценность, если они раздаются повсеместно без фильтрации аудитории. Важно избегать чрезмерного распространения промокода через каналы, где он может стать "ненужным". Вот несколько способов избежать этой проблемы:
Ограниченная доступность.
Создайте ощущение эксклюзивности. Например, промокод может быть активен только для подписчиков канала или для тех, кто взаимодействовал с ботом. Так вы исключаете возможность его "утечки" в руки случайных людей.
Промокоды с ограничением по времени или количеству активаций.
Укажите срок действия промокода или ограничьте количество его активаций, чтобы пользователи чувствовали, что нужно воспользоваться предложением быстро и что оно не является "массой".
Персонализированные промокоды.
Используйте уникальные коды для каждого пользователя. Это может быть связано с регистрацией в Telegram-боте или привязано к аккаунту пользователя, чтобы код не мог быть просто скопирован и разослан по сети.
Таким образом, стратегия распространения промокодов должна учитывать аудиторию, их доверие и предпочтения. Пользователи будут использовать промокод охотнее, если они видят в нем реальную ценность и получают его от источников, которым доверяют.
Схема работы проста: мы создаём Telegram-бота, который проверяет, подписан ли пользователь на канал. Если подписка подтверждена, пользователь получает промокод.
Для этого переходим в Telegram бота https://t.me/BotFather [1] , кликаем меню, далее "create a new bot". После создания бота скопируйте его АПИ токен:
В моем примере создан бот @KillBotJoin_bot [2] - пока это просто Telegram бот, в которого не вшита логика раздачи промокодов.
Чтобы бот мог посмотреть список подписчиков - его нужно добавить в администраторы канала.
Вот как это сделать:
Зайдите в Telegram-канал, нажмите на три точки и выберите «Управление каналом».
Перейдите в раздел «Администраторы».
В поиске найдите бота по системному имени через @имя.
Добавьте его в качестве администратора.
Теперь создадим php файл, который будет по Telegram АПИ проверять подписан на канал пользователь или нет.
Создаём файл bot.php:
// Ваш телеграмм API токен
$apiToken = "";
// Измените на ваш ID канала
// Узнать ID канала: 1) Напишите боту: https://t.me/getmyid_bot 2) Перешлите любой пост из канала в диалог с ботом
$channelId = ""; // пример: channelId = -1001808575391
// Измените на ваш текст с промокодом
$promoText = "Ваш промокод: KillBot-1998 nВведите промокод при создании нового аккаунта на KillBot: https://killbot.ru/user/register и у вас будет сразу две активные подписки: KillBot и Direct";
// Текст предложением подписаться на канал
$subscriptionText = "Подпишитесь на канал https://t.me/KillBotRus чтобы получить промокод номиналом 1998р. для месячной подписки на сервис выявления ботов KillBot: https://killbot.ru";
$update = json_decode(file_get_contents("php://input"), TRUE);
$chatId = isset($update["message"]["chat"]["id"]) ? $update["message"]["chat"]["id"] : null;
$userId = isset($update["message"]["from"]["id"]) ? $update["message"]["from"]["id"] : null;
if (isset($update["callback_query"])) {
$chatId = $update["callback_query"]["message"]["chat"]["id"];
$userId = $update["callback_query"]["from"]["id"];
// Обрабатываем нажатие кнопки
handleStartCommand($chatId, $userId, $apiToken);
} else {
if (!$chatId || !$userId) {
sendMessage($chatId, "Ошибка: не удалось получить chat_id или user_id.", $apiToken);
exit;
}
handleStartCommand($chatId, $userId, $apiToken);
}
// Функция для отправки сообщения пользователю с кнопками
function sendMessageWithKeyboard($chatId, $message, $apiToken, $replyMarkup) {
$url = "https://api.telegram.org/bot$apiToken/sendMessage";
$postFields = array(
'chat_id' => $chatId,
'text' => $message,
'reply_markup' => json_encode($replyMarkup)
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);
curl_close($ch);
}
function sendMessage($chatId, $message, $apiToken) {
$url = "https://api.telegram.org/bot$apiToken/sendMessage";
$postFields = array(
'chat_id' => $chatId,
'text' => $message
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);
curl_close($ch);
}
// Проверка подписки на канал
function isUserSubscribed($userId, $channelId, $apiToken) {
//return false;
$url = "https://api.telegram.org/bot$apiToken/getChatMember?chat_id=$channelId&user_id=$userId";
// Используем curl для выполнения запроса
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, TRUE);
global $chatId;
// Если бот не имеет доступа, отправляем уведомление
if (isset($data["error_code"]) && $data["error_code"] === 400) {
sendMessage($chatId, "Отладка - Ответ от getChatMember: " . print_r($data, true), $apiToken);
sendMessage($chatId, "Не удалось проверить подписку. Пожалуйста, убедитесь, что бот является администратором канала.", $apiToken);
return false; // Не подписан
}
// Проверяем статус пользователя
if (isset($data["result"]["status"]) &&
($data["result"]["status"] === "member" || $data["result"]["status"] === "administrator" || $data["result"]["status"] === "creator")) {
return true; // Подписан
} else {
return false; // Не подписан
}
}
// Функция для обработки команды /start
function handleStartCommand($chatId, $userId, $apiToken) {
global $channelId;
global $promoText;
global $subscriptionText;
// Проверяем, подписан ли пользователь на канал
if (isUserSubscribed($userId, $channelId, $apiToken)) {
sendMessage($chatId, $promoText, $apiToken);
} else {
$keyboard = [
'inline_keyboard' => [
[
['text' => 'Проверить подписку', 'callback_data' => 'check_subscription']
]
]
];
sendMessageWithKeyboard($chatId, $subscriptionText, $apiToken, $keyboard);
}
}
Вверху этого файла есть два пустых параметра, в них вам нужно внести свои данные, это:
$apiToken
$channelId
В apiToken помещаем токен нашего Telegram бота, channelId - это ID Telegram канала.
Чтобы узнать ID Telegram канала:
Напишите боту: https://t.me/getmyid_bot [3]
Перешлите любой пост из канала которого нужно узнать ID в диалог с ботом
В переменные $promoText и $subscriptionText введите именно ваш текст предложения подписаться и текст с промокодом.
Все, после этого файл bot.php готов к работе.
Закиньте файл bot.php в корень вашего сайта, сайт обязательно должен быть на https протоколе, чтобы бот был доступен по ссылке: https://mywebsite.ru/bot.php [4]
Зарегистрируйте хук, при запуске Telegram бот обратится к скрипту bot.php и выдаст его ответ:
https://api.telegram.org/botВАШ_API_ТОКЕН/setWebhook?url=https://mywebsite.ru/bot.php
Бот готов к работе!
Можете посмотреть моего Telegram бота, созданного в точности по схеме что описано выше: https://t.me/KillBotJoin_bot [5]
Этот пост я размещу в своём Telegram канале: https://t.me/KillBotRus [6], поэтому подписывайтесь на него, чтобы не пропустить этот интересный материал. А как однозначно доказать, что клик по рекламе сделал бот - это мой 3 пост снизу.
Автор: grigoriy-melnikov
Источник [7]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/promokod/400441
Ссылки в тексте:
[1] https://t.me/BotFather: https://t.me/BotFather
[2] @KillBotJoin_bot: https://www.pvsm.ru/users/KillBotJoin_bot
[3] https://t.me/getmyid_bot: https://t.me/getmyid_bot
[4] https://mywebsite.ru/bot.php: https://mywebsite.ru/bot.php
[5] https://t.me/KillBotJoin_bot: https://t.me/KillBotJoin_bot
[6] https://t.me/KillBotRus: https://t.me/KillBotRus
[7] Источник: https://habr.com/ru/articles/852326/?utm_campaign=852326&utm_source=habrahabr&utm_medium=rss
Нажмите здесь для печати.