Доброе утро! Я Григорий, автор сервиса защиты от поведенческих ботов KillBot, который продвигаю и делюсь своим опытом.
Содержание:
-
Как согреть пользователя;
-
Стратегии использования промокодов для горячих и холодных пользователей;
-
Как сделать так, чтобы промокод не запоминался;
-
Создаем Telegram-бот, который выдает промокод на подписку. [php код];
-
Пример работающего Telegram-бота;
Ко мне постоянно обращаются и в ВКонтакте, и в РСЯ с просьбой подписаться на Telegram-канал.
Содержание
- 1 НО, для них я холодный зритель
- 2 Как прогреть пользователя
- 3 Стратегии использования промокодов для теплых пользователей
- 4 Стратегии использования промокодов для холодных пользователей:
- 5 Как не дать промокоду стать «левым»
- 6 Создаем Telegram-бот, который выдает промокод на подписку.
- 7 Пример работающего Telegram-бота, предлагающего промокод
- 8 Далее я расскажу, как я за один месяц привел на свой онлайн-сервис 300 новых пользователей.
НО, для них я холодный зритель
Они совершают ту же ошибку. Когда предложение делается в лоб, без какого-либо предварительного взаимодействия, оно не приводит к хорошим результатам: отдача минимальна, а абонент обойдется в большие деньги.
Честно говоря, сама регулярно этим балуюсь и результатов до сих пор нет)
Из всех блоггеров, предложивших мне подписку, только Строков (блог Строкова в Директе) сделал это правильно, обратившись ко мне как к теплой аудитории. Поэтому, если вы выбираете специалиста по таргетингу, обязательно стоит обратить внимание на то, как он сам настраивает рекламу и каких результатов достигает.
Чтобы мотивировать пользователя подписаться на канал, нужно предложить ему что-то полезное, например, промокод, которым он сможет воспользоваться на заранее оговоренных условиях.
Предлагать промокод нужно с умом и только для разогрева пользователей, чтобы промокод не стал «левым» и не потерял свою ценность.
Как прогреть пользователя
-
Пользователь сам (в поиске например) должен найти статью о вас и дочитать ее;
-
Пользователь должен найти видео о вас и досмотреть его до конца;
-
Пользователь должен сам найти товар и приобрести его (это может быть не актуально для маркетплейса, поскольку маркетплейс обезличивает себя);
-
Пользователь должен быть рекомендован другом или авторитетом;
-
По-другому, когда пользователь услышит о вас и подумает «Ух ты! Вот что он может! » ;
Стратегии использования промокодов для теплых пользователей
-
Ретаргетинг: использование ретаргетинга с промокодом может побудить вас вернуться и совершить покупку. Пример: «Заметили, что вы добавили наш товар в корзину? Вот промокод на скидку 15% на ваш заказ!
-
Промокод на повторную покупку. Пользователям, которые уже совершили покупку, вы можете предложить промокод в знак благодарности за покупку, побуждая их совершить еще одну покупку. Ниже приведен пример бонуса за продление подписки, который мне был предложен:
-
Эксклюзивные предложения по электронной почте или в личных сообщениях в Messenger: Теплые пользователи ожидают особого отношения, поэтому отправка им промо-кода по личным каналам (например, Telegram или электронной почте) с сообщением типа «Для наших лучших клиентов/последователей» покажет, что они являются приоритетом.
Стратегии использования промокодов для холодных пользователей:
-
Реферальные программы: Один из наиболее эффективных способов использования промокода — пригласить теплого пользователя поделиться им с друзьями. В этом случае бонусы получают и рекомендатель, и новый пользователь. Пример: «Поделитесь этим промокодом с другом, и вы оба получите скидку 10 % на следующую покупку!» »
-
Сотрудничество с блоггерами и инфлюенсерами: Люди доверяют блоггерам, за которыми следят, поэтому важно выбирать тех, кто находит отклик у вашей целевой аудитории. Промокод должен восприниматься как личная рекомендация блоггера, а не просто реклама. Пример: «Ребята, я пользуюсь этим сервисом уже месяц и он мне очень нравится! Вот мой промокод, по которому вы также можете получить скидку 20% на свой первый заказ. »
-
Видеообзор с упоминанием промокода: Видеоконтент — отличный способ встроить промокод, где блогер может показать товар в действии и в конце предложить скидку по промокоду. Зрители видят реальное применение продукта и чувствуют связь с рекомендацией. Пример: «Я попробовал этот новый продукт и, честно говоря, я впечатлен! Если хотите попробовать сами, вот промокод на скидку 10%. »
Как не дать промокоду стать «левым»
Промокоды теряют свою ценность, если их распространять повсеместно без фильтрации аудитории. Важно избегать слишком большого распространения промокода по каналам, где он может стать «бесполезным». Вот несколько способов избежать этой проблемы:
-
Ограниченная доступность.
Создайте ощущение эксклюзивности. Например, промокод может быть активен только для подписчиков канала или тех, кто взаимодействовал с ботом. Таким образом вы исключите возможность его «утечки» в руки случайным людям. -
Промокоды с ограничением продолжительности или количества активаций.
Укажите срок действия промокода или ограничьте количество раз его использования, чтобы пользователи почувствовали, что им следует быстро воспользоваться предложением и что это не является «массовым» предложением. -
Персонализированные промокоды.
Используйте уникальные коды для каждого пользователя. Это может быть связано с регистрацией в Telegram-боте или привязано к аккаунту пользователя, чтобы код нельзя было просто скопировать и отправить по сети.
Итак, стратегия распространения промокодов должна учитывать аудиторию, ее доверие и предпочтения. Пользователи будут более охотно использовать промокод, если увидят в нем реальную ценность и получат его из источников, которым они доверяют.
Создаем Telegram-бот, который выдает промокод на подписку.
Принцип работы прост: мы создаем Telegram-бота, который проверяет, подписан ли пользователь на канал. Если подписка подтверждена, пользователь получает промокод.
1. Создайте бота через BotFather.
Для этого зайдите в Telegram-бот нажмите на меню, затем «создать нового бота». После создания бота скопируйте его API-токен:
В моем примере был создан бот @KillBotJoin_bot — пока это просто Telegram-бот, у которого нет встроенной логики раздачи промокодов.
2. Сделайте бота администратором канала.
Чтобы бот мог просматривать список подписчиков, его необходимо добавить в админку канала.
Вот как это сделать:
-
Перейти к Telegram-каналнажмите на три точки и выберите «Управление каналом».
-
Зайдите в раздел «Администраторы«.
-
Найти в поиске робот по имени системы через @name.
-
Добавьте это как администратор.
3. Дадим боту «мозги»
Теперь давайте создадим php-файл, который будет использовать API Telegram для проверки, подписан ли пользователь на канал или нет.
Давайте создадим файл bot.php:
// Ваш телеграмм API токен
$apiToken = "";
// Измените на ваш ID канала
// Узнать ID канала: 1) Напишите боту: 2) Перешлите любой пост из канала в диалог с ботом
$channelId = ""; // пример: channelId = -1001808575391
// Измените на ваш текст с промокодом
$promoText = "Ваш промокод: KillBot-1998 \nВведите промокод при создании нового аккаунта на KillBot: и у вас будет сразу две активные подписки: KillBot и Direct";
// Текст предложением подписаться на канал
$subscriptionText = "Подпишитесь на канал чтобы получить промокод номиналом 1998р. для месячной подписки на сервис выявления ботов KillBot:
$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 = "
$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 = "
$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 = "
// Используем 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 помещаем токен нашего Telegram-бота, ChannelId — это идентификатор Telegram-канала.
Чтобы узнать идентификатор канала Telegram:
-
Пересылайте любой пост с канала, идентификатор которого вам нужно знать, в диалог с ботом
В переменные $promoText и $subscriptionText введите именно текст вашего предложения по подписке и текст с промокодом.
Все, после этого файл bot.php готов к использованию.
4. Зарегистрируйте bot.php в качестве обработчика.
Разместите файл bot.php в корень вашего сайта, сайт должен быть на протоколе https, чтобы бот был доступен по ссылке: https://mywebsite.ru/bot.php
Сохраните крючок; При запуске Telegram бот получит доступ к скрипту bot.php и отобразит свой ответ:
https://api.telegram.org/botВАШ_API_ТОКЕН/setWebhook?url=https://mywebsite.ru/bot.php
Робот готов к работе!
Пример работающего Telegram-бота, предлагающего промокод
Вы можете увидеть моего Telegram-бота, созданного точно по описанной выше схеме: https://t.me/KillBotJoin_bot
Далее я расскажу, как я за один месяц привел на свой онлайн-сервис 300 новых пользователей.
Это сообщение я опубликую на своем Telegram-канале: так что подписывайтесь, чтобы не пропустить этот интересный материал. А как наглядно доказать, что бот кликнул по объявлению — это мой третий пост снизу.