Telegram Invite Link Tracking: Count Subscribers by Source

Telegram Invite Link Tracking: Count Subscribers by Source
TL;DR. Telegram invite link tracking works when every source gets its own named link. Create one link per ad, partner channel or post, and each join is attributed to the name you gave it. The Bot API reports the link on the join event only, so counting starts the day you turn it on, and joins through your public @username stay unattributed.
Want this without wiring a bot yourself? Autogram's ad manager creates the link inside an ad purchase and shows the joins on the ad card.
What is Telegram invite link tracking?
Telegram invite link tracking means giving each traffic source a separate invite link and counting the people who join through each one. A channel can hold many links at once. The link a person used is the only trace of where they came from, so the link's name is your attribution label.
The Bot API lets a bot administrator create an additional link with createChatInviteLink. The name parameter takes 0 to 32 characters, and the method also accepts an expiry time and a member limit of 1 to 99999 (Telegram Bot API reference, Bot API 10.3, August 2026). Only the name matters for tracking. Skip the expiry and the limit unless you want them for another reason.
Photo by Lukas Blazek on Pexels
How the join is attributed
Telegram tells a bot which link a person used in one place: the chat_member update. The ChatMemberUpdated object carries an optional invite_link field, "Chat invite link, which was used by the user to join the chat" (Telegram Bot API reference, August 2026).
Two conditions apply to that update. The bot must be an administrator of the chat. It must also list chat_member in allowed_updates, because Telegram leaves that update type out by default (Telegram Bot API reference, August 2026).
The consequences shape everything else in this guide:
- There is no history. Joins that happened before the bot started listening sent an update nobody received. You cannot recover them.
- The link object has no counter. The Bot API
ChatInviteLinkobject has no member count, and no Bot API method lists a chat's links. The method list contains only create, edit, export and revoke (Telegram Bot API reference, August 2026). TDLib, Telegram's library for building full clients, does expose amember_counton its link object (TDLib documentation, read in November 2026), but a bot cannot use it. - Other admins' links are masked. If another administrator created the link, the second part of the URL arrives replaced with an ellipsis (Telegram Bot API reference, August 2026). Create the links with the same bot that listens.
So a tracker has to keep its own registry of named links and record each join as it arrives.
Why one link per source
A shared link cannot be split afterwards. If a partner post and a story ad both carry the same URL, you will see one number and no way to divide it.
Give each placement a name you will recognise in a table a month later. Good names say who and when: partner-kyiv-food, ad-oct-week3, site-footer. Keep to 32 characters.
| Source | What the link answers | What it cannot see |
|---|---|---|
| Named invite link | Which placement brought the person who joined | Whether they came from a forwarded copy |
| UTM tag on a landing page | Which campaign sent a visit to your site | Whether the visitor then joined the channel |
| Public @username link | Nothing; every join looks the same | The source of any join through it |
A UTM tag and a named link answer different questions. A campaign that sends people to a landing page and then to the channel can use both: the UTM tag on the page address, and a named link behind the join button.
Photo by Sanket Mishra on Pexels
How to track a bought ad with Autogram
In Autogram, the link lives inside the ad purchase, so the cost and the joins sit on the same card. The ad tracking guide shows the screens. The steps are short:
- Open Advertisements and press Create. Set Type to Ad purchase.
- Pick your channel as Internal channel.
- Press Create tracking link, type a Link name, and press Create. The link fills Channel Invitation Link by itself.
- Paste that link into the ad you buy.
- After the post goes live, read Joins and Per join on the ad card.
From our own use of the feature: Autogram counts a person once per link. If someone leaves and rejoins through the same link, the count stays the same, so the number reads as subscribers, not events. It also shows how many of those people are still subscribed. The API returns counts and timestamps, not Telegram user ids.
Links you create for other sources, such as a partner channel or your website, appear on the Sources tab of your channel statistics. If you already hold a link made elsewhere, paste it into the ad purchase and Autogram attaches it, as long as the link belongs to the same channel.
When tracking is worth the effort
Use named links whenever you pay for a placement, swap posts with a partner, or run the same offer in two places. Cost per join is the number that lets you compare a placement with the next one. If you want to turn it into a revenue figure, read Telegram channel ROI tracking. If you sell placements yourself, the direct sponsorship CPM guide covers pricing.
Skip it for organic posts where you will never compare sources. A single link in your bio is enough there.
Photo by Alena Darmel on Pexels
Pitfalls and gotchas
- Counting starts late. A new ad shows 0 until someone joins through its link, and joins before the link existed are not counted. Create the link before the ad runs.
- Reuse breaks the split. Pasting one link into two ads merges their joins. Make one link per ad.
- Join requests change the flow. A link can require approval, so each person sends a request instead of joining. A link with approval cannot carry a member limit (Telegram Bot API reference, August 2026). Check how your tracker treats requests before you use one.
- Forwarding blurs the source. A link shows which placement was used, not who shared it. A forwarded copy credits the original placement.
- Deleting is local. Deleting a link in Autogram removes its record and does not revoke the link on Telegram. Revoke it in Telegram if you want it dead.
Related reading
- Telegram Channel ROI Tracking: What Your Posts Actually Earn — turn cost per join into a revenue view.
- Telegram Channel Analytics Tools: What Native Stats Miss — where join sources fit among the other metrics.
- Telegram Direct Sponsorship CPM: Floor Pricing for Channel Owners — price the placements you sell.
- Telegram invite link in the glossary — the short definition.
FAQ
How do I track where Telegram subscribers come from?
Create one named invite link per source and put each link only where that source reaches people. Telegram reports the link on the join event, and a tracker counts joins per name. Joins through your public @username carry no link, so they stay unattributed.
Can Telegram show how many people joined through a link?
Not through the Bot API. The ChatInviteLink object has no member count, and no method lists a chat's links (Telegram Bot API reference, August 2026). A tracker records each join as it arrives, so its count starts on the day tracking began.
Can I see joins from before I created the link?
No. Telegram reports the link only on the live join update, so earlier joins left no record you can read back. Create the link before the ad or post goes out.
Does a person who rejoins count twice?
In Autogram, no. A person who leaves and rejoins through the same link counts once, so the number reads as subscribers rather than events.
Is a UTM tag enough to track an ad?
A UTM tag measures the click on a web page, not the join. If your ad sends people straight to Telegram, there is no page to tag, so a named invite link is the way to attribute the join.
Does tracking store who joined?
Autogram stores a Telegram user id only to avoid counting the same person twice and to see whether they stay. The API shows counts and timestamps, not ids.
Bottom line
Telegram invite link tracking is cheap: one named link per source, created before the placement runs. It tells you which ad or partner earns its fee, within the limits above. To keep the cost and the joins on one card, try Autogram's ad manager.
Image credits
- Hero: Photo by Lukas Blazek on Pexels
- Inline 1: Photo by Sanket Mishra on Pexels
- Inline 2: Photo by Alena Darmel on Pexels
Related posts

Bulk Schedule Telegram Posts From a CSV: Columns and Errors
Plan a month of channel posts in a spreadsheet, then bulk schedule Telegram posts with one CSV import. Columns, time zones and what a rejected file tells you.

Telegram Autoposting Explained: Rules, Sources and AI
Telegram autoposting is more than a timer. Learn how rules, content sources and AI publish for you, and how it differs from a scheduled message.

How to Create a Telegram Channel in 2026: Step by Step
Create a Telegram channel in minutes: pick public or private, set up comments and reactions, plan the first posts, then switch on Telegram autoposting.
Subscribe to our newsletter
Get the latest Telegram growth tips, automation strategies, and platform updates delivered to your inbox.
Or follow our Telegram channel