Back to Blog

Telegram Ads CPM Bidding Strategy: How to Find the Right Price

Mar 5, 2026 14 min read By growity.ai

Every Telegram Ads campaign hits the same wall. The advertiser sets a CPM bid, Telegram shows the ad on some channels and ignores it on others, and there's no published price that explains the cutoff. Bid too low: zero impressions. Bid too high: budget burns 3× faster than it should. The optimal bid is a specific number per channel, and Telegram doesn't publish it. What follows is how that number gets found — systematically, channel by channel, in under 24 hours instead of by burning budget on trial and error.


How CPM Bidding Works in Telegram Ads

Unlike Google or Meta ads, Telegram Ads doesn't use a real-time auction where multiple advertisers compete per impression. Telegram uses a threshold-based system: an ad is either shown or it isn't, based on whether the CPM bid meets the channel's hidden minimum.

Key mechanics:

  • CPM = cost per 1,000 impressions. The bill is for views, not clicks or subscribers
  • Each channel has a floor price. Channels with larger audiences and higher engagement have higher floors
  • Floor prices are hidden. Telegram doesn't disclose the minimum CPM for a channel — the advertiser has to discover it
  • No bidding war. Above the floor, a higher bid doesn't get more impressions — it just costs more

The optimal strategy isn't "bid high to win." It's "find the floor and bid just above it."

Understanding CPM Floor Prices

Every Telegram channel has an implicit CPM floor. Below it, the ad gets zero impressions. Above it, the ad enters rotation and gets shown to the channel's subscribers.

What determines the floor?

FactorImpact on FloorExample
Channel sizeLarger channels = higher floors50K subs: ~$8 CPM, 500K subs: ~$20+ CPM
Audience geographyTier 1 countries cost moreUS/EU channels: 2-3x higher than CIS
Channel categoryCommercial niches cost moreFinance > Entertainment > Memes
Engagement rateHigh engagement = higher demandActive channels with 30%+ view rate
Advertiser demandMore advertisers = higher floorsSeasonal spikes during holidays

Typical CPM ranges (2026)

Audience TierCPM RangeNotes
CIS (Russia, Ukraine, Belarus)$2 – $8Largest Telegram audience, lowest CPMs
Southeast Asia, LATAM$5 – $15Growing markets, moderate competition
Western Europe$10 – $30High purchasing power, high floors
US, UK, Canada$15 – $50Premium audiences, highest floors
Mixed / global channels$5 – $20Blended audience, variable performance

These are starting points, not guarantees. The only way to know a specific channel's floor is to test it.


The Price Discovery Process

Since Telegram doesn't publish floor prices, the campaign needs a systematic way to find them. The most efficient approach is exponential search followed by binary refinement.

Phase 1: Exponential ramp-up

Start with a low CPM and increase in large steps until first impressions land:

  1. Start at the platform minimum (currently $2 CPM on ads.telegram.org, lower on reseller platforms)
  2. If zero impressions after a few hours, increase by 50% (e.g., $2 → $3 → $4.50 → $6.75 → $10 ...)
  3. Continue until impressions appear — that's the approximate floor

Example for a mid-size European channel:

StepCPM BidResultAction
1$50 impressionsIncrease
2$80 impressionsIncrease
3$120 impressionsIncrease
4$18340 impressionsFloor found! Go to Phase 2

Phase 2: Binary refinement

Once the floor is known to sit between $12 and $18, narrow it down:

  1. Try the midpoint: $15
  2. If impressions → floor is between $12 and $15. Try $13.50
  3. If no impressions → floor is between $15 and $18. Try $16.50
  4. Continue until convergence to within $1 of the floor

In 3-4 steps, the exact floor price is known to within a dollar. The whole process completes in under 24 hours.

Phase 3: Maintenance probing

Floor prices aren't static. They shift as advertiser demand changes. Once the optimal CPM is set, periodic lower-bid tests reveal whether the floor has dropped:

  • Every 7 days, try reducing the CPM by 10-15%
  • If impressions continue, keep the lower price
  • If impressions stop, revert to the previous CPM

This prevents overpaying for weeks after the floor drops.


5 Common CPM Bidding Mistakes

1. Starting too high

Many advertisers set CPM at $30-50 "just to be safe." It works — impressions arrive — but the bid may sit 3× above the floor. Floor at $12, bid at $36: $24 per 1,000 impressions wasted. On a $500/day budget, that's $400/day in overspend.

2. Giving up too quickly

A channel with zero impressions at $10 CPM isn't necessarily dead. The floor might be $15. Advertisers who test one price and move on miss viable channels. The exponential ramp-up approach prevents premature channel abandonment.

3. Using the same CPM for every channel

A 30K-subscriber niche channel and a 500K-subscriber news channel have very different floor prices. A blanket CPM of $20 overpays on small channels and gets zero impressions on expensive ones. Each channel needs its own optimized CPM.

4. Never re-testing

Floor prices change. A channel that required $20 CPM in January might accept $14 in March because advertiser demand shifted. Set-and-forget CPM means 15-30% overpayment within a few months.

5. Confusing CPM with CPA

A $30 CPM on a high-converting channel can produce subscribers at $0.50 each. A $5 CPM on a low-converting channel can produce subscribers at $3 each. The bid price is not the acquisition cost. CPA (cost per subscriber) tracked alongside CPM reveals true performance.


Budget Allocation Across Channels

Once optimal CPM is discovered for each channel, the next question is budget distribution. A practical framework:

