Beauty & skincare case study: ₹2L to ₹2.7L monthly revenue in 3 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,11,823 | ₹2,07,927 | 1.86x | 203 | ₹551 |
| Month 2 | Scaling | ₹1,27,326 | ₹2,41,420 | 1.90x | 234 | ₹544 |
| Month 3 | Scaling | ₹1,40,432 | ₹2,70,013 | 1.92x | 255 | ₹551 |
| Total | ₹3,79,581 | ₹7,19,360 | 1.90x | 692 | ₹549 |
Funnel
Funnel, first view to purchase month 3
- Impressions12,67,028
- Link clicks23,4191.85% of impressions
- Landing-page views14,59962.34% of link clicks1.152% of impressions
- Added to cart1,73211.86% of landing-page views0.137% of impressions
- Checkout started92453.35% of added to cart0.073% of impressions
- Purchases25527.6% of checkout started0.02% of impressions
0.02% of impressions became purchases
Mix
Where the budget goes month 3
| Segment | Ad spend | Share of spend | Purchases | ROAS | Cost per purchase |
|---|---|---|---|---|---|
| ₹89,160 | 63.5% | 161 | 1.92x | ₹554 | |
| ₹47,765 | 34.0% | 87 | 1.93x | ₹549 | |
| Audience Network | ₹3,507 | 2.5% | 7 | 1.95x | ₹501 |
| Segment | Ad spend | Share of spend | Purchases | ROAS | Cost per purchase |
|---|---|---|---|---|---|
| Instagram Reels | ₹39,908 | 28.4% | 72 | 1.92x | ₹554 |
| Instagram Feed | ₹36,873 | 26.3% | 68 | 1.96x | ₹542 |
| Facebook Feed | ₹23,809 | 17.0% | 42 | 1.88x | ₹567 |
| Facebook Reels | ₹19,973 | 14.2% | 38 | 1.99x | ₹526 |
| Instagram Stories | ₹12,379 | 8.8% | 21 | 1.78x | ₹589 |
| Audience Network | ₹3,507 | 2.5% | 7 | 1.95x | ₹501 |
| Facebook Stories | ₹2,316 | 1.6% | 4 | 1.95x | ₹579 |
| Facebook Video | ₹1,667 | 1.2% | 3 | 1.95x | ₹556 |
| Segment | Ad spend | Share of spend | Purchases | ROAS | Cost per purchase |
|---|---|---|---|---|---|
| Prospecting (cold audiences) | ₹1,15,204 | 82.0% | 208 | 1.91x | ₹554 |
| Retargeting (warm audiences) | ₹16,717 | 11.9% | 32 | 1.99x | ₹522 |
| Advantage+ shopping | ₹4,866 | 3.5% | 9 | 1.92x | ₹541 |
| Lookalike audiences | ₹3,645 | 2.6% | 6 | 1.86x | ₹608 |
Creatives
Creative mix month 3
New ads per month
| Creative type | Tier | Ad spend | Purchases | ROAS | Cost per purchase |
|---|---|---|---|---|---|
| Static image | Moderate | ₹30,374 | 67 | 2.32x | ₹453 |
| UGC / creator video | Moderate | ₹8,283 | 17 | 2.22x | ₹487 |
| Catalogue (dynamic product ads) | Moderate | ₹14,073 | 28 | 2.08x | ₹503 |
| Video | Moderate | ₹78,278 | 128 | 1.74x | ₹612 |
| Carousel | Watchlist | ₹9,424 | 15 | 1.67x | ₹628 |
How we run it
How we run it, why, and how it works
Research & offer Month 1
What we do
We start with return on ad spend, which the brand in this scenario named first, before anything else on this smaller store. We use cart-value tiers so larger baskets earn a better offer. We fix the store before scaling: trust pointers, reviews, a clear return window, an about page and a prepaid incentive.
Why
In this case study, a smaller beauty and skincare brand grows monthly revenue in 3 months, from ₹2L to ₹25L (12.5x). Fewer than one in ten of our measured accounts grew that fast in the same time, so the case study follows the pace of that top tenth rather than forcing the number. The main problem in this scenario is return on ad spend, with marketing and social presence close behind. A larger basket spreads the cost of each order over more revenue. No budget returns more than the store converts.
How it works
Tier levels are set just above the basket sizes buyers already reach. The fix list goes to the brand's team in the opening weeks, ahead of any budget step.
Measurement & reviews Month 1 to 3
What we do
We keep a shared daily sheet with the ad platform's revenue next to real store orders. We agree a written number for every month on the way from ₹2L to ₹25L, and start each review with the month-to-date figure against it. We raise budget in a month only while return holds; where it slips too far, we hold it.
Why
The return on ad spend it reported is below the level where raising budget pays for a store of that size, so budget does not rise until return climbs. Platform attribution over-counts, so budget decisions sit on the store-side number. Written monthly numbers expose a slow month while there is still time to act.
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 lead the testing layer with video, static image and catalogue ads, building to a few dozen new ads a month by the final month, keeping carousel on a short leash because its return trails the account. We run every lead product in a campaign of its own, read every week. We run creator, customer-feedback and founder-led video. We buy creative in batches and give each batch a fixed read window before buying more.
Why
Shared campaigns hide weak products; separate ones expose them fast. Video built on trust was the format that held return in most measured accounts. The read window keeps creative spending tied to evidence.
How it works
Budget follows the products that sell. Weak UGC is swapped for founder-led video rather than scaled. Only ads that convert inside the window keep running. The number of new ads grows with spend; video makes up the largest part and static image the next.
Scaling Month 2 to 3
What we do
Through Month 2 to Month 3, we push toward ₹25L: the budget rises gently while return holds, and Instagram Reels carries the most spend and Instagram Feed the next. We tie every budget increase to return: we step up while it holds, and step back when it drops. We refresh tired ads by mixing old and new creatives as spend rises.
Why
Across Month 2 to Month 3, the budget rises gently, while return on spend holds. Two of these months stop their budget step where return slips too far. Each budget step here is sized so that return stays close to where it was. Frequency climbs with spend, and tired ads lose click-through first.
How it works
Budget follows return month to month instead of a fixed ramp. Proven ads stay while new ones are added. 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.
Milestones
Milestones by month
- Month 1
First, the set-up: a small daily budget carries the first ads, and store orders are matched to tracking. Store orders and platform revenue are reconciled in the shared sheet. Basket-size offers switch on at checkout.
- Revenue ₹2.1L
- ROAS 1.86x
- Ad spend ₹1.1L
- Month 2
Scaling begins: budget shifts to the products that sold this period. Budget goes up only as far as return can carry it: return holds as the budget holds.
- Revenue ₹2.4L
- ROAS 1.90x
- Ad spend ₹1.3L
- Month 3
Fresh ads are mixed in beside the proven set. Budget goes up only as far as return can carry it: return holds as the budget holds. ₹25L 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 ₹2.7L
- ROAS 1.92x
- Ad spend ₹1.4L
Learnings
Learnings from brands we measured
Instagram Reels carries the largest share of spend in this industry's measured accounts.
Video carries most creative spend in measured accounts across all industries.
15 UGC videos, including regional-language cuts for the two best-selling states
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.
