JavaScript seems to be disabled in your browser. Promote a Bot with Telegram Ads: Mini Apps | Telegram Insider
Knowledge base

How to Promote a Telegram Bot or Mini App with Telegram Ads

Where to show bot ads, how to target the right audience, track users with start parameters and get through moderation.

Author: , site editorPublished: 7 min read
Cover for "How to Promote a Telegram Bot or Mini App with Telegram Ads" with an ad mockup on a dark card

You can promote a Telegram bot or Mini App with Telegram Ads in three ways: ads in channels that link to the bot, ads in Telegram search, and the Banner in Bot format inside other bots. To see which ad brings which users, add a start parameter to the link and record it in the bot’s database. Below: placements, targeting, tracking and what moderation looks for.

Which ad accounts can promote a bot

Any account type can promote a bot, but the options differ. A euro account through a reseller gives you the full set of targeting options; TON and Stars accounts suit promoting your own Telegram resources with limited settings.

Account What you can promote Targeting Minimum CPM bid
Euro via a reseller bots, channels, websites channels, topics, channel subscribers, interests, location, language, device about €0.7–1 for most topics
TON, direct channels and bots only channels only 0.1 TON
Stars your own channel or bot limited 50 Stars

If your bot already earns Stars, a Stars account lets you spend them on promoting that same bot without a reseller. For a comparison of currencies see paying for Telegram Ads in euros, TON or Stars.

Where bot ads appear

The same bot can have several entry points. Each reaches a different audience and brings traffic of different quality.

  • Channels. The classic ad below the latest posts of a public channel with 1,000+ subscribers. The button opens a chat with the bot. Works well when you know which channels your audience reads.
  • Telegram search. A sponsored search result shows only the title, which is why the format suits channels and bots: users immediately see where they’ll land.
  • Banner in Bot. A format added in September 2026 (according to Sostav, citing MTS AdTech): a banner above the chat in bots with 1,000+ monthly users. Targeting is by audience; you can’t choose specific bots. The ad has text, custom emoji and a logo, but no photo or video.
  • In-stream video. According to Kokoc (June 2026), the ad plays at the 5th second of a video, the first 9 seconds can’t be skipped, and it can last up to 30 seconds. It costs more and needs a separate creative.

Telegram Premium users don’t see ads in any of these placements.

How to target a bot’s audience

Telegram doesn’t target by gender or age, so you find a bot’s audience through context: which channels people read and what they subscribe to. The basic logic is the same as for channels — see Telegram Ads targeting.

  1. Channels that match the bot’s job. If the bot counts calories, look for nutrition and fitness channels rather than every “health” channel.
  2. Subscribers of selected channels. User targeting lets you reach the audience of relevant channels in other placements too.
  3. Language and location. If the bot works in one language only, limit the interface language and countries — otherwise you pay for impressions to people who can’t use it.
  4. Device. For Mini Apps with heavy interfaces or games, check which devices your product works best on.

If you need gender, age or income data, the Russian reseller MTS Marketolog adds them through its Big Data segments; it’s covered in our resellers section.

How to track users: start parameters

The account shows bot starts in the Joined column and calculates CPS, but it doesn’t tell you what users did next. For that, add a parameter to the bot link: t.me/your_bot?start=ads_channels_01. When someone taps “Start”, the bot receives /start ads_channels_01 and can store the value along with the user ID. Your bot’s code needs to handle the parameter — usually a few lines a developer can add.

According to the AdsGram blog (August 2026), the start parameter accepts Latin letters, digits, _ and -, up to 64 characters. Telegram Ads doesn’t support dynamic macros in links, but a static value is allowed. So create a separate tag for each ad or group of channels.

  • Tag scheme. For example, tga_search_v2 — source, placement type and creative variant — so the bot’s database shows the source and copy version at a glance.
  • What to store. The tag, user ID, time of first start and later events: sign-up, payment, Mini App opened.
  • Repeat starts. If the user has used the bot before, decide in advance whether to overwrite the source or keep only the first one.

Mini Apps have links like t.me/your_bot/app_name?startapp=value: the value arrives in the start_param field when the app launches. Check with your reseller whether moderation accepts such links in your account; the safe option is to advertise the bot with a start parameter and open the app with a button in the first message.

What moderation looks for

Bot ads follow the same rules as any others: no caps lock, no multiple exclamation marks, no superlatives, no income promises and no “click here” style calls to action. Common rejection reasons are covered in Telegram Ads moderation. There are also bot-specific points.

  • The bot must work. A moderator may open it: it should respond to /start and do what the ad promises.
  • The bot shouldn’t be a redirect. eLama notes that a bot or channel that exists only to send people to a website may be rejected. If your goal is a website, promote it directly from a euro account.
  • Presentation. The bot needs a clear name, avatar and description — users see them before tapping “Start”.
  • Prohibited topics. Telegram’s and resellers’ restrictions apply to bots just as they do to channels and websites.

If you target users in Russia, a bot ad, like any other ad, must be labeled with an ERID token and reported to Russia’s ad registry (ERIR); resellers often do this automatically. Details are in Telegram Ads labeling in Russia.

How to turn a start into a result

A bot start is not yet a conversion. Many users tap “Start” out of curiosity and leave after the first message. So design the first message and the first step as carefully as the ad copy.

  1. Continue the ad’s promise in the first message: if the ad talked about choosing a plan, the bot should offer that right away.
  2. Give one clear button for the next step rather than a ten-item menu.
  3. If the product lives in a Mini App, open it with a button in the first message.
  4. Track not just CPS but the cost of a user who reaches the target step, using the tags in your bot’s database. How to calculate such metrics is explained in Telegram Ads metrics.

FAQ

Can I promote a bot with Telegram Ads without a reseller?

Yes. You can promote bots from a TON account at ads.telegram.org or from a Stars account if the bot is yours. Targeting there is limited, and a TON account only lets you choose channels.

How do I know which ad brought a user to my bot?

Add a start parameter with a separate value for each ad and store it in the bot’s database along with the user ID. Telegram Ads doesn’t support dynamic macros, so tags are set manually.

Can I choose which bots show my Banner in Bot ad?

No. According to Sostav, citing MTS AdTech, the format runs in bots with 1,000+ monthly users, and targeting is by audience without choosing specific bots.

Can I send ad traffic straight into a Mini App?

Mini Apps have direct links with a startapp parameter. Whether moderation accepts them in your account is best checked with your reseller; the universal option is a link to the bot, which then opens the app with a button.

Why are there more starts in the account than active users?

The account counts every “Start” tap, not what the person did next. Some users leave after the first message, so judge ads by the cost of a user who reaches your target step.

Will a bot that redirects to a website be rejected?

There is a risk: eLama notes that resources serving only as a gateway to a website may fail moderation. If your end goal is a website, you can promote it directly from a euro account.