Brought 98,000 subscribers to a Telegram channel and earned $2,025,240 in 2 years at 669% ROMI
An online school’s Telegram channel
The task
The online school sells its courses through a Telegram channel: ads lead to a subscription, then a funnel takes the person further. The job was to scale the channel with paid traffic in three ad systems at once and to see money, not subscriptions. The link “subscription → deal in CRM” was not being made: channels were compared by cost per subscription.
What we did
24 months in three channels: Meta Ads, Yandex Direct, Google Ads. Traffic went not straight into the channel but to our own pre-landers — several versions on our own servers, with a native Meta Pixel and PostHog. For every “channel → campaign” combo we issued a separate Telegram invite link: without it a subscription is anonymous.
On top — end-to-end analytics in BigQuery: spend from the three systems in dollars at the daily exchange rate, subscriptions by invite link, payments from amoCRM — in a daily report.
Results
- Ad budget — $302,868 (Meta $202,241, Yandex Direct $86,008, Google Ads $14,619)
- Subscriptions — 98,015 (Meta 71,003, Yandex Direct 21,126, Google Ads 5,886)
- Cost per subscription — $3.09
- Payments — 1,581 deals, average order value $1,281
- Revenue — $2,025,240
- ROMI — 669%
Insights
- Subscriber-to-payment conversion — 1.6%. At a $1,281 order value a client costs $192: marketing takes 15% of the order, the channel scales without risk.
- Cost per subscription differed 1.6x across systems: Google Ads — $2.48, Meta — $2.85, Yandex Direct — $4.07. Two thirds of the budget went to Meta: it held both the price and a volume the other two could not reach.
- What decided it was not creative work but tracking: an invite link per combo is the only way to tie a subscription to a campaign.