Why the Onam CPM doubled, and why that was fine
A Thrissur jewellery brand saw its Meta CPM jump from ₹110 to ₹240 in the ten days before Onam. The owner asked us to pause everything until it came back down.
We pulled up last year’s numbers. CPM had doubled then too, because every brand in Kerala bids for the same people in festival weeks. But conversion rate had also nearly tripled: people were shopping, not scrolling.
Cost per sale in the Onam week was actually 30% lower than in a normal week, even with the higher CPM.
They kept spending, shifted budget to the products that sold best, and paused the day after Thiruvonam when CPM stayed high but buying dropped.
Illustrative example based on a common pattern in Kerala e-commerce accounts. Numbers rounded.
What CPM measures
CPM is the price you pay for reach. On Meta, YouTube and display networks you are usually charged as impressions are delivered, so CPM is the base cost behind every other number.
CPM rises when more advertisers want the same audience (festivals, elections, year-end), when your audience is small, or when Meta judges your ad as low quality. A lower CPM is not automatically better: cheap impressions in a placement nobody looks at can cost more per lead.
CPM = ad spend ÷ impressions × 1,000 · cost per click = CPM ÷ (CTR × 10)
Calculate your CPM
- CPM
- ₹125
- CPM incl. 18% GST
- ₹148
- Impressions for your budget
- 1,69,492
At this CPM, a ₹25,000 budget (with GST) buys about 1,69,492 impressions. A high CPM is not bad on its own: judge it with CTR and cost per result.
Starting ranges are rules of thumb for Indian accounts, not promises. Your own account history is the better benchmark.
Want a second opinion on your numbers? Join the community and post them for doubt-clearing.
Worked example
| Ad spend (before GST) | ₹10,000 |
|---|---|
| Impressions | 80,000 |
| CPM | 10,000 ÷ 80,000 × 1,000 = ₹125 |
| CPM with 18% GST | ₹125 × 1.18 = ₹147.50 |
| At 1.2% link CTR, cost per click | ₹125 ÷ 12 ≈ ₹10.40 |
How experienced marketers use CPM
1. Plan budget from reach
If you need 5 lakh impressions in Kochi for a launch and CPM runs near ₹120, the media budget is about ₹60,000 plus GST. CPM turns an awareness goal into a rupee number.
2. Explain a cost jump
When cost per lead rises, check CPM first. If CPM rose and CTR held, it is auction pressure (season, competition). If CPM held and CTR fell, it is your creative.
3. Compare placements and audiences
Reels, Stories and Audience Network often have lower CPMs than Facebook feed. Look at cost per result by placement before you exclude anything.
4. Set expectations in festival weeks
Tell clients before Onam, Vishu, Eid or Diwali that CPM will rise. Judge those weeks on cost per sale, not CPM.
What good looks like
| Business type | Starting rule | Why |
|---|---|---|
| Meta, Kerala, broad audience | ₹80–₹200 | Starting rule. Festival weeks can double it. |
| Meta, small or B2B audience | ₹200–₹600 | Fewer people to reach means more competition per person. |
| YouTube in-stream | ₹60–₹250 | Varies by targeting and format. |
| Google Display | ₹30–₹150 | Cheap reach, low attention. Judge by conversions. |
When the number lies
- Low CPM, low quality
- Very cheap impressions often come from placements like Audience Network or in-app games, where people tap by accident.
- GST left out
- Ads Manager shows CPM before 18% GST. Your real cost per 1,000 impressions is higher if you can’t claim the GST back.
- Reach vs impressions
- CPM counts impressions, not people. If frequency is 4, your cost to reach 1,000 different people is four times the CPM.
- Learning phase
- New ad sets often show unstable CPM in the first days. Wait for the learning phase to end before judging.
Mistakes to avoid
Pausing ads because CPM went up
You miss the weeks when people buy most. Check cost per sale before pausing.
Chasing the lowest CPM placement
Cheap impressions with no attention. Cost per lead goes up, not down.
Over-narrow targeting
Stacking interests and small radiuses shrinks the audience and pushes CPM up. Broad targeting with strong creative is usually cheaper.
Comparing CPM across countries or platforms
A ₹150 CPM can be great in one market and poor in another. Compare like with like.
Related terms
Questions people ask about CPM
What does CPM stand for?
Cost per mille, Latin for thousand. It is the cost of 1,000 ad impressions.
How do you calculate CPM?
Divide ad spend by impressions and multiply by 1,000. ₹6,000 spend for 50,000 impressions is a ₹120 CPM.
What is a good CPM on Meta in India?
For broad audiences in Kerala, ₹80–₹200 is a common starting range. B2B and very narrow audiences cost more, and festival weeks can double CPM. Judge CPM together with cost per result.
Why is my CPM so high?
Usually a small or heavily layered audience, a busy season, or ads Meta rates below average for quality. Try broader targeting, fresher creative and more placements.
Is CPM the same as CPC?
No. CPM is the cost of 1,000 impressions; CPC is the cost of one click. CPC = CPM ÷ (CTR × 10), so a better CTR lowers CPC even when CPM stays the same.
Put it into practice
Join our communityPrefer to talk first? Book a free counselling call.