The 70/20/10 split

Bucket% of BudgetPurpose
Proven channels70%Channels with known CPM and good CPA. Scale spend here
Testing channels20%New channels in price discovery. Finding their floor CPM
Probing budget10%Re-testing existing channels for lower floors

When to increase budget on a channel

  • CPA is below the target (e.g., under $1/subscriber)
  • Impressions are consistent (the channel reliably serves the ads)
  • Subscriber quality is good (they stay, they engage)

When to reduce or stop

  • CPA exceeds the limit for 3+ consecutive days
  • Impressions are erratic (the channel is unreliable)
  • No clicks or subscribers after significant spend ($20+ with zero conversions)

Manual vs Automated Price Discovery

The price discovery process above works, but it's tedious across 20+ channels simultaneously. The math:

ScenarioManualAutomated
Channels to test2020
Steps per channel6-8 (exp + binary)6-8 (same algorithm)
Check frequency2×/day by handSystem checks every 4 hours
Time to convergence3-4 weeks1-2 days
Human time spent~10 hours~0 hours
Ongoing re-testingUsually forgottenAutomatic weekly re-tests

The difference is execution speed. An automated system tests a new CPM on a regular cycle, converging in under a day, where manual testing at 1-2 checks per day takes weeks.


Advanced CPM Strategies

Bid just above the floor, not at it

A discovered floor of $14 doesn't mean bid $14. Bid $15-16. Floor prices fluctuate slightly day-to-day, and bidding exactly at the floor means some days impressions land and some days they don't. A 10-15% buffer ensures consistent delivery.

Use CPM to control spend velocity

Higher CPMs don't always get more impressions (above the floor, volume is roughly the same). But they do affect how fast the budget depletes. To spread a $100 budget over 7 days instead of 2, a lower CPM naturally throttles spend.

Seasonal adjustments

CPM floors tend to increase during:

  • Q4 (October-December) — holiday advertising surge
  • New Year period — peak demand in CIS markets
  • Product launch seasons — multiple advertisers targeting the same niches

Plan for 20-40% higher floors during peak periods. A normal CPM of $15 needs budget for $18-21 during Q4.

Channel rotation

Don't run ads on the same channel indefinitely. Audiences saturate — the same subscribers see the ad repeatedly, click-through rates drop, CPA rises. Rotate channels every 2-4 weeks:

  1. Run ads on Channel A for 2 weeks
  2. Pause Channel A, activate Channel B
  3. After 2 weeks, return to Channel A — the audience has refreshed

This keeps CPA low without requiring higher CPM bids.


Calculating ROI from CPM Data

CPM is an input cost. What matters is the output: subscribers, clicks, or whatever action the campaign optimizes for. The conversion chain:

The conversion chain

MetricFormulaExample
Cost per click (CPC)CPM / (CTR × 10)$15 CPM, 0.8% CTR = $1.88/click
Cost per subscriber (CPA)CPM / (sub rate × 10)$15 CPM, 0.3% sub rate = $5.00/sub
Daily subscribersdaily_spend / CPA$50/day at $5 CPA = 10 subs/day
Runwaybalance / daily_spend$500 balance at $50/day = 10 days

These metrics track per channel, not just in aggregate. A channel with $20 CPM and 1% click rate ($2 CPC) outperforms a channel with $8 CPM and 0.1% click rate ($8 CPC).


CPM Optimization Checklist

  • Start with a low CPM ($2-5) and ramp up exponentially
  • Use binary refinement once the approximate floor lands
  • Add a 10-15% buffer above the discovered floor
  • Set per-channel CPMs, not a blanket bid
  • Re-test floors every 1-2 weeks
  • Track CPA per channel, not just CPM
  • Rotate channels every 2-4 weeks to prevent saturation
  • Budget 20% of total spend for testing new channels
  • Increase floor buffer by 20-40% during Q4 and peak seasons
  • Automate price discovery for 10+ channels

Bottom Line

CPM bidding in Telegram Ads isn't about spending more — it's about spending right. The platform's threshold-based system means a specific price point exists for every channel where impressions hit maximum at minimum cost. Finding that point is the entire game.

For small campaigns (1-5 channels), manual price discovery works fine. For anything larger, the testing matrix becomes unmanageable without automation.

Start low, ramp methodically, refine precisely, never stop re-testing. That's the strategy. For the cross-platform decision framework on whether AI-managed bidding pays off at a given budget, see When AI Ad Management Is Worth It.

Common Questions

What is the minimum CPM on Telegram Ads?

On ads.telegram.org the minimum CPM is currently $2. Some reseller platforms allow bids as low as $0.50, but very few channels have floors that low.

Is the highest affordable CPM the best strategy?

No. Above the floor, a higher CPM just costs more for the same impressions. The optimal strategy is to find the floor and bid 10-15% above it.

How often do floor prices change?

Floor prices can shift weekly. Major changes happen seasonally (Q4 increases, summer decreases) and when new advertisers enter or leave a channel category.

Can different CPMs run for different ad sets?

Yes. Each ad placement on a specific channel has its own CPM bid. The optimization unit is per channel, not per campaign.

What about impressions arriving but no clicks?

That is an ad creative problem, not a CPM problem. The bid is working since impressions land, but the message is not compelling enough to drive action. Rewrite the ad text before adjusting CPM.

How much budget for price discovery?

$5-15 per channel during the discovery phase. With 20 channels, that is $100-300 in testing budget. Once floors are found, that budget shifts to proven channels.