Launching a campaign in Telegram Ads is easier than assessing its results. The ad account records views, clicks, and joins for every ad, but tracks neither unsubscribes nor the organic growth surrounding the campaign. Channel statistics show that growth but cannot attribute it to a specific ad. This article explains what each of the two reports shows and how to combine them into a complete picture, from joins to events on your site.
Telegram Ads analytics starts on the Statistics tab of the ad account. It provides a concise set of figures for every ad:
These figures increase only while the ad status is Active. A stopped or declined ad displays frozen totals, so check its status before drawing conclusions from the counters. Only the account counters freeze: pixel events and unsubscribe data from invite links continue to arrive for another two or three days after the pause, so factor in this tail when finalizing the results.
The account also calculates standard metrics: CTR, cost per click, and cost per subscriber. The ad-account interface does not display unique-user counts, frequency per user, or unsubscribe data. That is why most advertisers add another analytics layer, discussed below.
If the ad promotes a channel, the ad account is not the only place to look. The second source is Telegram's built-in channel statistics, available to administrators directly in the app. The two reports answer different questions. The ad account measures your ad, while channel statistics measure the entire channel.
SourceWhat it measuresWhat it cannot tell youTelegram Ads accountViews, clicks, spend, and joins for one adUnsubscribes, organic growth around the adChannel statisticsViews by source, follower growthWhich ad brought in a subscriber, ad spend
Channel statistics have no separate entry for ads. Growth figures combine paid traffic with organic joins, shares, and search; when several ads point to the same channel, channel statistics cannot separate their contributions. Separating them requires a separate link for each ad, which is where the invite links discussed below come in.
The rule of thumb is simple: scale ads with a lower cost per subscriber and more target actions, and stop those whose costs keep rising. Follow three practices to keep the underlying figures reliable.
Adstat pulls the same official ad data and turns the raw totals into a report. Statistics are available by day and at intervals as short as 5 minutes while the ad is running. Standard metrics are calculated automatically:
Any data view can be exported to Excel or CSV. Rows can be grouped into periods ranging from 5 minutes to a year, which is useful when you need an hourly breakdown for one creative and a monthly view of the account.
This applies to more than channels. Adstat tracks Telegram Pixel events on external sites and integrates with Yandex Metrica: leads, purchases, and funnel stages form an end-to-end path from click to action. Results from campaigns that lead to a landing page or online store are reported alongside subscription data.
Telegram Ads data will not match Google Analytics one-to-one: Telegram counts a tap on the ad within the app, while the site's analytics tag fires only after redirects, consent banners, and bot filters. This discrepancy is expected, not a setup error. When an ad leads to a channel or bot rather than a site, the same analytics tools apply (views, spend, the joins graph, and invite links), with only on-page events excluded.
When an ad leads to a channel, Adstat automatically creates a separate invite link for that ad through its bot. The service records everyone who subscribes through that link and detects whether they later leave. This attributes both subscriptions and unsubscribes to a specific ad, providing a clear breakdown for each one:
This closes the gap between the two native reports: the ad account shows joins after a view, while the invite link identifies the specific ad that generated them and shows who stayed.