Beauty & skincare case study: ₹2L to ₹4.6L monthly revenue in 13 months
Case study
Month by month
Revenue by month
| Month | Phase | Ad spend | Revenue | ROAS | Purchases | Cost per purchase |
|---|---|---|---|---|---|---|
| Start | – | – | ₹2L | – | – | – |
| Month 1 | Learning | ₹1,07,085 | ₹2,00,853 | 1.88x | 194 | ₹552 |
| Month 2 | Scaling | ₹1,13,482 | ₹2,15,223 | 1.90x | 212 | ₹535 |
| Month 3 | Scaling | ₹1,16,981 | ₹2,40,839 | 2.06x | 229 | ₹511 |
| Month 4 | Scaling | ₹1,39,033 | ₹2,68,510 | 1.93x | 264 | ₹527 |
| Month 5 | Scaling | ₹1,94,017 | ₹3,68,531 | 1.90x | 343 | ₹566 |
| Month 6 | Scaling | ₹2,29,079 | ₹4,43,180 | 1.93x | 432 | ₹530 |
| Month 7 | Scaling | ₹2,28,024 | ₹4,53,088 | 1.99x | 435 | ₹524 |
| Month 8 | Scaling | ₹2,34,922 | ₹4,56,969 | 1.95x | 442 | ₹531 |
| Month 9 | Scaling | ₹2,37,545 | ₹4,56,779 | 1.92x | 459 | ₹518 |
| Month 10 | Scaling | ₹2,40,662 | ₹4,52,578 | 1.88x | 432 | ₹557 |
| Month 11 | Steady | ₹2,35,547 | ₹4,57,145 | 1.94x | 428 | ₹550 |
| Month 12 | Steady | ₹2,38,600 | ₹4,51,818 | 1.89x | 444 | ₹537 |
| Month 13 | Steady | ₹2,41,688 | ₹4,59,490 | 1.90x | 432 | ₹559 |
| Total | ₹25,56,665 | ₹49,25,003 | 1.93x | 4,746 | ₹539 |
Funnel
Funnel, first view to purchase month 13
- Impressions39,01,412
- Link clicks45,0871.16% of impressions
- Landing-page views29,13964.63% of link clicks0.747% of impressions
- Added to cart2,3468.05% of landing-page views0.06% of impressions
- Checkout started1,34057.12% of added to cart0.034% of impressions
- Purchases43232.24% of checkout started0.011% of impressions
0.011% of impressions became purchases
Mix
Where the budget goes month 13
| Segment | Ad spend | Share of spend | Purchases | ROAS | Cost per purchase |
|---|---|---|---|---|---|
| ₹1,50,215 | 62.2% | 268 | 1.89x | ₹561 | |
| ₹85,771 | 35.5% | 154 | 1.91x | ₹557 | |
| Audience Network | ₹5,702 | 2.4% | 10 | 1.94x | ₹570 |
| Segment | Ad spend | Share of spend | Purchases | ROAS | Cost per purchase |
|---|---|---|---|---|---|
| Instagram Reels | ₹66,581 | 27.5% | 119 | 1.90x | ₹560 |
| Instagram Feed | ₹58,002 | 24.0% | 106 | 1.94x | ₹547 |
| Facebook Feed | ₹43,429 | 18.0% | 76 | 1.86x | ₹571 |
| Facebook Reels | ₹34,971 | 14.5% | 65 | 1.97x | ₹538 |
| Instagram Stories | ₹25,632 | 10.6% | 43 | 1.76x | ₹596 |
| Audience Network | ₹5,702 | 2.4% | 10 | 1.94x | ₹570 |
| Facebook Stories | ₹4,036 | 1.7% | 7 | 1.94x | ₹577 |
| Facebook Video | ₹3,335 | 1.4% | 6 | 1.94x | ₹556 |
| Segment | Ad spend | Share of spend | Purchases | ROAS | Cost per purchase |
|---|---|---|---|---|---|
| Prospecting (cold audiences) | ₹1,95,222 | 80.8% | 347 | 1.89x | ₹563 |
| Retargeting (warm audiences) | ₹29,780 | 12.3% | 55 | 1.97x | ₹541 |
| Advantage+ shopping | ₹10,049 | 4.2% | 18 | 1.90x | ₹558 |
| Lookalike audiences | ₹6,637 | 2.7% | 12 | 1.84x | ₹553 |
Creatives
Creative mix month 13
New ads per month
| Creative type | Tier | Ad spend | Purchases | ROAS | Cost per purchase |
|---|---|---|---|---|---|
| Static image | Moderate | ₹56,096 | 121 | 2.29x | ₹464 |
| UGC / creator video | Moderate | ₹12,995 | 27 | 2.19x | ₹481 |
| Catalogue (dynamic product ads) | Moderate | ₹23,589 | 45 | 2.05x | ₹524 |
| Video | Moderate | ₹1,32,763 | 214 | 1.71x | ₹620 |
| Carousel | Watchlist | ₹16,245 | 25 | 1.65x | ₹650 |
How we run it
How we run it, why, and how it works
Research & offer Month 1
What we do
We start with competition, which the brand in this scenario named first, before anything else on this smaller store. We set basket-size offers that reward a second and third item in the cart. We fix the store before scaling: trust pointers, reviews, a clear return window, an about page and a prepaid incentive. We build the account in layers so each can be read on its own: testing, scaling, new-buyer prospecting and cart retargeting.
Why
In this case study, a smaller beauty and skincare brand grows monthly revenue in 13 months, from ₹2L to ₹10L–₹1Cr (27.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 competition. Higher order value lowers the share of each order that goes to ads. Conversion rate caps what any ad budget can return.
How it works
The tiers follow real order values, not round numbers. The fix list goes to the brand's team in the opening weeks, ahead of any budget step. Retargeting sits next to prospecting and never replaces it.
Measurement & reviews Month 1 to 13
What we do
We log store orders every day beside what the ad platform claims. We write month-by-month revenue numbers with the brand's team that climb from ₹2L to ₹10L–₹1Cr, 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 beauty and skincare stores of that size hold. The ad platform's own count runs high, so the store's count is the one that moves budget. A shortfall is caught in the month it happens, not at the end.
How it works
Every budget call starts from the store's orders. Written monthly numbers make each scaling decision explicit. A month whose return slips past that point keeps its budget instead.
Creative testing Month 1
What we do
We test with video, static image and carousel first, rising to a few dozen new ads a month by the final month, keeping carousel on a short leash because its return trails the account. The learning month runs at a low daily budget and moves up only when orders come through. We lead with video that carries trust: creators, customer feedback and founder-led pieces. We commission ads in batches, and read each batch for a set window before ordering the next.
Why
Early spend buys learning, not scale. Video built on trust was the format that held return in most measured accounts. Buying more before a batch is read means paying for guesses.
How it works
The low budget stays until orders confirm the buyer. Low-quality UGC is pulled and founder-led video takes its place. Losing batches stop; winning ads take their budget. More spend buys more new ads, led by video ahead of static image.
Scaling Month 2 to 10
What we do
Through Month 2 to Month 10, we push toward ₹10L–₹1Cr: the budget climbs in steps while return holds, and Instagram Reels carries the most spend and Instagram Feed the next. As spend rises, we mix new creatives in with the proven ones before the old ones tire. We raise budget only while return on spend holds, and cut it when return drops. We recover abandoned checkouts with WhatsApp messages as traffic grows.
Why
Across Month 2 to Month 10, the budget climbs in steps, while return on spend holds. Budget is part-stepped in several of these months, taking only what return will carry. Return holds through these months because each budget step stops where return starts to slip. More spend means the same people see an ad more often, and click-through fades.
How it works
Proven ads stay while new ones are added. Each month's budget is set by the return the last one earned. WhatsApp recovery runs alongside paid retargeting, not instead of it. Most of the final month's spend sits on Instagram Reels, then Instagram Feed. Most spend reaches people who have not bought yet; past visitors return more per rupee.
Steady state Month 11 to 13
What we do
From Month 11, we hold the gains and push toward ₹10L–₹1Cr only as far as return allows. We refresh tired ads by mixing old and new creatives, and keep a creative bank. We use WhatsApp for abandoned checkouts and for past buyers' next order.
Why
From Month 11 growth slows while revenue is still under ₹10L–₹1Cr. Spend holds roughly steady from here. In one account we measured, click-through fell before revenue did; refresh is how that is avoided. WhatsApp is cheaper than paid retargeting for buyers who already reached checkout.
How it works
New creatives mix with proven ones rather than replacing them all at once. WhatsApp runs alongside paid retargeting, not instead of it.
Milestones
Milestones by month
- Month 1
First, the set-up: the first ads run on a small daily budget while tracking is checked against store orders. The cart-value tiers are live. The account runs in layers: testing, scaling and retargeting.
- Revenue ₹2L
- ROAS 1.88x
- Ad spend ₹1.1L
- Month 2
Scaling begins: tired ads are refreshed from the creative bank. Return holds as the budget holds.
- Revenue ₹2.2L
- ROAS 1.90x
- Ad spend ₹1.1L
- Month 3
The creative batch is read and the winners keep the budget.
- Revenue ₹2.4L
- ROAS 2.06x
- Ad spend ₹1.2L
- Month 4
A fresh round of creator and customer-feedback video goes live. Return dips as the budget steps up.
- Revenue ₹2.7L
- ROAS 1.93x
- Ad spend ₹1.4L
- Month 5
The budget decision is taken on the return the last step earned.
- Revenue ₹3.7L
- ROAS 1.90x
- Ad spend ₹1.9L
- Month 6
Repeat-order messages go to past buyers. The step is sized by what return can bear: return holds as the budget steps up.
- Revenue ₹4.4L
- ROAS 1.93x
- Ad spend ₹2.3L
- Month 7
Abandoned checkouts get WhatsApp follow-ups. The step is sized by what return can bear: return holds as the budget holds.
- Revenue ₹4.5L
- ROAS 1.99x
- Ad spend ₹2.3L
- Month 8
Fresh ads are mixed in beside the proven set.
- Revenue ₹4.6L
- ROAS 1.95x
- Ad spend ₹2.3L
- Month 9
Ads with falling click-through are swapped from the bank.
- Revenue ₹4.6L
- ROAS 1.92x
- Ad spend ₹2.4L
- Month 10
A new batch goes live after the last one is read.
- Revenue ₹4.5L
- ROAS 1.88x
- Ad spend ₹2.4L
- Month 11
Steady phase begins: creative refresh and repeat orders take on more of the work. Because a larger budget does not earn its keep at this return, return holds as the budget holds.
- Revenue ₹4.6L
- ROAS 1.94x
- Ad spend ₹2.4L
- Month 12
A fresh round of creator and customer-feedback video goes live. The step is sized by what return can bear: return holds as the budget holds.
- Revenue ₹4.5L
- ROAS 1.89x
- Ad spend ₹2.4L
- Month 13
Each budget move is read against the return it bought. The step is sized by what return can bear: return holds as the budget holds. ₹10L–₹1Cr is not reached in the time, because budget stops rising where return starts to slip. Cost per purchase ends close to the learning phase.
- Revenue ₹4.6L
- ROAS 1.90x
- Ad spend ₹2.4L
Learnings
Learnings from brands we measured
Tested WhatsApp messages to abandoned checkouts and new arrivals to lift a 12–13% repeat rate
Paused South India during Shravan and ran new creatives to the North
Relaunch on a clean setup when negative comments start hurting delivery.
Services: Performance marketing Ads video creation Beauty & skincare marketing guide Book a call
More Beauty & skincare 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.
