Other case study: ₹10L to ₹90.6L monthly revenue in 12 months
Case study
Month by month
Revenue by month
| Month | Phase | Ad spend | Revenue | ROAS | Purchases | Cost per purchase |
|---|---|---|---|---|---|---|
| Start | – | – | ₹10L | – | – | – |
| Month 1 | Learning | ₹2,53,606 | ₹10,40,999 | 4.10x | 288 | ₹881 |
| Month 2 | Scaling | ₹3,18,040 | ₹12,11,349 | 3.81x | 345 | ₹922 |
| Month 3 | Scaling | ₹4,03,033 | ₹15,23,554 | 3.78x | 426 | ₹946 |
| Month 4 | Scaling | ₹5,94,054 | ₹20,61,335 | 3.47x | 578 | ₹1,028 |
| Month 5 | Scaling | ₹9,74,965 | ₹30,51,586 | 3.13x | 832 | ₹1,172 |
| Month 6 | Scaling | ₹17,47,903 | ₹51,52,620 | 2.95x | 1,381 | ₹1,266 |
| Month 7 | Scaling | ₹32,21,852 | ₹88,66,106 | 2.75x | 2,416 | ₹1,334 |
| Month 8 | Scaling | ₹32,12,166 | ₹90,54,896 | 2.82x | 2,396 | ₹1,341 |
| Month 9 | Scaling | ₹32,41,859 | ₹89,21,658 | 2.75x | 2,531 | ₹1,281 |
| Month 10 | Steady | ₹31,63,154 | ₹88,57,907 | 2.80x | 2,458 | ₹1,287 |
| Month 11 | Steady | ₹32,70,337 | ₹88,46,138 | 2.70x | 2,416 | ₹1,354 |
| Month 12 | Steady | ₹31,74,540 | ₹90,60,822 | 2.85x | 2,491 | ₹1,274 |
| Total | ₹2,35,75,509 | ₹6,76,48,970 | 2.87x | 18,558 | ₹1,270 |
Funnel
Funnel, first view to purchase month 12
- Impressions3,41,16,564
- Link clicks3,02,9830.89% of impressions
- Landing-page views1,95,20564.43% of link clicks0.572% of impressions
- Added to cart22,00411.27% of landing-page views0.064% of impressions
- Checkout started10,11745.98% of added to cart0.03% of impressions
- Purchases2,49124.62% of checkout started0.007% of impressions
0.007% of impressions became purchases
Mix
Where the budget goes month 12
| Segment | Ad spend | Share of spend | Purchases | ROAS | Cost per purchase |
|---|---|---|---|---|---|
| ₹20,95,857 | 66.0% | 1,638 | 2.84x | ₹1,280 | |
| ₹10,21,690 | 32.2% | 808 | 2.88x | ₹1,264 | |
| Audience Network | ₹56,993 | 1.8% | 45 | 2.91x | ₹1,267 |
| Segment | Ad spend | Share of spend | Purchases | ROAS | Cost per purchase |
|---|---|---|---|---|---|
| Instagram Reels | ₹10,72,417 | 33.8% | 841 | 2.85x | ₹1,275 |
| Instagram Feed | ₹6,82,949 | 21.5% | 549 | 2.92x | ₹1,244 |
| Facebook Feed | ₹4,97,481 | 15.7% | 382 | 2.79x | ₹1,302 |
| Facebook Reels | ₹4,17,039 | 13.1% | 340 | 2.96x | ₹1,227 |
| Instagram Stories | ₹3,40,491 | 10.7% | 248 | 2.65x | ₹1,373 |
| Facebook Stories | ₹65,946 | 2.1% | 53 | 2.91x | ₹1,244 |
| Audience Network | ₹56,993 | 1.8% | 45 | 2.91x | ₹1,267 |
| Facebook Video | ₹41,224 | 1.3% | 33 | 2.91x | ₹1,249 |
| Segment | Ad spend | Share of spend | Purchases | ROAS | Cost per purchase |
|---|---|---|---|---|---|
| Prospecting (cold audiences) | ₹26,10,656 | 82.2% | 2,036 | 2.84x | ₹1,282 |
| Retargeting (warm audiences) | ₹4,75,576 | 15.0% | 386 | 2.95x | ₹1,232 |
| Advantage+ shopping | ₹88,308 | 2.8% | 69 | 2.85x | ₹1,280 |
Creatives
Creative mix month 12
New ads per month
| Creative type | Tier | Ad spend | Purchases | ROAS | Cost per purchase |
|---|---|---|---|---|---|
| Static image | Top | ₹4,04,267 | 450 | 4.05x | ₹898 |
| Catalogue (dynamic product ads) | Moderate | ₹4,17,775 | 346 | 3.02x | ₹1,207 |
| UGC / creator video | Moderate | ₹2,11,273 | 164 | 2.82x | ₹1,288 |
| Video | Moderate | ₹17,85,240 | 1,344 | 2.74x | ₹1,328 |
| Carousel | Watchlist | ₹3,55,985 | 187 | 1.91x | ₹1,904 |
How we run it
How we run it, why, and how it works
Research & offer Month 1
What we do
We start with creative and content, which the brand in this scenario named first, before anything else on this mid-sized store. We build the account in layers so each can be read on its own: testing, scaling, new-buyer prospecting and cart retargeting. We get the store ready for paid traffic first: reviews and trust pointers on product pages, a visible return window, an about page and a reason to pay upfront. We start with a website audit, a creative brief and a monthly media schedule in the first week.
Why
A mid-sized brand grows monthly revenue in 1 year, from ₹10L to ₹2.5Cr–₹5Cr (37.5x). That is faster than nine in ten of our measured accounts grew over the same time, so the case study below is on what that fastest tenth reached and shows where it lands against the number this scenario calls for. The main problem in this scenario is creative and content. Separate layers stop prospecting and retargeting competing for the same budget. Every rupee of ads is capped by how well the store turns visits into orders.
How it works
Each layer keeps its own budget line. Site fixes are handed over in the first weeks, before budget rises. All three are shared with the brand's team before any budget step.
Measurement & reviews Month 1 to 12
What we do
We keep a shared daily sheet with the ad platform's revenue next to real store orders. We write month-by-month revenue numbers with the brand's team that climb from ₹10L to ₹2.5Cr–₹5Cr, and open every review with the month-to-date number against them. We set a written rule: no budget step in a month where return falls too far to pay for it.
Why
No starting return on ad spend was given; the starting return is what measured stores of that size hold. The ad platform's own count runs high, so the store's count is the one that moves budget. Written monthly numbers expose a slow month while there is still time to act.
How it works
Budget decisions are read off store numbers, not the ad platform alone. Each budget step is argued against the written number. A month whose return slips past that point keeps its budget instead.
Creative testing Month 1
What we do
We lead the testing layer with video, catalogue ads and static image, building to several dozen new ads a month by the final month, with carousel watched closely since it returns less than the rest. We buy creative in batches and give each batch a fixed read window before buying more. We make trust the subject of the video: creator reels, customer feedback and founder-led clips. We keep creators producing UGC video on a steady schedule, and cut the winners into regional languages.
Why
Buying more before a batch is read means paying for guesses. Video built on trust was the format that held return in most measured accounts. Regular UGC keeps testing going, and a regional cut stretches a winning idea further.
How it works
Batches that do not convert are cut; winners get the budget. Weak UGC is swapped for founder-led video rather than scaled. Regional cuts of a winner come before new ideas. The number of new ads grows with spend; video makes up the largest part and catalogue ads the next.
Scaling Month 2 to 9
What we do
We scale through Month 2 to Month 9 toward ₹2.5Cr–₹5Cr as the budget climbs steeply and return falls, with Instagram Reels taking the largest share of spend and Instagram Feed the next. We raise budget only while return on spend holds, and cut it when return drops. We build lookalikes from past buyers once purchases are steady, beside broad prospecting.
Why
Across Month 2 to Month 9, the budget climbs steeply, and return on spend falls as it does. In one of these months budget goes up only as far as return allows, so revenue grows more slowly than the number this scenario calls for. Budget does not rise in one of these months: at that return, more spend does not pay. Our measured accounts saw cost per order rise and return fall as spend scaled; that is why each step here waits on return. The people who already bought describe the next buyer best.
How it works
There is no fixed ramp; each month's budget follows the return of the last. Lookalikes are read against broad on the same creative. Instagram Reels carries the largest share of spend in the final month, with Instagram Feed next. Cold audiences take most of the budget; warm audiences return more per rupee.
Steady state Month 10 to 12
What we do
From Month 10, we hold the gains and push toward ₹2.5Cr–₹5Cr only as far as return allows. We keep a bank of ready creatives and rotate them in as ads tire. We recover abandoned checkouts and lift repeat orders with WhatsApp messages.
Why
From Month 10 growth slows while revenue is still under ₹2.5Cr–₹5Cr. Budget stays about level over these months. A measured account showed click-through falling ahead of revenue, so tired ads are replaced early. A message to someone who nearly bought costs less than an ad.
How it works
Refreshes are gradual: a few new ads at a time. WhatsApp runs alongside paid retargeting, not instead of it.
Milestones
Milestones by month
- Month 1
The learning phase opens: the first ads run on a small daily budget while tracking is checked against store orders. Store orders and ad-platform revenue are checked side by side. The store fix list is live, with reviews on product pages and a prepaid offer.
- Revenue ₹10.4L
- ROAS 4.10x
- Ad spend ₹2.5L
- Month 2
The scaling phase opens: the winning UGC runs in regional-language versions. Spend steps up, and return dips.
- Revenue ₹12.1L
- ROAS 3.81x
- Ad spend ₹3.2L
- Month 3
Customer-feedback and creator videos are refreshed.
- Revenue ₹15.2L
- ROAS 3.78x
- Ad spend ₹4L
- Month 4
Past buyers get a WhatsApp nudge for their next order.
- Revenue ₹20.6L
- ROAS 3.47x
- Ad spend ₹5.9L
- Month 5
Each budget move is read against the return it bought. Spend steps up sharply, and return dips.
- Revenue ₹30.5L
- ROAS 3.13x
- Ad spend ₹9.7L
- Month 6
Tired ads are refreshed from the creative bank.
- Revenue ₹51.5L
- ROAS 2.95x
- Ad spend ₹17.5L
- Month 7
Lookalikes of past buyers are added beside broad prospecting.
- Revenue ₹88.7L
- ROAS 2.75x
- Ad spend ₹32.2L
- Month 8
This batch's read is done: winners stay, the rest are cut. Return is still below the level where more budget pays, so spend holds, and return holds.
- Revenue ₹90.5L
- ROAS 2.82x
- Ad spend ₹32.1L
- Month 9
Regional-language cuts of the winning UGC go live. Only the part of the step that return supports is taken: spend holds, and return holds.
- Revenue ₹89.2L
- ROAS 2.75x
- Ad spend ₹32.4L
- Month 10
The case study moves into its steady phase, leaning on refreshed ads and repeat buyers. Return is still below the level where more budget pays, so spend holds, and return holds.
- Revenue ₹88.6L
- ROAS 2.80x
- Ad spend ₹31.6L
- Month 11
Customer-feedback and creator videos are refreshed. Only the part of the step that return supports is taken: spend holds, and return holds.
- Revenue ₹88.5L
- ROAS 2.70x
- Ad spend ₹32.7L
- Month 12
Repeat-order messages go to past buyers. Return is still below the level where more budget pays, so spend holds, and return rises. The case study finishes short of ₹2.5Cr–₹5Cr: budget stops rising where return starts to slip. Each order costs more by the end than it did while learning.
- Revenue ₹90.6L
- ROAS 2.85x
- Ad spend ₹31.7L
Learnings
Learnings from brands we measured
Instagram Reels carries the largest share of spend in this industry's measured accounts.
Kept a creatives bank and 4–8 social posts a month
Build audiences on the buyer's life and profession rather than health-condition interests.
Services: Performance marketing Ads video creation Book a call
More Other case studies
Ready to grow with one team?
Book a call. If we can help you grow, we show you how; if we cannot, we tell you that too.
