Connect a Telegram Channel
This guide shows you how to connect your Telegram channel to AdTarget so conversions are tracked automatically.
Prerequisites
- Created a Telegram bot
- A Telegram channel (you must be an admin)
- Bot token added to AdTarget
Step 1: Add Bot to Your Channel
Open your channel settings
Open your Telegram channel, tap the channel name at the top, then tap Administrators.
Add the bot as admin
Tap Add Administrator, search for your bot’s username, and select it.
Set permissions
When adding the bot as admin, make sure this permission is enabled:
- Invite Users via Link (required) — the bot needs this to generate unique trackable invite links per visitor
Other permissions can be left disabled.
Tap Done to confirm.
Step 2: Confirm Channel Detection in AdTarget
AdTarget automatically detects your channel when you add the bot as admin. There is no need to manually enter a channel name or ID.
- After adding the bot as admin (Step 1), go to your AdTarget dashboard
- Go to your site’s Settings and select the Channels tab — your channel should appear automatically within a few seconds
- Check the box next to the channel and click Save to assign it to the site
Assigning the channel to a site is required before tracking works. Unassigned channels will not generate invite links or track conversions.
- Optionally adjust the conversion event type (defaults to Lead)
Channel not appearing? Try removing the bot from the channel’s admin list and re-adding it. This re-triggers the Telegram webhook that AdTarget uses for detection. See Troubleshooting below for more tips.
Step 3: Verify Connection
Once the bot is added as admin, the channel appears in your site’s Settings > Channels tab. If the bot is removed from the channel, the channel status changes to removed.
To test the connection:
- Join your channel from a different account
- Check AdTarget within 30 seconds
- You should see the join event
Multiple Channels
You can connect multiple channels to the same AdTarget site:
- Add your bot as admin to each channel — each one is auto-detected
- Go to your site’s Settings and select the Channels tab, then check each channel you want to assign
- Each channel’s conversions are tracked separately
Tip: Use the same bot for all channels to simplify management.
Private vs Public Channels
We strongly recommend using private channels for the best attribution accuracy. Public channels have a known Telegram limitation that can prevent conversion tracking from working reliably — see details below.
Private Channels (Recommended)
- Users must use an invite link to join — there is no other way in
- AdTarget generates a unique, trackable invite link per visitor
- When the user joins, Telegram includes the invite link in the webhook, allowing AdTarget to match the join to the original ad click
- Result: near-100% attribution accuracy and reliable CAPI events to Meta
Public Channels
- Users can join via
t.me/channelname, Telegram search, or forwarded messages — without using your tracked invite link - AdTarget still generates unique invite links per visitor, but even when a user clicks one, the Telegram app (especially on Android) may silently convert it into a “direct join” instead
- When this happens, Telegram’s webhook does not include the invite link, so AdTarget cannot match the join back to the ad click
- These joins appear as organic in your dashboard — no CAPI event is sent to Meta
Why This Matters
This is a known Telegram Bot API limitation : for public channels, the invite_link field in the ChatMemberUpdated webhook is often missing, even when the user did click a tracked link. The Telegram client resolves the public channel and performs a direct join instead of an invite-link join.
In practice, this means:
- Public channel attribution may be unreliable, especially for Android users
- Joins that should be attributed to your ads may appear as organic instead
- Meta’s algorithm won’t receive these conversion signals, reducing ad optimization
Our Recommendation
If accurate attribution and Meta CAPI reporting matter to your campaigns (they usually do), use a private channel. You can always share tracked invite links on your landing page — the user experience is identical, but attribution is guaranteed.
Channel Settings
Edit Channel Configuration
- Go to your site’s Settings and select the Channels tab
- Click the Setup (or Edit) button on the channel row to open the configuration dialog
- Update settings as needed
- Click Save
Unassign or Delete a Channel
To unassign a channel from a site, uncheck it in the Channels tab and click Save. The channel remains in your account but stops tracking for that site.
To permanently delete a channel, use the delete option on the channel row. This cascade-deletes all invites, conversions, and site assignments associated with that channel. This action cannot be undone.
Troubleshooting
“Bot is not an administrator”
- Add the bot as admin to your channel
- Ensure the “Invite Users via Link” permission is enabled
- Wait 30 seconds and retry
Channel not appearing in dashboard?
- Remove the bot from the channel’s admin list, then re-add it
- Ensure the bot was added as an administrator, not just a regular member
- Wait up to 30 seconds for the webhook to arrive
Not detecting joins?
- Verify bot has admin permissions
- Test by joining from a different account
Delayed events?
- Telegram webhooks occasionally have delays
- Events typically appear within 5 seconds
- If consistently slow, contact support
Best Practices
Use descriptive channel names: Name channels clearly in AdTarget so you can identify them in reports.
Test before running ads: Verify tracking works by joining from a test account before spending on ads.
Monitor channel status: Check your site’s Settings > Channels tab periodically to ensure channels stay active.
Invite link retention: Each invite link is single-use and valid for 7 days after creation. Links are kept open during this window so that users who click an ad but join later are still attributed correctly. After 7 days, Telegram automatically expires the link.
Next Steps
With your channel connected, set up Meta Pixel integration to send conversion events back to Meta.