Telegram channel of a frontend-developer mentor: 3,095 subscribers at $3.21, 12 mentorship sales, 253% ROMI
Updated:
The task
The client is a working frontend developer and mentor: he walks people to an offer in Big Tech at $3,000+ and supports them through probation. Mentorship is sold through a Telegram channel: content, resume and interview breakdowns, then an application and a sale in direct messages. The ticket is high and the sales cycle runs for weeks.
Before us the channel grew on Telegram seeding and Yandex Direct. A second scalable source was needed, Meta Ads, with two caveats. First, the audience is narrow: experienced frontend developers who want Big Tech, not “everyone in IT”. Second, Meta does not see the “subscribed to the channel” event: without tying a click to a subscription, the algorithm learns on clicks and delivers the wrong people.
What we did
Tied subscriptions to Meta through a subscription-tracking bot. The bot records which link each subscriber came from and sends the event to Meta, so campaigns learn on real subscriptions. In the first days we saw the gap: the ad account showed 8 subscribers at $2.11, the bot showed 13 at $1.30. We agreed with the client right away: the bot is the fact, the ad account always undercounts. We also built a reporting sheet that merges the ad account and the bot by day, so the client sees the cost per subscriber in real time.
10 creative hypotheses at launch, not one “best banner”. Copy was written in the audience’s own language: “HR filter”, “an offer in Big Tech”, “5 years on the resume, zero interviews”. We launched in batches of 5–6 hypotheses and switched off expensive ones within a week. A clear winner emerged in week two: one hypothesis brought 71 subscribers at $1.29.
Videos made from voice messages. The client could not find time to record videos to a brief, so we took his voice messages from the chat and laid them over visuals and subtitles. Two versions, with and without swearing, brought subscribers at $1.20–1.21, almost half the cost of statics. Then we added the client’s own videos: the second hook worked, the bottle-flip clip did not. Next came UGC creators working from a universal video brief. The rule we settled on: name the avatar in the first seconds, “frontend developer”, so the algorithm cuts off the wrong audience faster.
Geo cleaned from day one. Tajikistan and Uzbekistan excluded at launch, Kazakhstan limited to Astana and Almaty. When the client sent applications from off-target countries, we checked the tracking tags: none came from our traffic.
June: cost per subscriber doubled on the same clicks, so we broke the funnel down by stage. CPM, CTR and CPC were unchanged; the conversion from Telegram landing to subscription fell from 36% to 23%. The cause was not creatives: Meta was unstable, with payment failures and account blocks, and we relaunched on reserve accounts. Traffic recovered, but this was the most expensive stretch of the project.
Counted qualified leads and sales, not just subscribers. From month one we asked the client for application and payment IDs and matched them to tags. It turned out the creative that brought the first two sales had been switched off as “expensive”: $3.42 per subscriber against $2.2–2.9 for others. We turned it back on and built a new pack of adaptations and video scripts on it.
Results
- Meta Ads spend: $9,945 for 30 Apr–31 Aug 2026 (ads are still running)
- 3,095 subscribers with a Meta tag in the tracking bot — $3.21 per subscriber; 17% unsubscribed. The ad account shows 2,945 at $3.38, reach 494,103
- Cost per subscriber: $1.37 in week one → $2.2 at scale → $3.3–4.3 after Meta’s June–July outages → $3.3 in August
- Videos from voice messages: $1.20 per subscriber against $2.2–2.9 for statics
- Applications in direct messages: by the end of June 12 applications, 10 qualified, the first 2 sales for ₽401,000 on $4,420 spend
- 12 mentorship sales at an average ticket of ₽225,000 — ₽2.7M (~$35,115)
- 253% ROMI: a $3.21 subscriber → a ~$2,900 sale at roughly 258 subscribers per sale

Insights
- The cheapest subscriber is not the most valuable one. The creative at $3.42 per subscriber brought two sales; the creatives at $1.3 brought none. Optimising only for subscription cost in a high-ticket niche means switching off the source of money.
- Tracking bot versus ad account: the account undercounts subscriptions by 30–40%. Without the link, the client sees “expensive” where it is actually cheap.
- Videos from the client’s voice messages are a working substitute for “real” clips when the expert does not film. The gap in subscriber cost versus statics is twofold.
- A rising subscriber cost with unchanged CPM and CTR is not about creatives. Look at conversion by funnel stage: in June it was the “Telegram landing → subscription” step that dropped, and the cause was account blocks.
- Reserve accounts must exist before the ban. Relaunching on them took days, yet the month still came out expensive.