Пуші: повторна монетизація аудиторії бота

База підписників бота - найближче, що є в арбітражі трафіку до «власного» активу: за цих користувачів ви вже заплатили один раз, а писати їм можна знову і безкоштовно. Пуші - і є цей важіль: розіслати новий офер усій аудиторії бота за розкладом або автоматично наздогнати саме того користувача, який щойно зареєструвався, але не вніс депозит. Кожен пуш - ще одна спроба заробити на трафіку, який ви вже купили.

Два типи пушів

  • «За розкладом» - розсилка по всій аудиторії бота у дату й час, які ви вкажете.
  • «За подією» - зведене повідомлення, яке спрацьовує, коли користувач тригерить подію воронки (наприклад, реєстрацію чи депозит). Іде саме цьому користувачу, а не всій базі.

Створення пуша

  1. Відкрийте «Пуші» і натисніть «Створити пуш».
  2. Введіть ID потрібного бота в поле «ID бота» - це внутрішній ID бота, а не його @username. Аудиторія береться з підписників саме цього бота і нікого більше.
  3. Задайте назву пуша (тільки внутрішня, підписники її не бачать) і текст повідомлення - до 4096 символів. Текст надсилається з увімкненим Telegram HTML-форматуванням, тож <b>, <i> і <a href=""> працюють - стежте, щоб теги були збалансовані, бо випадковий неекранований < чи & зламає всю відправку.
  4. За бажанням прикріпіть одне зображення в полі «Зображення (необов'язково)». Коли зображення прикріплене, текст повідомлення надсилається як підпис до фото, а не як звичайне повідомлення.
  5. Виберіть тригер: «За розкладом» або «За подією». Пуш «За розкладом» вимагає вказаної дати й часу, інакше створити його не вийде.
  6. Натисніть «Створити пуш».

Якщо час запланованого пуша вже в минулому, він піде одразу - тож перевіряйте вибір дати, якщо мали на увазі «зараз», а пікер підставив час на кілька хвилин раніше.

Форма створення пуша з варіантами «за розкладом» і «за подією»Форма створення пуша з варіантами «за розкладом» і «за подією»

Звідки береться аудиторія

Підписник потрапляє в базу в один-єдиний момент - коли людина сама надсилає боту /start. Активний Флоу для цього не потрібен: запис підписника йде вище за перевірку на флоу, тож бот без жодного флоу все одно накопичує аудиторію.

Сьогодні новий рядок у базі створює тільки /start, і це головне обмеження пушів: Telegram не дозволяє боту писати першим тому, хто йому не відповідав, а натискання інлайн-кнопки відповіддю НЕ вважається. Тому в аудиторію не потрапляють ні ті, хто вступив у канал за посиланням, ні ті, хто відкрив Mini App (під час її запуску /start не надходить), ні ті, хто просто натиснув кнопку під повідомленням. Доки людина не надіслала /start, надіслати їй пуш не вийде.

«Сьогодні» тут не застереження. Коли база підписників тільки з'явилася, її один раз досипали з історії флоу: туди потрапив кожен чат, який колись проходив флоу цього бота, - а флоу запускається від будь-якого повідомлення чи натискання кнопки, не лише від /start. Такі рядки в базі є, а дозволу писати за ними немає, і саме з них береться результат «діалогу не було ніколи» в розділі нижче.

Після того як підписник відстежений, аудиторія пуша - це активні підписники бота: ті, для кого Telegram досі приймає повідомлення від цього бота.

Статуси та статистика доставки

Кожен створений пуш одразу стає живим і потрапляє в статус «Заплановано» - зведений і готовий чекати, незалежно від того, чи це відлік до часу відправки (для «За розкладом») чи готовність до наступної відповідної події (для «За подією»). Розсилка «За розкладом» потім переходить у «Надсилається», поки йде відправка, і завершується статусом «Надіслано» або «Помилка». Пуш «За подією» назавжди лишається в статусі «Заплановано» - це не зависання, а нормальний зведений стан, готовий спрацювати знову щоразу, як хтось тригерить подію.

Колонка «Охоплення» показує доставлено/усього за цей запуск.

  • Чат, який Telegram відмовився прийняти, виявляють просто під час відправки, автоматично вимикають і пропускають у наступних розсилках. Відмови в Telegram різні, і платформа запам'ятовує, яка саме сталася, - див. наступний розділ.
  • Один мертвий чат ніколи не валить усю розсилку - помилки рахуються окремо по кожному одержувачу. Статус «Помилка» пуш отримує, лише якщо в нього була аудиторія, але не дійшло до жодного; порожня аудиторія - це чесний «Надіслано» з охопленням 0/0.

Чому чат перестає отримувати пуші

Telegram відмовляє боту чотирма різними способами. Списати їх усі у відтік - помилка: відтоком можна назвати два з чотирьох, третій - дефект вашої воронки, який ви справді можете полагодити, а четвертий платформа повернути в аудиторію не вміє взагалі.

  • Людина заблокувала бота. Дозвіл у нас був, і ми його втратили. Повернути чат може лише вона сама: розблокувати бота і знову надіслати /start. Це чесний відтік.
  • Діалогу не було ніколи. Дозволу не було ані секунди - чат опинився в базі не через /start. Це не відтік, а дефект воронки: людину треба довести до /start кнопкою в каналі, посиланням у креативі, першим кроком флоу.
  • Акаунт видалено. Людина видалила Telegram. Єдиний випадок, для якого «мертвий чат» - правда: зробити не можна нічого.
  • Бота вигнали з групи або каналу. Ідеться вже не про людину, а про членство бота в чаті, і штатного ремонту для цього результату платформа не має. Адмін поверне бота в чат - членство відновиться, а рядок підписника лишиться вимкненим: вмикає його назад лише /start, що прийшов із цього самого чату. Такий /start платформа прийме і з групи - на тип чату вона ніде не дивиться, - але сама вона нікого про це не попросить: ні кнопки, ні підказки для цього в продукті немає.

Є і п'ятий результат - відмова з незнайомим формулюванням. Telegram переписує тексти своїх помилок, тож нерозпізнану відмову трактують обережно: чат вимикається, як і раніше.

Поведінка пушів за подією

Пуш «за подією» зводиться в момент створення й лишається зведеним: із часом його може тригерити багато різних користувачів, і кожен отримує його не більш ніж один раз на подію-тригер - за умови, що на момент спрацювання він досі активний підписник. Використовуйте це для «грошових» моментів: «ви зареєструвалися - ось бонус на депозит» приходить, поки інтент ще гарячий.

Одного форма створення поки не вміє: вона лише перемикає пуш у режим «За подією», але не дає обрати, на яку саме подію він зводиться. Пуш, створений у дашборді, не прив'язаний до конкретної події й сам по собі не спрацює - тож щоб запустити пуш «за подією» на реальну подію (реєстрацію, депозит тощо), попросіть підтримку звести його після того, як ви його створили.

Часті граблі

  • Після створення немає ні редагування, ні паузи - тільки створення, перегляд списку й видалення. Щоб змінити час, текст або тригер, видаліть пуш і створіть новий; видалення живого пуша «За подією» - це і є спосіб зупинити його спрацювання.
  • Поле «ID бота» приймає внутрішній ID бота, а не його @username, і сторінка «Боти» цей ID ніде не показує - запам'ятайте його ще з моменту підключення бота або зверніться в підтримку.
  • Пуш «За розкладом» потребує вказаних дати й часу ще до відправки форми - зберегти чернетку й запланувати пізніше не вийде.
  • Пуші доходять лише до тих, хто сам надіслав боту /start. Активний флоу для цього не потрібен - якщо охоплення мале, шукайте місце, де людина мала написати боту й не написала, а не зламаний флоу.
  • Telegram обмежує звичайний текст повідомлення 4096 символами. Якщо прикріпити зображення, текст іде підписом до фото, а його Telegram обмежує 1024 символами - і задовгий підпис він не обрізає, а відхиляє цілком, тож розсилка не дійде ні до кого. Тепер працюють обидві межі: форма перемикається на ліміт 1024, щойно ви прикріпили картинку, і показує лічильник символів, а API відбиває ту саму комбінацію - пуш, створений повз панель, теж не прослизне.
  • Охоплення нижче за кількість підписників - не обов'язково відтік. Відтік - це «заблокував бота» і «акаунт видалено». «Діалогу не було ніколи» - дефект воронки, і він лікується. А «бота вигнали з чату» не лікується ні тим, ні іншим: рядок лишається вимкненим і після того, як адмін поверне бота. Розбирайтеся з розривом за причиною відмови, а не списуйте його цілком.
  • Потрібен масовий анонс? Це «За розкладом». Повідомлення «За подією» йдуть лише тому користувачеві, який тригернув подію.