Головна/Блог/Атрибуція в Telegram: як рахувати трафік із каналів і ботів
§ блог uaff

Атрибуція в Telegram: як рахувати трафік із каналів і ботів

9 хв870
Атрибуція в Telegram: як рахувати трафік із каналів і ботів
AI · beta
Прочитати за 15 секундШІ стиснув матеріал у короткі абзаци — для швидкого огляду.
§ Зміст статті · 7 розділів
7 пунктів
  1. 01Що і де можна трекати в Telegram
  2. 02UTM-мітки для Telegram-каналів
  3. 03Deep links і параметри /start
  4. 04Як відстежувати конверсію всередині бота
  5. 05Інструменти для атрибуції
  6. 06Послідовність налаштування
  7. 07Висновок

Telegram зручний як джерело трафіку, але його аналітика помітно відрізняється від класичної веб-реклами. Частина шляху користувача проходить усередині застосунку, тому звичного набору UTM-міток часто недостатньо. Людина може побачити рекламу в каналі, перейти в бота, залишити контакт, відкрити сайт і лише через деякий час здійснити покупку. Якщо між цими етапами не передається стабільний ідентифікатор, джерело конверсії втрачається. Тому атрибуцію в Telegram краще будувати як послідовний ланцюжок, у якому UTM, параметри /start, SubID, click ID і postback доповнюють одне одного.

Що і де можна трекати в Telegram

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

З ботами ситуація складніша, оскільки користувач може взагалі не відкривати веб-сторінку. У такому випадку джерело потрібно передати безпосередньо під час запуску бота. Для цього Telegram підтримує deep links із параметром /start.

Бот отримує значення параметра разом із командою запуску, після чого його можна записати в базу та пов'язати з Telegram ID або внутрішнім ID користувача. Після цього всередині бота можна фіксувати практично будь-які потрібні дії. Наприклад, запуск сценарію, натискання кнопки, вибір тарифу, відправлення телефону, завершення анкети, створення заявки або оплату.

Якщо бот передає дані в CRM, до ліда можна додати також source ID, campaign ID та click ID. Це дає змогу не обмежуватися статистикою запусків і бачити, які джерела дають реальні продажі. Окрема задача — атрибуція підписок на канали. Звичайне посилання на публічний канал не повідомляє, з якого саме рекламного розміщення прийшов новий підписник. Для точнішого обліку використовують окремі invite links. 

Основні проблеми з атрибуцією виникають на переходах між середовищами. Канал, бот, сайт, застосунок і CRM можуть використовувати різні ідентифікатори. Якщо зв'язок між ними не передбачити заздалегідь, у статистиці залишаться окремі кліки, окремі користувачі бота та окремі покупки, які неможливо надійно об'єднати в одну воронку.

UTM-мітки для Telegram-каналів

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

Для Telegram можна використовувати таку логіку:

  • utm_source=tg_financehub — конкретний канал або паблішер;

  • utm_medium=telegram — тип трафіку;

  • utm_campaign=loan_sep26 — кампанія, офер або рекламний запуск;

  • utm_content=post17_video_a — конкретний пост, кнопка або креатив.

Тоді посилання може виглядати так: https://example.com/offer?utm_source=tg_financehub&utm_medium=telegram&utm_campaign=loan_sep26&utm_content=post17_video_a.

Важливо не тільки додавати UTM, а й заздалегідь домовитися про єдину систему назв. Якщо один канал у різних кампаніях записаний як financehub, finance_hub і FinanceHub, аналітика сприйматиме ці значення окремо. З часом звіти стають фрагментованими, а ручне зведення даних займає дедалі більше часу. Тому практичніше використовувати латиницю, нижній регістр і короткі стабільні ідентифікатори.

utm_content зручно застосовувати не лише для позначення креативу. Він може показувати конкретний пост або навіть розташування посилання всередині одного матеріалу. Наприклад, верхня кнопка матиме значення post17_top, а текстове посилання наприкінці — post17_bottom.

Окремо слід розрізняти UTM і технічні параметри трекера. UTM описують маркетингове джерело. Click ID, SubID, placement ID або publisher ID потрібні для технічного зв'язку між системами. Їх можна передавати в тому самому URL, але логічно зберігати як окремі поля. Ще одна типова помилка виникає під час редиректів. Посилання з Telegram спочатку веде на трекер, потім на преленд, а далі на офер, але на одному з етапів частина параметрів зникає. Тому перед запуском варто пройти весь маршрут тестовим кліком і перевірити, які значення фактично доходять до фінальної сторінки.

