
Advertising in bots is not one job but several, and people mean different things by the phrase. Which one is yours decides how you buy and what the report shows. Below: what belongs to Telegram Ads here, how to pick bots for a placement, what the platform counts when you promote your own bot, and how to keep different bots' results apart.
The phrase can refer to three different things. Two belong to Telegram Ads. A placement is an ad shown inside someone else's bot to its users, either in bots you list or, since September 2026, through the Banner in Bot format, where Telegram chooses the bots. When your bot is the destination, the ad sends users to it, and the platform counts a start. The third is outside the platform: tools marketed as advertising bots, which send messages on the advertiser's behalf. The guidelines prohibit ads promoting spam software (5.11).
A related product is easy to confuse with the placement: third-party ad networks that run their own formats inside Mini Apps. Our article on Telegram ad networks covers them. This article stays with the official platform: ads shown in bots and ads that lead to a bot.
Telegram's developer documentation describes what a user sees. In a bot, the ad, a sponsored message in Telegram's own terms, sits above the chat as a bar: a title prefixed with Ad (or Recommended when the ad is flagged as a recommendation), the ad text, and a thumbnail on the right when one is set. A tap on the bar opens the advertiser's link. Links outside Telegram's own list of trusted domains first show a confirmation prompt. A view is counted once the whole text has been shown on the screen.
Telegram's ad pages publish no audience threshold for bots. According to resellers, bot placements since May 2025 have required more than 1,000 daily active users. For Banner in Bot, it was reported in September 2026 that the format works with bots of up to 1,000 monthly users. Telegram launched ads in bots in October 2024; according to market reports, they came to simplified accounts first and to corporate accounts in May 2025.
A corporate account offers four targeting types: Search, Bots, Users and Channels, and there are two ways to reach bots. With Bots targeting you name the specific bots that will show the ad. Since September 2026 there is a second way: the Banner in Bot format under Users targeting. You define the audience and the platform picks the bots, showing the ad to those people in any bot that carries ads. You cannot choose specific bots here, and the minimum bid is the same as for Users targeting.
| Question | Ads in channels | Ads in bots |
|---|---|---|
| Where the ad appears | After all ordinary posts (developer documentation); when the server sets the posts_between field, also between posts, at least that many messages apart (TDLib) | Above the chat with the bot, as a bar labelled Ad (developer documentation) |
| What the user sees | Title, text, a button with the link, optional photo or video | Title, text and an optional thumbnail; the whole bar opens the link |
| How placements are chosen | Users targeting by country, language and interests, or Channels targeting by topic, language and specific channels | Bots targeting: a list of specific bots. Banner in Bot (Users targeting): an audience, bots chosen by the platform |
| Who qualifies | Public channels meeting the official subscriber threshold | Bots admitted to carrying ads |
| Media in the ad form | Photo or video for Users and Channels targeting | Not listed in the form for Bots targeting. Banner in Bot: text, a logo and custom emoji, no photo or video |
Pick bots by the task their users came to perform: that task is the context your ad appears in. Start from bots your customers already use in the same workflow, then expand to adjacent tasks. There is a second layer on top of that: the platform applies its own logic. A user who follows enough large channels in one category may see ads in that category in bots as well. That selection is the platform's; Bots targeting has no interest field of its own, only the list of bots. Only Banner in Bot lets you set interests for ads in bots.
The bar shows a title with the Ad prefix; the offer itself goes into the ad text. Put it in the first words of the text and add one concrete detail. The link goes straight to the destination you promote.
Then keep the placements separate. The report breaks down by campaign, account, promoted object and ad, and not by the bot where the ad ran. Separate ads let you compare individual bots or small pools; results within each pool remain aggregated. The same split applies to channels. Banner in Bot allows no such split: you do not choose the bots, and the report does not show them.
One ad per bot means many similar ads, which is where the account tooling matters. Adstat is a service for day-to-day work with Telegram Ads inside an agency or reseller account. The service's documentation describes copying an ad from its detail page and duplicating it across parameters that depend on the placement type.
For Bots targeting that parameter is the bot audiences, the number of people who use a bot in a month: one ad becomes several, one per bot. The statistics table then shows each ad with spend, impressions, clicks, actions, the conversion rate and the cost per action. The action type appears as a column. Reports drill down to 5-minute intervals for the last few days.
Automated rules are configured in strategies. In the accounts we run, the action behind CPA for a bot destination is the bot start; the official pages publish no list of action types. A rule that stops the ad when the cost per bot start over the last three hours exceeds your limit therefore works without a pixel. Conditions are checked automatically every few minutes, and after a trigger the checks pause for the interval you set.
The reverse task starts with the link. The guidelines allow one optional link in the ad text in the form @link, t.me/link or t.me/link/123. It has to lead to the same destination as the main ad URL. Links to a bot may include start parameters: the value after t.me/your_bot?start=, which Telegram passes to the bot with the /start command. It works as a source tag only if the bot reads and stores the value. Our article on Telegram marketing covers that part. Put the bot link in the ad text as well: a highlighted link draws more taps.
The destination itself is reviewed under section 4 of the guidelines, and bots have their own conditions there.
| What is checked | Rule |
|---|---|
| Profile | A promoted bot has a profile image and a complete description (4.1) |
| Functionality | The bot responds to commands properly on both mobile and desktop (4.2) |
| Relevance | Mostly noninteractive bots designed to redirect elsewhere are not accepted (4.3) |
| Activity | Empty or abandoned bots are not allowed as destinations (4.5) |
| Consistency | The destination matches the ad text (4.3); for a bot, that is what it does after /start |
Test the bot on both mobile and desktop before launch, and read its first reply the way a new user sees it: the reply to /start is the landing page of a bot.
An ad's statistics show three numbers: views, channel joins and bot starts. Both joins and starts are counted after the user has viewed the ad. The account counts actions per ad and names the action type, with the conversion rate and the cost per action next to them. Only the bot knows what the user does after the start, so work out what a start is worth from your own data: how many starts reach a payment or another target step. That is the figure to compare with the price of a start.
Do I need my own bot to advertise inside bots?
No. In the ad form the destination is entered before the targeting type, so the two are separate choices. Which destinations are allowed depends on the placement and the account: according to market reports, external websites were not available for placements inside bots, so check this in your own account. The destination is reviewed under the same section of the guidelines in every case.
Can one ad run in channels and in bots at the same time?
Not with a list of bots: Bots and Channels are separate targeting choices. Choosing specific bots (Bots) and choosing an audience (Users, including Banner in Bot) are also separate settings that cannot be mixed in one ad. If you need both approaches, run two ads that share the creative and compare them over the same window; a combined figure will not separate the results of the two placements.
Why did the ad get clicks but no bot starts?
Check what the link opens. A start is counted when the user launches the bot after viewing the ad. As observed in ad accounts, a tap on a link that opens a Mini App straight away is not counted as an action unless the user has allowed the bot to message them. The technical reason is that such a link does not send the bot a /start command: its startapp parameter goes to the Mini App itself (the start_param field), not to the bot. A bot that jumps into an app can therefore show clicks without a recorded action.
What does the owner of a bot get from the ads shown in it?
In October 2024 Telegram announced that bots and mini apps take part in ad revenue sharing, with 50% of ad revenue going to content creators and bot developers. Telegram's own pages state no audience requirement for bots.