What a bot’s income depends on
Ads in a bot are paid per impression shown to a real person, not for the size of your user base. A bot with a million old launches and no live audience earns nothing. What counts is what happens every day.
- /start launches. Each launch is a chance for a welcome impression: the ad arrives right after /start, before the bot’s own greeting.
- Active users. Once the bot has delivered its result, it can request a regular impression, and the ad becomes the last message in the chat.
- Fill rate. The share of requests that actually get an ad. It is always below 100%.
- The format rate. It is fixed and known in advance.
| Format | When it is shown | Owner rate |
|---|---|---|
| Welcome impression | Right after /start | $4.80 per 1,000 impressions |
| Regular impression | After the bot’s result | $2.40 per 1,000 impressions |
| Click on a pay-per-click ad | In the welcome and regular placements | $0.04 per paid click |
| External ads | When no network ad fits the viewer | Per click, price varies |
All amounts are in US dollars.
Formula: daily income = welcome impressions ÷ 1,000 × $4.80 + regular impressions ÷ 1,000 × $2.40 + paid clicks × $0.04 + external ads.
New and active users: where impressions come from
Bot launches and welcome impressions
A welcome impression is tied to the /start command, so its volume is set by your inflow of people. A large but dormant base earns little here, while a small bot with a steady inflow earns more.
A person sees a welcome ad in a given bot at most once a day, so five /start taps in a day are still one impression. Count people, not commands. The arithmetic: 100 welcome impressions a day is $0.48, and 1,000 is $4.80.
Active audience and regular impressions
The bot requests a regular impression itself, after it has delivered a result: a file, an answer, an image. The more people reach a result every day, the more regular impressions you get.
Requests and impressions are not the same thing, though. The network shows one person at most one ad per hour and six per day, across all its bots combined. A user who downloads twenty videos in ten minutes brings one impression, not twenty. Regular income grows with the number of active people, not with the number of taps.
1,000 regular impressions pay $2.40, but a bot people use daily can deliver far more of them than welcome impressions. Combining the two formats is covered in How to monetize a Telegram bot.
Why fill rate is never 100%
Fill rate is the share of requests the network answers with an ad. It is never complete, for several reasons.
- Network frequency caps. At most one ad per hour and six per day per person, and a welcome ad at most once a day per bot.
- Campaign frequency. By default an advertiser shows a post to each person once for the whole campaign. A regular user soon sees everything that fits them.
- Targeting. Campaigns pick bot topics, languages, hours and specific bots. If no campaign matches your topic and your audience’s language right now, the request goes unfilled.
- Your own settings. Refusing ad categories and forbidding explicit posts narrows the list of eligible campaigns. Factor that in.
- Viewer checks. Fake-looking profiles are not shown paid ads.
External ads cover part of the empty requests. You cannot know your fill rate in advance: the real numbers appear in your dashboard stats after the first days.
Three example calculations: small, medium and large bot
These are hypothetical examples, not a forecast or a promise of income. The audience figures are round numbers, and two assumptions apply to all three bots: 60% of /start launches get a welcome ad, and each active user receives 0.5 regular impressions a day on average. These are figures for the arithmetic, not network statistics, and your bot’s numbers will differ.
| Metric (example) | Small bot | Medium bot | Large bot |
|---|---|---|---|
| /start launches per day | 300 | 2,000 | 10,000 |
| Welcome impressions (× 0.6) | 180 | 1,200 | 6,000 |
| Welcome income (÷ 1,000 × $4.80) | $0.86 | $5.76 | $28.80 |
| Active users per day | 1,500 | 10,000 | 60,000 |
| Regular impressions (× 0.5) | 750 | 5,000 | 30,000 |
| Regular income (÷ 1,000 × $2.40) | $1.80 | $12.00 | $72.00 |
| Total per day | $2.66 | $17.76 | $100.80 |
| Over 30 days | $79.92 | $532.80 | $3,024 |
Example calculation on hypothetical inputs. Clicks and external ads are not included.
The medium bot’s column, step by step: 2,000 × 0.6 = 1,200 welcome impressions, and 1,200 ÷ 1,000 × $4.80 = $5.76. 10,000 × 0.5 = 5,000 regular impressions, and 5,000 ÷ 1,000 × $2.40 = $12.00. Together that is $17.76 a day, or $532.80 over 30 days. Replace the assumptions with your own dashboard figures after the first week.
Nothing is guaranteed. Real income can be lower or higher than the example: it depends on advertiser demand for your topic and language, on audience quality and on how the ad is integrated.
Clicks and external ads
Some ads, welcome and regular, are bought per click. For those the owner is paid per click instead of per impression: $0.04 each. Only the first click on an impression is paid, a click within half a second of delivery does not count, and at most one paid click per person per hour is credited. Example arithmetic: 50 paid clicks a day × $0.04 = $2.00. If the format does not suit you, “fixed-price clicks” can be switched off in the bot settings.
External ads are the fallback for requests that no network ad fits: the viewer gets a post from an external ad network. It is paid per click only, the price varies a lot by country and audience, and the income is credited the next day. There is no honest average to quote, so the examples above leave it out. External ads can be switched off too.
Placing the regular impression, and what lowers income
One rule: request the regular impression after the bot has delivered its result. The person has what they came for, and the ad stays as the last message in the chat.
- One call per real action. Do not request impressions on a timer, in a loop or for people who did nothing.
- Do not send your own messages right after. The ad should stay last in the chat.
- The welcome impression goes right after /start, before the bot’s own greeting.
Technically it is a single request: POST https://hiviews.net/sendMessage. Parameters and code samples are in the API docs.
What lowers income
- A paused bot. While the bot is paused or has not passed moderation yet, there are no impressions and no income.
- Integration errors. If the API call does not arrive or returns an error, the impression is not counted. After connecting, check that your dashboard stats are growing.
- Calls without real user actions. Scheduled or “just in case” requests look like fake traffic. Suspicious bots are frozen, and their impressions are reversed with refunds to advertisers. The same goes for a fake audience, see Fake traffic in Telegram bots.
The full list of requirements for bots is in the network rules.
The 7-day hold and withdrawals from $50
Earnings become withdrawable after 7 days, while the impressions go through an anti-fraud check. Withdrawals start at $50, are paid in USDT (TRC20) and carry a $3 fee.
In the table’s terms: the small bot at $2.66 a day reaches $50 in about 19 days, the medium one at $17.76 in about three. The hold comes on top of that.
You do not have to withdraw: earnings can be moved to your ad balance and spent on promoting your own bot. Details are in the finance guide.
How to start
-
Connect the bot
Add your bot with its BotFather token in the web dashboard or in @HiViewsBot.
-
Pass moderation
Every bot is reviewed by hand. Once approved, it can receive ads.
-
Add the API call
One request, POST https://hiviews.net/sendMessage: right after /start for the welcome impression, and after the result for the regular one.
-
Choose what to sell
Formats, ad categories, explicit posts, fixed-price clicks and external ads are switched on and off separately.
-
Recalculate after a week
Put the actual impressions from your stats into the formula.
A step-by-step walkthrough of the settings is in the guide for bot owners.
FAQ
How much do Telegram bots make from ads?
As much as the impressions they deliver. On HiViews an owner earns $4.80 per 1,000 welcome impressions, $2.40 per 1,000 regular impressions and $0.04 per click on pay-per-click ads. In a hypothetical example, a bot with 2,000 /start launches and 10,000 active users a day comes to $17.76 a day, which is arithmetic on assumptions, not a guarantee.
How many users does a bot need to start earning?
Every counted impression is paid, so revenue starts once the bot passes moderation. Withdrawals start at $50, so a small bot needs more time to reach that amount.
Why doesn’t every request get an ad?
The network shows one person at most one ad per hour and six per day, and a welcome ad in a given bot at most once a day. There also has to be a campaign that matches the bot topic, language and schedule, so fill rate is always below 100%.
When can I withdraw my earnings?
After 7 days, which is how long the anti-fraud check takes. Withdrawals start at $50, are paid in USDT (TRC20) and carry a $3 fee. You can also move the money to your ad balance.
Can I turn off external ads and pay-per-click?
Yes. Both “fixed-price clicks” and “external ads” can be switched off in the bot settings. Requests with no matching ad then stay empty.