Beauty & skincare case study: plan for ₹10L+ to ₹23.4L monthly revenue in 3 months
01 · Plan
Month by month
Monthly plan
| Month | Phase | Planned ad spend | Projected revenue | Projected ROAS | Projected purchases | Projected cost per purchase |
|---|---|---|---|---|---|---|
| At enquiry, self-reported | – | – | ₹10L+ | – | – | – |
| Month 1 | Learning | ₹5,10,800 | ₹9,98,687 | 1.96x | 512 | ₹998 |
| Month 2 | Scaling | ₹7,71,609 | ₹15,28,206 | 1.98x | 806 | ₹957 |
| Month 3 | Scaling | ₹10,78,401 | ₹23,44,727 | 2.17x | 1,177 | ₹916 |
| Total | ₹23,60,810 | ₹48,71,620 | 2.06x | 2,495 | ₹946 |
02 · Funnel
Projected funnel, first view to purchase · month 3
- Impressions1,53,59,917
- Link clicks2,12,1151.38% of impressions
- Landing-page views1,29,64461.12% of link clicks0.844% of impressions
- Added to cart8,7316.73% of landing-page views0.057% of impressions
- Checkout started4,18747.96% of added to cart0.027% of impressions
- Purchases1,17728.11% of checkout started0.008% of impressions
0.008% of impressions became purchases
03 · Mix
Where the planned budget goes · month 3
| Segment | Planned ad spend | Share of spend | Projected purchases | Projected ROAS | Projected cost per purchase |
|---|---|---|---|---|---|
| ₹6,86,375 | 63.6% | 746 | 2.17x | ₹920 | |
| ₹3,63,908 | 33.7% | 400 | 2.19x | ₹910 | |
| Audience Network | ₹28,118 | 2.6% | 31 | 2.21x | ₹907 |
| Segment | Planned ad spend | Share of spend | Projected purchases | Projected ROAS | Projected cost per purchase |
|---|---|---|---|---|---|
| Instagram Reels | ₹3,11,354 | 28.9% | 339 | 2.17x | ₹918 |
| Instagram Feed | ₹2,56,803 | 23.8% | 287 | 2.22x | ₹895 |
| Facebook Feed | ₹1,81,841 | 16.9% | 194 | 2.13x | ₹937 |
| Facebook Reels | ₹1,49,887 | 13.9% | 170 | 2.26x | ₹882 |
| Instagram Stories | ₹1,18,218 | 11.0% | 120 | 2.02x | ₹985 |
| Audience Network | ₹28,118 | 2.6% | 31 | 2.21x | ₹907 |
| Facebook Stories | ₹18,607 | 1.7% | 21 | 2.21x | ₹886 |
| Facebook Video | ₹13,573 | 1.3% | 15 | 2.21x | ₹905 |
| Segment | Planned ad spend | Share of spend | Projected purchases | Projected ROAS | Projected cost per purchase |
|---|---|---|---|---|---|
| Prospecting (cold audiences) | ₹8,96,237 | 83.1% | 974 | 2.16x | ₹920 |
| Retargeting (warm audiences) | ₹1,24,717 | 11.6% | 141 | 2.25x | ₹885 |
| Advantage+ shopping | ₹33,411 | 3.1% | 37 | 2.17x | ₹903 |
| Lookalike audiences | ₹24,036 | 2.2% | 25 | 2.11x | ₹961 |
04 · Creatives
Planned creative mix · month 3
New ads per month
| Creative type | Tier | Planned ad spend | Projected purchases | Projected ROAS | Projected cost per purchase |
|---|---|---|---|---|---|
| Static image | Moderate | ₹2,42,149 | 317 | 2.61x | ₹764 |
| UGC / creator video | Moderate | ₹68,771 | 86 | 2.49x | ₹800 |
| Catalogue (dynamic product ads) | Moderate | ₹1,28,929 | 151 | 2.33x | ₹854 |
| Video | Watchlist | ₹5,76,968 | 565 | 1.95x | ₹1,021 |
| Carousel | Watchlist | ₹61,584 | 58 | 1.88x | ₹1,062 |
05 · How we'd help
How we'd help, why, and how it works
Research & offer · Month 1
What we'd do
Aim the first month at scaling ad spend, the problem named at booking, on a mid-sized base. Build the account in layers so each can be read on its own: testing, scaling, new-buyer prospecting and cart retargeting. Use cart-value tiers so larger baskets earn a better offer.
Why
The enquiry came from a mid-sized beauty and skincare brand that wants to grow monthly revenue in 3 months, from ₹10L+ to ₹25L (2.5x). That is faster than nine in ten of our measured accounts grew over the same time, so the plan below is modelled on what that fastest tenth reached and shows where it lands against the target. At booking, the brand named scaling ad spend as its main problem. Layers keep each budget line readable, so a weak campaign cannot hide inside a strong one. Each extra item in a basket is revenue the ad has already paid for.
How it works
Warm layers run beside prospecting, not instead of it. The tiers follow real order values, not round numbers.
Measurement & targets · Month 1 to 3
What we'd do
Keep a shared daily sheet with the ad platform's revenue next to real store orders. Match the return the brand reports to what the store actually took in, before touching budget. Agree a written target for every month on the way from ₹10L+ to ₹25L, and start each review with the month-to-date figure against it.
Why
At the return on ad spend it reported, extra budget would cost more than it brings, so return has to climb first. Platform attribution over-counts, so budget decisions sit on the store-side number. A missed month shows up early instead of at the end of the plan.
How it works
Every budget call starts from the store's orders. The store-side return becomes the number every review uses. The target for the month is on the page at every review.
Creative testing · Month 1
What we'd do
Test with video, static image and catalogue ads first, rising to several dozen new ads a month by the final month, with carousel watched closely since it returns less than the rest. Run every lead product in a campaign of its own, read every week. The learning month runs with a deliberately small daily budget until orders prove the buyer. Work in creative batches with a fixed read window each.
Why
Products that do not sell show up inside a week, not after a month of shared budget. The first rupees are for finding the buyer, not for volume. The read window keeps creative spending tied to evidence.
How it works
A product that does not sell is paused inside the week. Only confirmed orders at the low budget unlock the next step. Only ads that convert inside the window keep running. New ads rise with the budget, most of them video, then static image.
Scaling · Month 2 to 3
What we'd do
Through Month 2 to Month 3, push as far toward ₹25L as return allows: the budget climbs in steps while return rises, and Instagram Reels carries the most spend and Instagram Feed the next. Run cost caps, bid caps, CBO and ABO as parallel versions before budget steps up. Tie every budget increase to return: step up while it holds, step back when it drops.
Why
In Month 2 to Month 3 the modelled budget climbs in steps, while return on spend rises. Return rises through these months as it climbs from where the account started toward what measured stores of its size hold. Parallel controls reveal which setup keeps cost per purchase down as spend grows.
How it works
The version that keeps cost per purchase lowest stays. There is no fixed ramp; each month's budget follows the return of the last. Instagram Reels carries the largest share of spend in the final month, with Instagram Feed next. Most spend reaches people who have not bought yet; past visitors return more per rupee.
06 · Milestones
Projected 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 daily sheet now matches platform revenue to store orders. The cart-value tiers are live.
- Projected revenue ₹10L
- Projected ROAS 1.96x
- Planned ad spend ₹5.1L
- Month 2
Scaling starts: products that do not sell are paused and budget moves to the winners. Return holds as the budget steps up sharply.
- Projected revenue ₹15.3L
- Projected ROAS 1.98x
- Planned ad spend ₹7.7L
- Month 3
This batch's read is done: winners stay, the rest are cut. Return rises as the budget steps up. Revenue is now past halfway from ₹10L+ to ₹25L. The plan finishes short of ₹25L: the plan follows what the fastest tenth of our measured accounts reached. Cost per purchase ends close to the learning phase.
- Projected revenue ₹23.4L
- Projected ROAS 2.17x
- Planned ad spend ₹10.8L
07 · Learnings
Learnings from brands we measured
Expect Instagram Reels to carry the largest share of spend in measured accounts across all industries.
Tracked store revenue and cost per order daily, beside Meta's own number
Test catalogue ads state-wise and city-wise, with 1% lookalikes and festive retargeting.
Services behind this plan: Performance marketing · Ads video creation · Book a call
More Beauty & skincare case studies
Ready to grow with one team?
Book a call. If we can help you hit your goals, we will tell you how; if we cannot, we will tell you that too.