Якщо рекламне розміщення веде не на сайт, а безпосередньо в Telegram-бота, звичайні UTM не вирішують задачу атрибуції. У цьому випадку використовується deep link на кшталт https://t.me/offer_bot?start=tg42_p17_cr2.

Частина після start= є payload, який бот отримує разом із командою запуску. У прикладі tg42 може означати канал, p17 — конкретний пост, а cr2 — варіант креативу. Після першої взаємодії бот записує це значення в базу й пов'язує його з користувачем.

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

Наприклад, перед розміщенням створюється токен a7K3mQ. У базі або трекері він пов'язаний із каналом, кампанією, номером поста, креативом і click ID. У Telegram публікується коротке посилання https://t.me/offer_bot?start=a7K3mQ. Після запуску бот отримує токен, знаходить відповідний запис і вже на сервері відновлює повний набір атрибуційних параметрів. Рекламне посилання не залежить від того, скільки внутрішніх полів використовується в системі. До запису токена можна додати новий параметр у CRM або трекері, не змінюючи URL, який уже опублікований у каналі.

Варто також визначити, як система поводиться з повторними входами. Користувач може вперше відкрити бота після реклами в каналі A, а через кілька днів перейти за іншим посиланням із каналу B. Якщо кожен новий /start просто перезаписує попереднє значення, інформація про перше джерело зникне. Тому зазвичай корисно зберігати принаймні два поля — first-touch і last-touch. Перше показує початкове джерело залучення, друге — останній відомий контакт перед конверсією.

Як відстежувати конверсію всередині бота

Сам факт запуску бота ще мало говорить про якість трафіку. Один канал може давати багато /start, але майже не приводити заявок, тоді як інший матиме менший обсяг переходів і вищу частку оплат. Тому після першого запуску потрібно продовжувати передавати атрибуційні дані разом із користувачем. 

Надійніше зберігати source ID в постійній базі. Запис може містити внутрішній user ID, Telegram ID, кампанію, джерело, click ID, дату першого входу та останнє відоме джерело. Далі будь-яка подія в боті записується вже разом із цими даними.

Припустимо, користувач запускає бота, обирає продукт, залишає телефон і створює заявку. На кожному кроці можна зафіксувати відповідну подію — bot_start, product_select, phone_shared і lead. Якщо після цього заявка передається в CRM, разом із контактними даними туди відправляється технічний ідентифікатор кліку.

Коли менеджер переводить лід у статус продажу або оплата підтверджується автоматично, CRM може повернути інформацію назад у трекер через postback. У Keitaro для прив'язки конверсії використовується subid, у Voluum аналогічну роль виконує click ID cid. В обох випадках принцип однаковий. Трекер створює унікальний ID під час переходу, цей ID проходить крізь усю воронку, а після конверсії повертається назад.

Особливо уважно варто працювати з повторними подіями. Один користувач може спочатку стати лідом, потім здійснити покупку, а ще через місяць купити повторно. Якщо система підтримує лише одну конверсію на click ID, частина інформації загубиться. Тому в структурі даних корисно мати тип події та окремий transaction ID. Це дозволяє відрізняти lead від sale, а першу покупку — від повторної.

Для технічного зв'язування систем не потрібно передавати у відкритих URL персональні дані користувача. Номер телефону, username або email краще залишати всередині захищених систем.

У посиланнях і postback достатньо псевдонімного ідентифікатора, який має значення лише для конкретної бази або трекера.

Інструменти для атрибуції

Немає одного сервісу, який однаково добре закриває всі Telegram-сценарії. Вибір залежить від того, куди веде трафік і де відбувається фінальна конверсія:

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

  • AppsFlyer актуальний для кампаній, де Telegram веде в мобільний застосунок. Через attribution links і deep links можна передавати інформацію про джерело кампанії, а потім аналізувати інсталяції та події всередині застосунку. Це особливо корисно, коли один Telegram-трафік потрібно розподіляти між вебом, App Store, Google Play і вже встановленим застосунком.

  • Voluum підходить для арбітражних зв'язок із великою кількістю джерел, лендингів та оферів. Він створює унікальний click ID і дозволяє повернути продаж або іншу подію через серверний postback. 

  • Keitaro працює за схожою логікою, але часто використовується як self-hosted рішення. Він дає змогу будувати кампанії, керувати потоками, передавати subid, приймати postback і зберігати статуси конверсій.

