Telepars Blog
Trading promotion with Telegram Ads: case study

Launch mechanics
Unlike other social networks, Telegram lets you send users to a channel or a bot. Advertising a website or linking to other social networks is not supported. In this case we sent users directly to a channel that already had several thousand subscribers and active posts.
The acquisition mechanics were simple: bring people in, interest them with content, and expect a subscription. Then the audience was warmed with expert content and eventually bought a course.
Moderation specifics in Telegram
Telegram Ads prohibits advertising of info business, so those channels do not pass moderation. Before moderation we removed all provocative content and added it back when needed.
To pass moderation we deleted many posts with political topics, links to other social networks such as Instagram, and similar content.
Why choose Telegram Ads
Most of the channel audience was previously acquired via placements in other channels and blogger integrations. That approach has drawbacks:
- No stability. Some channels perform well, others much worse. You cannot predict results.
- Many dishonest channels inflate audiences to make ads look effective. Some even inflate requests and leads to get repeat orders.
- Clean payments are often impossible. Many accept only card transfers or QIWI.
- It takes a lot of time to contact admins, negotiate, and schedule placements.
- Some channels with good audiences do not sell ads at all.
Pros of Telegram Ads
- Clean payments with all closing documents.
- Ads can show on any open channel with no admin approval.
- The ad stays visible in the channel and is not missed.
- Low impression cost. On most large channels a bid of 2 euros per 1,000 impressions is enough.
- Low competition due to high entry check.
- Clear, accessible statistics.
Telegram Ads workflow specifics
Telegram Ads does not allow a daily budget. There is no optimization and no click cost. We see only impressions, subscribers, and spent amount. This creates limits and extra work.
First, you cannot set a daily budget and wait. Each morning I add a small amount to selected campaigns to see performance today. Some days a previously successful campaign performs poorly. If the spend produces the needed subscribers, I keep feeding the campaign. I do this for every campaign. Some clients have dozens of campaigns.
Second, you must work with CPM manually. When launching the first campaigns we test to find the CPM that gives the desired reach without overpaying. For example, at 20 euros CPM you might reach 99 percent of a channel. At 10 euros CPM you might still reach 99 percent. At 7 euros CPM you might reach about 80 percent. If 80 percent is enough, there is no reason to overpay by 1.5 to 3 times.
Tasks
- Reach audiences we could not reach before.
- Show ads to our own subscribers so competitors do not buy them away.
- Reach a wide audience at low cost.
- Get steady, affordable subscribers daily.
Target audience segments
We selected several segments to see how subscription cost changes by audience:
- Broad segment: people who read and follow economic news.
- Investor segment: people who subscribe to channels about investments, stocks, crypto, and similar topics.
- Narrow segment: our competitors.
We collected target channels using Telemetr. We selected channels with activity, clear audience source, and regular posting.
We also tested Telegram internal interest targeting, but it produced the weakest results.
Results
We ran multiple launches, and each showed different results. In the last launch we held subscriber cost around 180 rubles. Some campaigns delivered 25 to 40 rubles per subscriber, others cost 200 to 300 rubles.
Cost depends heavily on the channel and the ad message. The more provocative the ad, the cheaper the audience. The broader the audience, the lower the CPM and the cheaper the subscriber.
Since one of our goals is to show ads in channels that do not sell placements, we are willing to overpay for an audience that later pays back well.
Below is an example of a campaign with an inexpensive subscriber. For example, on the 27th we gained 41 people for only 10 euros.
Even with constant CPM, the charts show strong fluctuations in impressions and subscribers. On some days the same impression count produces very different subscriber numbers.
We assume this depends on which audience segment happens to visit those channels on a given day.
To find the audience and ads with the best response we created dozens of campaigns with different settings.
In some campaigns we used one or several channels. In others we used 15, 30, or more channels.
We also tested CPM changes. We checked how audience performance changes on large channels with high and low CPM. We also tried small channels with high CPM.
For most campaigns we found CPM values that delivered the needed impressions without overpaying, but only through testing.
After 7 to 14 days for most campaigns it was already clear which CPM was workable.
Overall stats at the time of the case: around 9,000 euros spent over several months. In the first launch before November we got about 1,500 subscribers. Now we are close to 1,600 subscribers with a budget that is two times smaller.
Could subscribers be cheaper?
Yes. We could have delivered subscribers around 0.6 to 1 euro. But then:
- We would not buy the expensive audiences we needed.
- We would have daily budget limits.
- The audience would be colder and would require longer nurturing.
Conclusion
In this case we did not chase the cheapest subscriber. Our task was to reach audiences we could not reach through seeding. We needed to collect a high quality audience from expensive channels. That required higher CPM to buy that audience back.
The results were better than seeding both in audience quality and in cost stability.