ГлавнаяБлогСтатистика телеграм-канала

Статистика телеграм-канала: как я собрал свою аналитику через Telegram API

13 июля 202612 минTelegram · аналитика

У меня есть канал на 25 тысяч подписчиков, и однажды я поймал себя на том, что толком про него ничего не знаю. Встроенная статистика телеграм-канала показывает узкий срез, сервисы аналитики считают со стороны и просят денег за глубину. Тогда я собрал свою статистику телеграм-канала — с точными цифрами по каждому посту и автообновлением раз в день. Ниже — как это работает, с кодом, цифрами и живыми примерами. Готовый результат можно открыть сразу: статистика канала на pawetta.com/stats.

Коротко
  • Встроенная статистика телеграм-канала доступна админу с ~50 подписчиков и показывает просмотры, подписки и топ постов за короткий период — без выгрузки, истории и ER.
  • tgstat и telemetr удобны для разведки чужих каналов, но охваты считают оценкой и берут деньги за глубину.
  • Свою статистику собирают через клиентский Telegram API (Telethon): бот истории канала и чужих реакций не видит. По каждому посту тянутся просмотры, реакции по эмодзи и репосты.
  • Сбор вешается на cron — раз в день данные обновляются сами, и всё лежит на одной странице.

Какие метрики есть у телеграм-канала

Прежде чем собирать статистику телеграм-канала, стоит договориться, что мы вообще меряем. У поста в канале есть четыре базовые метрики, и ещё две — на уровне канала.

👁 просмотры
сколько раз пост увидели. Это и есть охват поста — главная метрика статистики просмотров телеграм.
❤️ реакции
лайки и эмодзи под постом, включая платные звёзды. Показывают тёплый отклик аудитории.
🔁 репосты
сколько раз пост переслали. Главный сигнал виральности и притока новых подписчиков.
📊 ER
engagement rate: (реакции + репосты) ÷ просмотры. Вовлечённость в отрыве от размера охвата.
Четыре метрики поста. На уровне канала добавляются число подписчиков и динамика прироста.

Дальше вся задача — получить эти цифры по каждому посту за всё время, а не за последнюю неделю. Тогда можно считать статистику постов телеграм в динамике, искать рекорды и сравнивать недели. Посмотрим, кто такое умеет.

Встроенная статистика телеграм-канала: что показывает и где предел

Самый частый вопрос — как посмотреть статистику телеграм-канала, не устанавливая ничего лишнего. Ответ: она уже встроена. Откройте канал → «Управление каналом» → «Статистика». Раздел появляется примерно с 50 подписчиков и доступен только администраторам.

📊 Статистика канала
Подписчики25 691
Просмотры за пост≈ 8 300
Пересылок за пост≈ 40
Уведомления72%
Периодпоследние 7 дней
Выгрузка в таблицу
Как примерно выглядит встроенная статистика телеграм-канала. Наглядно, но узко.

Для «глянул за неделю» этого хватает. Мне не хватило вот чего:

  • нет выгрузки — цифры нельзя утащить в таблицу и посчитать по-своему;
  • нет истории по каждому посту за всё время: статистика постов телеграм живёт, только пока пост свежий;
  • нет ER и репостов в разрезе — охваты видно, а сколько людей сохранило и переслало каждый пост, приходится считать руками;
  • нет сравнения недель и разбивки по подписчикам, просмотрам и реакциям в динамике.

Статистика подписчиков телеграм-канала и статистика просмотров там есть, но в формате «посмотрел и забыл», а не «работаю с данными».

tgstat, telemetr и другие сервисы аналитики телеграм-каналов

Логичный следующий шаг — сервис аналитики телеграм-каналов. tgstat и telemetr я и сам использую, когда нужно разведать чужой канал перед закупкой рекламы. Но под задачу «моя статистика для меня» они подходят плохо.

Что важноВстроеннаяtgstat / telemetrСвой сбор
Точные цифры по вашим постамдаоценка охватовда
История за всё времянетза подпискуда
Выгрузка и свои разрезынетограниченнода
ER, рекорды, динамика недельнетчастичнода
Анализ чужих каналовнетда, удобнонеудобно
Ценабесплатноподпискасервер + вечер
Встроенная статистика vs сервисы аналитики телеграм-каналов vs свой сбор.

Сервисы считают охваты по своей модели — это оценка со стороны, а не точные цифры моих постов. И заточены они под рекламу и подбор площадок, а не под личный дашборд с нужными мне разрезами. Мне же нужны были настоящие цифры именно по своим постам и свои срезы. Такое проще собрать самому.

Почему я собрал свою статистику

Я выписал, что хочу получить на выходе — и понял, что ни один готовый вариант это целиком не закрывает.

  • точные просмотры, реакции и репосты по каждому посту за всё время;
  • ER каждого поста и подсветка рекордов — где необычно высокие реакции или репосты при среднем охвате;
  • динамика по неделям: посты, просмотры, реакции, репосты;
  • число подписчиков, которое подтягивается само;
  • всё на одной странице и с обновлением раз в день, без ручного экспорта.