У складнішій воронці ці інструменти можуть працювати разом. Наприклад, GA4 відповідає за вебповедінку, Keitaro або Voluum — за кліки та конверсії, CRM зберігає статуси лідів, а база Telegram-бота утримує зв'язок між користувачем і початковим source ID. Ключове завдання полягає у тому, щоб один ідентифікатор можна було простежити від рекламного переходу до цільової дії.

Послідовність налаштування

Розглянемо повний сценарій, у якому рекламний пост у Telegram-каналі веде в бота, а фінальною конверсією вважається оплачена заявка. Перед запуском кампанії визначаються базові параметри розміщення. Наприклад, канал отримує значення tg_financehub, кампанія — loan_sep26, конкретний пост — p17, а креатив — video_a. Якщо необхідно рахувати не тільки запуски бота, а й самі кліки, посилання з рекламного поста спочатку веде через трекер. Під час переходу трекер створює унікальний click ID і записує всі параметри розміщення. Далі користувач перенаправляється в Telegram-бота.

На цьому етапі важливо не намагатися вмістити всі дані в параметр /start. Зручніше заздалегідь створити короткий токен і пов'язати його з інформацією про клік на сервері. Наприклад, трекер або проміжний бекенд знає, що токен a7K3mQ відповідає каналу tg_financehub, посту p17, креативу video_a та певному click ID. У Telegram користувач уже потрапляє за посиланням https://t.me/offer_bot?start=a7K3mQ.

  • Після натискання Start бот отримує токен і зберігає його разом із даними користувача. Тут же можна зафіксувати першу подію bot_start. Важливо, щоб інформація про джерело залишалася в базі й після завершення поточної сесії. Якщо людина закриє Telegram і повернеться через два дні, бот усе одно повинен знати, звідки відбувся перший вхід.

  • Далі користувач проходить сценарій. Він може відповісти на кілька питань, обрати продукт і залишити номер телефону. У момент створення ліда бот передає в CRM контактні дані разом із внутрішнім user ID і click ID. У самій CRM для цього краще створити окремі технічні поля. Якщо записувати ідентифікатор у звичайний коментар, його легше випадково змінити або втратити під час інтеграції.

  • Наступний етап відбувається вже поза Telegram. Менеджер опрацьовує заявку або система автоматично приймає оплату. Після підтвердження продажу CRM відправляє postback у трекер, повертаючи той самий click ID, який був створений на початку. За потреби разом із ним передаються тип конверсії, сума виплати, дохід або transaction ID.

У результаті в трекері з'являється повний зв'язок між рекламним переходом і фінальною оплатою. Можна побачити, який канал дав клік, із якого поста прийшов користувач, який креатив спрацював і скільки доходу принесла ця конверсія. База бота при цьому показує внутрішні етапи воронки, а CRM — результат роботи з лідами.

Перед масштабуванням таку схему потрібно перевірити вручну. Найкраще зробити один тестовий перехід і записати створений click ID. Потім пройти весь сценарій до кінця та переконатися, що цей самий ID присутній у трекері, базі бота і CRM, а після тестової конверсії повертається через postback. 

Якщо Telegram веде одразу на лендинг, схема стає простішою. UTM описують джерело і кампанію, трекер створює click ID, а сайт передає його далі разом із заявкою. Для мобільного застосунку аналогічну роль можуть виконувати attribution links AppsFlyer. Принцип при цьому не змінюється, тому що джерело має пройти разом із користувачем через усі ключові точки воронки.

Висновок

Атрибуція в Telegram працює надійно тоді, коли джерело трафіку не намагаються визначити лише на фінальному етапі. Його потрібно зафіксувати ще під час першого переходу та послідовно переносити далі. Для веб-трафіку цю роль частково виконують UTM-мітки, для ботів потрібен параметр /start, а для зв'язку з трекером, CRM і партнерською системою використовуються SubID, click ID та серверні postback. Найбільше проблем виникає через розриви між окремими частинами воронки. Якщо канал, бот, сайт і CRM рахують користувача незалежно одне від одного, у звітах буде багато цифр, але відповісти на просте запитання про джерело конкретного продажу стане складно. Значно ефективніше заздалегідь визначити єдину схему параметрів і перевірити, як вони переходять між системами.

При цьому, не кожній кампанії потрібна складна інфраструктура. Якщо Telegram-канал веде на звичайний лендинг, часто достатньо акуратної UTM-розмітки, веб-аналітики та передачі click ID у CRM.

§ коментарі · 0

Що кажуть арбітражники.

Поділіться думкою
Email не публікується · відгук проходить модерацію