Three different things go by the name telegram analytics, and they rarely overlap. The first is the Statistics panel Telegram builds into its apps for admins. The second is the catalog of public channels that outside services collect and rank. The third is whatever a developer measures inside their own bot or mini app. Each answers a different question, and each stops at a different wall.
Search for telegram stats, tg stats or telegram analytics tools and the results mix all three, usually in a vendor's list that puts its own product first. This page takes them apart in the order you meet them: the panel you already have, the API underneath it, the trackers, and the analytics you have to build.
Where is the built-in Statistics panel, and who can open it?
How to check telegram analytics on your own channel is a two-tap job when the channel qualifies. Open the channel, tap its name to open the profile, and look for Statistics, either as a button on the profile or under the three-dot menu. If it is not there, one of two things is true: you are not an admin with the right to see it, or the channel is still below the size Telegram requires. The panel never appears for a channel you only follow. It costs nothing, which makes it the only telegram analytics free option that reads Telegram's own data.
The size bar is where most guides disagree, quoting 50, 500 or 1,000. Telegram launched channel statistics in March 2020 for large channels and cut the minimum to 500 subscribers that July, when groups with over 500 members got their own version. Its channels tour still says advanced statistics need more than 500 subscribers. The API documentation on statistics is more careful: the exact limit is a server-side setting, returned to the client as the can_view_stats flag on the channel. So 500 is the published figure, and the flag is the real answer. Most write-ups skip that distinction.
Telegram channel stats: what each number means
The overview row compares the chosen period with the one before it. Followers is the subscriber count. Views per post and shares per post are averages over recent posts, and reactions per post sits beside them. A separate figure gives the share of followers who keep notifications switched on, which is the closest thing Telegram gives you to a measure of how many people will actually see the next post. Stories get their own views, shares and reactions when a channel posts them.
Below the row come the graphs: growth, followers gained and lost, mutes and unmutes, the hours when views peak, interactions, new followers by source, views by source and the languages of the audience. Sources split traffic into search, other channels, shared links and the channel's own page. Tap a single post and the panel shows its views and forwards, including which public channels shared it. None of this names individual viewers. Telegram channel analytics is aggregate by design, and no tool can turn it into a list of people.
Telegram group analytics in a supergroup
Large supergroups get a variant of the same panel. Telegram group analytics counts members, messages, viewers and posters over the period, then lists top posters, top admins by actions taken and top inviters. The inviters list is the only place the app tells you who brought new members in. For data analytics telegram group owners actually use, the per-weekday activity graph and the top-hours graph do most of the work: they show when a message gets read.
Moving a channel to new owners keeps its history and its numbers, since statistics belong to the channel rather than to the admin. The guide on handing a Telegram channel to a new owner covers the two-step password check that transfer asks for. Clearing a channel out does not work the same way: the guide to removing messages in bulk explains why the old view counts disappear with the posts.
The API behind telegram stats
Every number in that panel arrives through a handful of MTProto methods. stats.getBroadcastStats returns the channel overview, stats.getMegagroupStats the supergroup version, and stats.getMessageStats or stats.getStoryStats the detail for one post or one story. Large graphs come back as tokens that a client loads later with stats.loadAsyncGraph. The requests must go to the data centre named in the channel's stats_dc field, which is why a script that ignores it gets an error instead of numbers.
Two limits follow from that design. The method pages say only users can call them, and the caller must be an admin of the channel, so a script needs a logged-in session, its own api_id and api_hash pair and the same rights a person would need in the app. A bot cannot call them at all, however many rights it holds. This matters for anyone choosing tooling, because the article on whether a task needs a bot or a real account lands on the same split: anything that reads admin-only data runs as an account.
People who run several channels sometimes want the overview of all of them in one place, which means one admin session per channel owner. Sessions go stale, so it pays to run a bulk check on saved sessions before pulling numbers, and a desktop client that only reads TDATA may need the guide to turning a .session file into a TDATA folder. Replies that land in different accounts can be read side by side through one inbox for many accounts, which is often more useful than the graphs.
What can TGStat and other telegram analytics tools see?
Outside services see what anyone can see: the public channel page, its subscriber counter, the view counter under each post and the forwards that point back to it. TGStat telegram analytics is the best known catalog of that kind. It indexes public channels, ranks them by subscribers and reach, and estimates engagement from the public counters. Telemetr-style services do the same for ad buyers and add checks for subscriber spikes. Group bots such as Combot sit inside a group as a member and count what passes through it. Before picking a telegram analytics tool, decide which of those data sources your question needs, because none of them reads another.
| Source | Where the data comes from | Private channels? | Cost |
|---|---|---|---|
| Built-in Statistics | Telegram's own servers, admins only | Yes, your own | Free |
| Public catalogs (TGStat type) | Public counters on public channels | No | Free lookups, paid exports |
| Ad-buyer trackers | Public counters plus mention tracking | No | Mostly paid |
| Group bots (Combot type) | Messages the bot sees as a member | Only groups it joined | Free tier, paid extras |
| Your own logging | Your bot or mini app | Only your product | Your hosting |
Why tracker numbers drift from the panel
A tracker's reach is an estimate built from public view counters, and a view counter is not a person. Telegram counts a view once per account per post over a window, forwarded copies add their own views, and nothing public says how many of those accounts are active. So a telegram channel analytics free lookup on a catalog and the admin panel can disagree by a wide margin on the same channel, and the panel wins. The catalog is still useful for one thing the panel cannot do: comparing channels you do not own before you buy an ad in one.
Telegram channels analytics from outside also cannot see private channels, invite-only groups or anything behind a join request. For those, only an admin's numbers exist. A telegram channel analytics bot that promises more than the public counters for a channel you do not administer is either guessing or asking you to log in with an account, and the second case deserves the same care as any other tool that holds a session.
How do you measure a Telegram bot or mini app?
Bot statistics do not exist as a feature, so telegram bot stats are something you build. BotFather shows no dashboard and the Bot API returns no counts, so every telegram stats bot you find is either reading its own logs or a public catalog. The working method is simple: log each update your bot receives, with the command, a timestamp and a hashed user ID, and count from the database. A telegram analytics bot for your own product is mostly a query over that table.
Google analytics telegram bot setups use the GA4 Measurement Protocol. The bot sends an event to Google's collection endpoint on each command, with a client ID derived from the user ID rather than the raw ID, and GA4 builds funnels from it. The same Measurement Protocol reference covers the payload and the limits.
Telegram mini app analytics and the SDK
A mini app is a web page opened inside Telegram, so ordinary web analytics works: the GA4 tag loads like it does on any site, as long as the page asks for consent where the law requires it. Telegram mini app analytics also has a dedicated route. The Telegram Analytics SDK repository, built with support from the TON Foundation, describes a script loaded from a CDN or installed as a package. It records launches and wallet events once you add an access token generated for the app, and it has to start before the app renders. The README says the data is used to rank apps in the catalog. The ranking signal is the main reason to add this telegram mini apps analytics sdk next to general web analytics, since nothing in the docs makes it mandatory.
Nothing here needs special tooling.
Telegram apps analytics is ordinary product analytics with a Telegram user in place of a cookie. The telegram analytics sdk adds the catalog signal, and everything else is the same work as on the web.
Where does Telegram Solutions fit, and where does it stop?
We do not ship an analytics module in Telegram Solutions, and we would be misleading you if we sold it as one. It runs Telegram accounts: messaging, group work, warmup, sessions. It cannot read statistics for a channel its accounts do not administer, it cannot raise a channel above the statistics limit, and no software changes what Telegram counts as a view. What it does offer near this topic is narrower. The Activity Scraper ranks the people who actually post in a public group, which is a rough answer to who is active there that the member list cannot give.
Collection of that kind has rules. Telegram's terms of service prohibit data scraping through a separate set of content licensing terms, which bar access to user content for anything beyond ordinary, intended use. The same accounts that collect also carry the risk. New accounts should go through a gradual warmup routine first, and any account that suddenly cannot message strangers should be checked with @SpamBot for a limit before it is used again.
The numbers in the panel respond to what a channel does, not to tools. Posting in groups on a schedule shows up as a source in the graphs, and the article on drip posting into groups sets out where that becomes spam. A contact list imported in one go, explained in the piece on adding contacts automatically, does not add followers by itself, and the basics of finding and adding a person on Telegram still apply one by one.
Search traffic is one of the panel's sources, and it depends on the channel's public name. The rules in how Telegram username search ranks results explain why a short, exact name shows up, and the guide to claim bots and username checkers covers what happens when the name you want is already held. For an archive of your own posts before you change anything, the article on downloading a channel's media covers what can be saved and what Telegram keeps from being saved.
Telegram analytics: common questions
Is Telegram analytics free?
What is the difference between telegram stats and tg stats tools?
Can I see analytics for a Telegram channel I do not own?
Is there a Telegram analytics tool for bots?
Do Telegram mini apps need the analytics SDK?
Why does the Statistics button not appear on my channel?
Running the accounts behind a channel?
Telegram Solutions handles warmup, sessions and group work across many accounts. It does not read statistics you have no admin access to. Ask us what it covers before you buy.