CPM in Advertising: What It Is and How to Calculate
You get three offers: a Telegram post for 4,000 UAH, a billboard for 15,000 UAH and a cafe screen for 900 UAH a month. Which one is cheaper? The invoice can't tell you, because each buys a different number of people. That is what CPM in advertising — the cost per 1,000 impressions — is for. It is one metric that puts Instagram, a billboard and an in-venue screen on the same ruler. Below: what CPM is, how to calculate it for any channel, real 2026 numbers, and three traps that make a low CPM mean wasted money.
What CPM means in plain terms
CPM (cost per mille, "cost per thousand") is what you pay for 1,000 contacts between your ad and an audience. In digital, a contact is an ad shown in a feed. Offline, it is a person who had the opportunity to see the medium (screen, billboard, poster).
The formula:
CPM = placement cost ÷ number of impressions × 1000
Example: you paid 3,000 UAH and got 25,000 impressions. CPM = 3,000 ÷ 25,000 × 1000 = 120 UAH.
In Meta and Google Ads the ad account calculates CPM for you — it is in the report. For Telegram, radio, billboards and screens you have to calculate it yourself from the numbers the seller gives you.
CPM, CPC, CPA: the difference
| Metric | What you pay for | When it helps |
|---|---|---|
| CPM | 1,000 impressions | Comparing reach across channels, awareness |
| CPC | 1 click | Traffic to a website or online cart |
| CPL | 1 lead | Services where the customer leaves a contact |
| CPA | 1 target action (purchase, booking) | The channel's final payback |
CPM is an entry metric: it tells you what it costs to get in front of someone, not whether they will come. For the bottom of the funnel, see our breakdown of CPA, CPL and ROI in outdoor advertising.
Real CPMs by channel in 2026
Benchmarks for the Ukrainian market that we collected for our separate pricing articles. These are ranges, not a rate card:
| Channel | Typical CPM | What counts as an "impression" |
|---|---|---|
| Instagram / Facebook (Meta) | 60–250 UAH | The ad appeared in the feed or stories |
| Telegram channels | 60–600 UAH | A post view |
| 6×3 billboard in Kyiv | roughly 15–40 UAH | Estimated flow of cars and pedestrians past the board |
| HostAd cafe screen | ~100 UAH per 1,000 people (base rate) | A person who spent time in the venue with the screen |
Where the Instagram and Telegram numbers come from: how much Instagram ads cost and Telegram channel advertising prices — both also cover how not to overpay.
How we calculated CPM for cafe screens
We took real venue cards from the HostAd map (prices as of September 30, 2026):
- ZHNYVA on Pavlivska: 90 UAH per second of airtime per month, a 10-second clip = 900 UAH, reach ~9,000 people a month. 900 ÷ 9,000 × 1000 = 100 UAH.
- Kavova Lavka on Tabirna: 60 UAH/sec, 10 seconds = 600 UAH, ~6,000 people. 100 UAH.
- Beer Cool on Orikhuvatska: 40 UAH/sec, 10 seconds = 400 UAH, ~4,000 people. 100 UAH.
An important detail: the denominator here is people, not impressions. The clip comes on screen every 2 minutes, and a guest stays in the cafe for 30–40 minutes. So one person gets 15–20 chances to see the ad per visit. If we calculated CPM "per impression" the way digital does, the figure would drop to single-digit hryvnias. We deliberately don't — comparing by people reached is more honest. And when a screen has a current-month discount (−50% on some venues), CPM per person falls to ~50 UAH.
Why a cheap CPM lies: three traps
1. An impression ≠ attention
The billboard has the lowest CPM in the table. But an "impression" there is a car passing in 2–3 seconds, driven by someone watching the road. An average Instagram impression lasts under a second while the thumb keeps scrolling. A cafe screen loses on scale but wins on context: the person is seated, waiting for coffee, phone in hand — and can scan a QR code right away. We covered this in 5 moments when a guest looks at the cafe screen.
Rule: only compare CPMs between channels with the same contact quality. Or apply an attention adjustment: how many seconds a person actually sees the message.
2. Impressions ≠ people (frequency)
25,000 Meta impressions are most often 8–12 thousand people who saw you 2–3 times. Frequency helps awareness, but if you are measuring "how many people learned about me", divide the budget by reach, not impressions. Otherwise CPM looks two or three times better than it is. On balancing frequency and reach: brand awareness — frequency beats reach.
3. Impressions ≠ your impressions (geography)
For a local business this is the most expensive trap. A billboard is seen by the whole flow — from Troieshchyna, from the suburbs, in transit. A Telegram channel with 80,000 subscribers may have 30% of its audience in Kyiv. If you are a dental clinic in Podil or a barbershop in Solomianka, your customers are people within 1–2 km. So calculate the effective CPM:
Effective CPM = CPM ÷ share of your target audience
A billboard with a 20 UAH CPM where only 5% of the flow lives or works near you: effective CPM = 20 ÷ 0.05 = 400 UAH. A cafe screen 300 meters from you where 60% of guests are local residents and office workers: 100 ÷ 0.6 ≈ 170 UAH. The ranking flips.
Using CPM in practice: 4 steps
- Collect comparable inputs. For each channel: the full monthly cost (including printing, production and agency fees) and the number of people, not just "impressions".
- Calculate both the plain and the effective CPM. Be honest about the share of the audience that could actually reach you.
- Add an action metric. CPM is only the top of the funnel. Add a QR code with UTM tags or a promo code to see how many people took the next step. How to set it up: UTM tags in a QR code.
- Test for a month, not a year. CPM on paper and CPA in reality often diverge. A short test reveals the truth more cheaply than any media plan.
Where HostAd fits
HostAd sells airtime on screens in craft coffee shops and bars across Kyiv. For CPM math this is convenient for three reasons:
- Transparent inputs. Every venue card on the map shows the price per second of airtime and the venue's estimated monthly reach. You can calculate CPM in 10 seconds — no request for a proposal and no 15–30% agency markup quietly inflating CPM in other channels.
- A local denominator. You pick specific venues near your business, so the share of "your" audience is high and the effective CPM stays close to the plain one.
- Measurement beyond CPM. A QR code on the creative goes through HostAd tracking, and scans show up in campaign stats. You see not just the cost per thousand people but the cost per real action.
Booking is monthly: take 2–3 screens in one district for a single month, calculate CPM and CPA on your own numbers, and decide whether to scale.
The bottom line
CPM in advertising is the simplest way to compare channels that are sold differently: posts, billboards, seconds of airtime. But an honest CPM counts people rather than impressions, accounts for attention and filters out the audience that will never reach you. Calculate the effective CPM for your district — then open the HostAd map to plug real prices of nearby screens into the formula.