Мой список требований к статистике телеграм-канала.

Дальше — как я это собрал. Спойлер: понадобился вечер, Python и ноль рублей на сервисы.

Как собрать статистику через Telegram API (бот не подойдёт)

Главная развилка. Бот в Telegram не видит историю канала и не отдаёт чужие реакции — через Bot API полноценную статистику телеграм-канала не собрать. Поэтому я пошёл через клиентский API (MTProto): вход под своим аккаунтом библиотекой Telethon.

Telegram API
my.telegram.org → api_id и api_hash
Telethon
вход по коду, тянет историю канала
Обработка
просмотры, реакции, репосты по посту
Дашборд
одна страница, обновление раз в день
Пайплайн сбора статистики телеграм-канала.

Что нужно на старте:

  1. создать приложение на my.telegram.org → «API development tools» и получить api_id и api_hash;
  2. войти под своим номером — код придёт внутри Telegram, при включённой двухфакторке ещё и облачный пароль;
  3. получить файл сессии — это ключ доступа, дальше вход уже не нужен.

Сам сбор — короткий скрипт. Проходим по всей ленте канала и по каждому посту забираем дату, просмотры, реакции и репосты:

from telethon import TelegramClient
from telethon.tl.types import MessageReactions

client = TelegramClient("session", api_id, api_hash)
await client.start()

rows = []
async for m in client.iter_messages("@my_channel"):
    if m.action: continue            # пропускаем служебные
    reacts = 0
    if isinstance(m.reactions, MessageReactions):
        reacts = sum(r.count for r in m.reactions.results)
    rows.append({
        "date": m.date, "views": m.views or 0,
        "reactions": reacts, "forwards": m.forwards or 0,
        "text": (m.message or "")[:200],
    })
Сбор статистики постов через Telethon: просмотры, реакции, репосты по каждому посту.

Пара нюансов из практики. Медиа-альбомы (несколько картинок одним постом) приходят как отдельные сообщения с общим grouped_id — их нужно схлопнуть в один пост, иначе задвоите. И реакции удобно разложить по эмодзи отдельно — тогда видно, чем именно реагируют. Это честный ответ на «как собрать статистику телеграм-канала»: настоящие цифры прямо из Telegram, без внешних оценок.

Что и как я считаю: ER, охваты, рекорды

Когда есть таблица со всеми постами, дальше начинается интересное. Из сырых просмотров, реакций и репостов я считаю производные метрики.

реакции + репосты ÷ просмотры
ER поста
вовлечённость независимо от размера охвата телеграм-канала.
репосты ÷ просмотры
Виральность
какие посты чаще пересылают — тянут новых подписчиков.
топ-3 по столбцу
Рекорды
посты с аномально высокими реакциями/репостами при среднем охвате.
Метрики, которые я досчитываю из выгрузки.

ER считается в одну строку:

er = (reactions + forwards) / views * 100   # engagement rate поста, %

Дальше — сортировки, топы и подсветка рекордов. Вот реальный пример из моего дашборда: топ-20 постов по просмотрам, где в каждом столбце подсвечены три рекордных значения. Сразу видно посты с необычно высокими реакциями (178, 171, 169) и репостами (145) при среднем охвате — глазами такое не выловишь.

Топ-20 постов телеграм-канала по просмотрам с подсветкой рекордов по реакциям и репостам
Реальный пример: топ по просмотрам с подсветкой рекордов по каждой метрике. Открыть вживую →

Автообновление раз в день

Один раз собрать данные — полдела. Чтобы статистика телеграм-канала обновлялась сама, я повесил сбор на cron: раз в сутки скрипт перезабирает свежие цифры, подтягивает актуальное число подписчиков и пересобирает страницу.

# crontab: каждый день в 5:15 утра
15 5 * * *  /opt/stats/refresh.sh
Одна строка в cron — и данные обновляются каждый день без вас.

Так вопрос «как посмотреть статистику телеграм-канала» у меня теперь решается одной вкладкой в браузере, а не походом в приложение под админом. Просмотры и репосты в Telegram накапливаются со временем, поэтому свежие посты «недобирают» относительно старых — это стоит держать в голове, когда сравниваешь недели.

Что получилось — живой дашборд

Результат лежит на отдельной странице: pawetta.com/stats. Ниже — реальный кусок: динамика по неделям за 2026 год. Каждая строка — неделя: посты, просмотры, реакции, репосты. Насыщенность заливки показывает силу недели, рекорды помечены звёздочкой, пустые недели видно сразу.

Статистика телеграм-канала по неделям: посты, просмотры, реакции, репосты с тепловой картой
Динамика телеграм-канала по неделям — тепловая карта с подсветкой рекордных недель.

Что ещё есть на дашборде статистики телеграм-канала:

  • топ-20 постов по просмотрам и отдельные топы по реакциям и репостам с ER каждого поста;
  • распределение реакций по эмодзи;
  • полная таблица всех постов с сортировкой и поиском;
  • сравнение с топ-каналами ниши по ER — со скорингом «насколько тема близка нам».

