Fashion & apparel case study: ₹20L to ₹74.2L monthly revenue in 24 months
Case study
Month by month
Revenue by month
| Month | Phase | Ad spend | Revenue | ROAS | Purchases | Cost per purchase |
|---|---|---|---|---|---|---|
| Start | – | – | ₹20L | – | – | – |
| Month 1 | Learning | ₹4,08,685 | ₹19,58,606 | 4.79x | 842 | ₹485 |
| Month 2 | Scaling | ₹4,90,134 | ₹21,17,643 | 4.32x | 909 | ₹539 |
| Month 3 | Scaling | ₹6,13,256 | ₹25,04,927 | 4.08x | 1,078 | ₹569 |
| Month 4 | Scaling | ₹6,81,469 | ₹28,02,076 | 4.11x | 1,216 | ₹560 |
| Month 5 | Scaling | ₹8,16,597 | ₹32,27,530 | 3.95x | 1,401 | ₹583 |
| Month 6 | Scaling | ₹10,07,058 | ₹38,68,376 | 3.84x | 1,728 | ₹583 |
| Month 7 | Scaling | ₹13,71,801 | ₹50,19,107 | 3.66x | 2,137 | ₹642 |
| Month 8 | Scaling | ₹19,59,589 | ₹61,99,435 | 3.16x | 2,667 | ₹735 |
| Month 9 | Scaling | ₹21,01,060 | ₹68,60,220 | 3.27x | 2,995 | ₹702 |
| Month 10 | Scaling | ₹21,13,366 | ₹70,21,009 | 3.32x | 3,106 | ₹680 |
| Month 11 | Scaling | ₹22,94,055 | ₹69,71,884 | 3.04x | 3,019 | ₹760 |
| Month 12 | Scaling | ₹22,51,636 | ₹69,79,279 | 3.10x | 3,007 | ₹749 |
| Month 13 | Scaling | ₹22,51,636 | ₹73,02,612 | 3.24x | 3,245 | ₹694 |
| Month 14 | Scaling | ₹22,42,133 | ₹74,85,735 | 3.34x | 3,342 | ₹671 |
| Month 15 | Scaling | ₹22,31,075 | ₹72,63,331 | 3.26x | 3,175 | ₹703 |
| Month 16 | Scaling | ₹22,45,445 | ₹70,35,899 | 3.13x | 3,031 | ₹741 |
| Month 17 | Scaling | ₹22,71,455 | ₹69,82,989 | 3.07x | 3,002 | ₹757 |
| Month 18 | Scaling | ₹22,43,725 | ₹73,83,897 | 3.29x | 3,200 | ₹701 |
| Month 19 | Steady | ₹22,43,725 | ₹72,77,930 | 3.24x | 3,209 | ₹699 |
| Month 20 | Steady | ₹22,08,950 | ₹70,74,552 | 3.20x | 3,075 | ₹718 |
| Month 21 | Steady | ₹22,08,950 | ₹71,31,677 | 3.23x | 3,061 | ₹722 |
| Month 22 | Steady | ₹22,08,950 | ₹71,62,756 | 3.24x | 3,060 | ₹722 |
| Month 23 | Steady | ₹22,44,810 | ₹70,05,615 | 3.12x | 2,942 | ₹763 |
| Month 24 | Steady | ₹22,15,792 | ₹74,15,518 | 3.35x | 3,207 | ₹691 |
| Total | ₹4,29,25,352 | ₹14,20,52,603 | 3.31x | 61,654 | ₹696 |
Funnel
Funnel, first view to purchase month 24
- Impressions1,87,37,507
- Link clicks3,59,8111.92% of impressions
- Landing-page views2,68,38674.59% of link clicks1.432% of impressions
- Added to cart27,13810.11% of landing-page views0.145% of impressions
- Checkout started12,18144.89% of added to cart0.065% of impressions
- Purchases3,20726.33% of checkout started0.017% of impressions
0.017% of impressions became purchases
Mix
Where the budget goes month 24
| Segment | Ad spend | Share of spend | Purchases | ROAS | Cost per purchase |
|---|---|---|---|---|---|
| ₹14,14,970 | 63.9% | 2,097 | 3.43x | ₹675 | |
| ₹7,71,578 | 34.8% | 1,065 | 3.19x | ₹724 | |
| Audience Network | ₹29,244 | 1.3% | 45 | 3.56x | ₹650 |
| Segment | Ad spend | Share of spend | Purchases | ROAS | Cost per purchase |
|---|---|---|---|---|---|
| Instagram Reels | ₹6,44,150 | 29.1% | 958 | 3.44x | ₹672 |
| Instagram Feed | ₹4,82,413 | 21.8% | 758 | 3.63x | ₹636 |
| Facebook Feed | ₹4,46,892 | 20.2% | 612 | 3.17x | ₹730 |
| Instagram Stories | ₹2,88,407 | 13.0% | 381 | 3.05x | ₹757 |
| Facebook Reels | ₹2,61,927 | 11.8% | 356 | 3.15x | ₹736 |
| Facebook Stories | ₹31,843 | 1.4% | 49 | 3.56x | ₹650 |
| Facebook Video | ₹30,916 | 1.4% | 48 | 3.56x | ₹644 |
| Audience Network | ₹29,244 | 1.3% | 45 | 3.56x | ₹650 |
| Segment | Ad spend | Share of spend | Purchases | ROAS | Cost per purchase |
|---|---|---|---|---|---|
| Prospecting (cold audiences) | ₹18,37,244 | 82.9% | 2,617 | 3.29x | ₹702 |
| Retargeting (warm audiences) | ₹1,60,557 | 7.2% | 258 | 3.72x | ₹622 |
| Lookalike audiences | ₹1,18,716 | 5.4% | 178 | 3.48x | ₹667 |
| Advantage+ shopping | ₹99,275 | 4.5% | 154 | 3.58x | ₹645 |
Creatives
Creative mix month 24
New ads per month
| Creative type | Tier | Ad spend | Purchases | ROAS | Cost per purchase |
|---|---|---|---|---|---|
| Catalogue (dynamic product ads) | Moderate | ₹5,49,537 | 823 | 3.46x | ₹668 |
| Video | Moderate | ₹11,03,371 | 1,600 | 3.35x | ₹690 |
| Static image | Moderate | ₹3,70,447 | 535 | 3.34x | ₹692 |
| UGC / creator video | Moderate | ₹1,43,315 | 190 | 3.07x | ₹754 |
| Carousel | Watchlist | ₹49,122 | 59 | 2.80x | ₹833 |
How we run it
How we run it, why, and how it works
Research & offer Month 1
What we do
We start with reaching new buyers, which the brand in this scenario named first, before anything else on this established store. We run short, dated bundle sales with an awareness lead-in instead of permanent discounts. We map the festive and wedding calendar before spending, with seasonal collections ready in advance. Before budget rises, we close the gaps that stop a visitor buying: missing reviews, an unclear return window, no about page and no prepaid incentive.
Why
An established fashion brand grows monthly revenue in 2 years, from ₹20L to ₹24Cr (120x). 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 reaching new buyers. A dated offer concentrates demand without training buyers to wait for a sale. Buyers in this category shop around festivals and weddings.
How it works
Awareness ads run ahead of each short sale window. Seasonal campaigns are prepared ahead of each peak. The fix list goes to the brand's team in the opening weeks, ahead of any budget step.
Measurement & reviews Month 1 to 24
What we do
We track ad-platform revenue beside store revenue and net sales after returns, cancellations and tax. We agree a written number for every month on the way from ₹20L to ₹24Cr, and start each review with the month-to-date figure against it. We set a written rule: no budget step in a month where return falls too far to pay for it.
Why
It did not report a return on ad spend, so the case study starts from what measured fashion stores of that size hold. Returns, cancellations and tax cut logged revenue, so the numbers are set on net sales. A missed month shows up early instead of at the end of the case study.
How it works
Net sales, not platform revenue, decide each budget step. 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, catalogue ads and static image first, rising to several dozen new ads a month by the final month, with carousel watched closely since it returns less than the rest. We lead with video that carries trust: creators, customer feedback and founder-led pieces. We work in creative batches with a fixed read window each. We separate the lead products into their own campaigns and review each one weekly.
Why
In most accounts we measured, video that carried trust held its return. A fixed window stops spend chasing a creative before it has been read. Products that do not sell show up inside a week, not after a month of shared budget.
How it works
Low-quality UGC is pulled and founder-led video takes its place. Only ads that convert inside the window keep running. Budget follows the products that sell. More spend buys more new ads, led by video ahead of catalogue ads.
Scaling Month 2 to 18
What we do
We scale through Month 2 to Month 18 toward ₹24Cr as the budget climbs steeply and return falls, with Instagram Reels taking the largest share of spend and Instagram Feed the next. We put seasonal collection campaigns in front of each festive and wedding peak. We build lookalikes from past buyers once purchases are steady, beside broad prospecting. We run cost caps, bid caps, CBO and ABO as parallel versions before budget steps up.
Why
In Month 2 to Month 18 the budget climbs steeply, and return on spend falls as it does. In several of these months the step is trimmed to the size return can hold. Budget does not rise in several of these months: at that return, more spend does not pay. In measured accounts, scaling spend raised cost per order and lowered return on spend, so each step waits for return to hold. Demand is seasonal and regional, so spend moves with the calendar.
How it works
Spend shifts into each season and between regions with the calendar. Lookalikes are read against broad on the same creative. Controls run as parallel versions and the one that holds cost is kept. Most of the final month's spend sits on Instagram Reels, then Instagram Feed. Prospecting to new buyers takes the bulk of spend, while retargeting returns more for each rupee.
Steady state Month 19 to 24
What we do
From Month 19, we protect the revenue already built and move toward ₹24Cr where return permits. We ask for a seasonal landing page, new ad formats and delivery banners ahead of the festive peak. We hold the numbers on net sales as volume grows, since returns rise with it. We show new arrivals to past buyers first, and build lookalikes from the ones who came back.
Why
Growth slows from Month 19, still short of ₹24Cr. Spend holds roughly steady from here. Season-specific pages convert season traffic better than the default collection. Net sales ran below logged store revenue in our measured accounts.
How it works
The seasonal page is requested before the season, with the catalogue campaign. Each review opens with net sales against the month's number. New arrivals go to past buyers first, before broad prospecting.
Milestones
Milestones by month
- Month 1
The learning phase opens: a small daily budget carries the first ads, and store orders are matched to tracking. The next festive collection is briefed and ready. Reviews, trust pointers and the prepaid incentive are now on the store.
- Revenue ₹19.6L
- ROAS 4.79x
- Ad spend ₹4.1L
- Month 2
Scaling begins: lookalikes of past buyers are added beside broad prospecting. With budget steps up, return on spend dips.
- Revenue ₹21.2L
- ROAS 4.32x
- Ad spend ₹4.9L
- Month 3
New arrivals go to past buyers first.
- Revenue ₹25L
- ROAS 4.08x
- Ad spend ₹6.1L
- Month 4
The seasonal landing page is briefed ahead of the peak.
- Revenue ₹28L
- ROAS 4.11x
- Ad spend ₹6.8L
- Month 5
The weekly product read pauses the products that are not selling.
- Revenue ₹32.3L
- ROAS 3.95x
- Ad spend ₹8.2L
- Month 6
A seasonal collection campaign takes a larger share of budget.
- Revenue ₹38.7L
- ROAS 3.84x
- Ad spend ₹10.1L
- Month 7
Cost caps and bid caps are tested against open bidding.
- Revenue ₹50.2L
- ROAS 3.66x
- Ad spend ₹13.7L
- Month 8
This batch's read is done: winners stay, the rest are cut.
- Revenue ₹62L
- ROAS 3.16x
- Ad spend ₹19.6L
- Month 9
New creator and customer-feedback videos join the account. Budget is raised only as far as return allows: with budget holds, return on spend holds.
- Revenue ₹68.6L
- ROAS 3.27x
- Ad spend ₹21L
- Month 10
A past-buyer lookalike audience joins broad prospecting.
- Revenue ₹70.2L
- ROAS 3.32x
- Ad spend ₹21.1L
- Month 11
New arrivals go to past buyers first.
- Revenue ₹69.7L
- ROAS 3.04x
- Ad spend ₹22.9L
- Month 12
The seasonal landing page is briefed ahead of the peak. Because a larger budget does not earn its keep at this return, budget holds and return on spend holds.
- Revenue ₹69.8L
- ROAS 3.10x
- Ad spend ₹22.5L
- Month 13
Products that do not sell are paused and budget moves to the winners.
- Revenue ₹73L
- ROAS 3.24x
- Ad spend ₹22.5L
- Month 14
The seasonal collection campaign leads this period's spend mix.
- Revenue ₹74.9L
- ROAS 3.34x
- Ad spend ₹22.4L
- Month 15
Cost caps and bid caps are tested against open bidding.
- Revenue ₹72.6L
- ROAS 3.26x
- Ad spend ₹22.3L
- Month 16
The creative batch is read and the winners keep the budget. Budget is raised only as far as return allows: with budget holds, return on spend holds.
- Revenue ₹70.4L
- ROAS 3.13x
- Ad spend ₹22.5L
- Month 17
Customer-feedback and creator videos are refreshed.
- Revenue ₹69.8L
- ROAS 3.07x
- Ad spend ₹22.7L
- Month 18
A past-buyer lookalike audience joins broad prospecting. Because a larger budget does not earn its keep at this return, budget holds and return on spend rises.
- Revenue ₹73.8L
- ROAS 3.29x
- Ad spend ₹22.4L
- Month 19
Steady phase begins: creative refresh and repeat orders take on more of the work.
- Revenue ₹72.8L
- ROAS 3.24x
- Ad spend ₹22.4L
- Month 20
Past buyers get the new arrivals ahead of prospecting.
- Revenue ₹70.7L
- ROAS 3.20x
- Ad spend ₹22.1L
- Month 21
The seasonal landing page is briefed ahead of the peak.
- Revenue ₹71.3L
- ROAS 3.23x
- Ad spend ₹22.1L
- Month 22
Products that do not sell are paused and budget moves to the winners.
- Revenue ₹71.6L
- ROAS 3.24x
- Ad spend ₹22.1L
- Month 23
The seasonal collection campaign leads this period's spend mix. Budget is raised only as far as return allows: with budget holds, return on spend holds.
- Revenue ₹70.1L
- ROAS 3.12x
- Ad spend ₹22.4L
- Month 24
Bid-cap and cost-cap versions run beside open bidding. Because a larger budget does not earn its keep at this return, budget holds and return on spend rises. The case study finishes short of ₹24Cr: budget stops rising where return starts to slip. Cost per purchase ends higher than in the learning phase.
- Revenue ₹74.2L
- ROAS 3.35x
- Ad spend ₹22.2L
Learnings
Learnings from Fashion & apparel brands we measured
We ask for a seasonal landing page, new ad formats and delivery banners ahead of the festive peak.
Tracked net sales beside Shopify revenue and set the numbers on the lower figure
Run short bundle sales with an awareness lead-in rather than permanent discounts.
Services: Performance marketing Ads video creation Fashion & apparel marketing guide Book a call
More Fashion & apparel 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.