Последний блок — мой любимый. Я тем же способом собрал статистику по восьми десяткам топ-каналов ниши и вывел их лучшие посты по вовлечённости, чтобы подсматривать удачные форматы. Выглядит так:

Пост конкурентаScoreER👁🔁
База про AI-агентов для SEO — дропнул видосик895.5%4 197178
20+ инструментов и гайдов OpenAI по ChatGPT875.6%4 080182
НЕЙРОНАХОДКИ — лучшее по нейросетям за месяц868.3%6 121403
Google выкатил гайд по оптимизации под GEO/AEO806.0%4 283208
Мокап блока сравнения с конкурентами: лучшие посты ниши по ER + скоринг близости к нам. Смотреть вживую →

Всё это — просмотры, реакции, репосты, охваты телеграм-канала — обновляется каждый день автоматически.

Сколько это стоит по сравнению с сервисами

По деньгам сравнение простое. Сервисы аналитики телеграм-каналов берут помесячную подписку за глубину и историю. Свой сбор — разовые усилия и копеечный сервер.

ВариантРазовоВ месяцЧто получаете
Встроенная статистика0 ₽узкий срез за неделю
Сервис аналитики (подписка)от ~1 000 ₽оценка охватов, история за плату
Свой сбор (этот кейс)вечер на скрипт~150–300 ₽ VPSточные цифры, свои разрезы, автообновление
Стоимость статистики телеграм-канала: встроенная vs сервис vs свой сбор.

Если сервер у вас уже есть под другие задачи — как у меня, — то свой сбор статистики выходит в ноль рублей сверху.

Кому подойдёт, а кому нет

Подойдёт, если вы ведёте канал всерьёз и хотите свою статистику телеграм-канала без ежемесячной оплаты и с нужными именно вам разрезами — динамикой, ER, рекордами, сравнением недель. И если готовы разобраться в несложном скрипте на Python либо попросить того, кто это соберёт.

Не подойдёт, если нужно быстро оценить чужие каналы перед закупкой рекламы: для разведки удобнее tgstat и telemetr, они для этого и сделаны. И если совсем не хочется трогать код — тогда встроенной статистики или платного сервиса будет достаточно.

Частые вопросы

Как посмотреть статистику телеграм-канала?
Два пути. Встроенная статистика открывается у администратора: канал → «Управление каналом» → «Статистика». Она появляется примерно с 50 подписчиков и показывает просмотры, подписки и топ постов за короткий период. Второй путь — собрать статистику самому через Telegram API: тогда получите точные цифры по каждому посту за всё время и свои метрики.
С какого количества подписчиков появляется статистика?
Встроенная статистика телеграм-канала включается примерно с 50 подписчиков. До этого раздел «Статистика» недоступен. Свой сбор через API работает при любом числе подписчиков.
Можно ли собрать статистику чужого канала?
У публичных каналов видны просмотры и число пересылок каждого поста — это можно спарсить. Но реакции по эмодзи и полную историю удобно и корректно тянуть у своего канала. Для разведки чужих каналов проще tgstat или telemetr — они дают оценку охватов со стороны.
Чем свой сбор лучше tgstat и telemetr?
Точные цифры по вашим постам вместо внешней оценки, любые свои разрезы (ER, рекорды, динамика недель), ежедневное автообновление и ноль рублей за подписку. Сами сервисы удобнее, когда нужно анализировать чужие каналы.
Как посмотреть охваты и ER телеграм-канала?
Охват поста — это его просмотры. ER (engagement rate) считается как (реакции + репосты) ÷ просмотры × 100%. Встроенная статистика показывает просмотры, но ER не считает — его удобно посчитать самому из выгрузки.
Можно ли сделать статистику канала бесплатно?
Да. Встроенная статистика бесплатна, но ограничена. Свой сбор через Telegram API тоже бесплатный — нужен только сервер (подойдёт дешёвый VPS) и скрипт на Python с Telethon. Платные сервисы берут деньги за глубину, которую вы и так получаете при своём сборе.
Нужен ли бот, чтобы собирать статистику?
Нет, и бот тут даже мешает. Бот через Bot API не видит историю канала и чужие реакции. Полная статистика собирается через клиентский Telegram API (MTProto) — вход под своим аккаунтом через Telethon. Бот тут не поможет.

Главное

Если коротко

Встроенная статистика телеграм-канала показывает узкий срез, а сервисы считают охваты со стороны и просят денег за глубину. Своя статистика собирается за вечер: клиентский Telegram API через Telethon тянет просмотры, реакции и репосты по каждому посту, cron обновляет данные раз в день, а на выходе — одна страница с динамикой, ER, рекордами и даже сравнением с конкурентами. Точные цифры по своим постам, свои разрезы и ноль рублей за подписку. Живой результат — на pawetta.com/stats.

Больше технических разборов в Telegram — «Digital-трафик»

Читать дальше

Все статьи
Ссылка скопирована