A preschool was spending lakhs on ads and getting hundreds of leads that went nowhere. I replaced the agency and spent 7 months figuring out why.
Kai Early Years is a Montessori and IB-accredited preschool in Whitefield, Bangalore. Until August 2025, an external agency ran the digital marketing. I joined the team in June, sat in on calls, learned the brand. But the campaigns were theirs.
Lots of volume. Almost no quality. In July, 130 leads came from families who lived too far away to ever enrol. By August, the warm ratio had dropped to 2.1%. Out of every 100 leads the school paid for, 2 were worth picking up the phone. The forms had no friction, Advantage+ was overriding location targeting, and nobody tracked what happened after a form was submitted.
I took over in September 2025. Meta Ads, social media across four platforms, SEO, the website, blog content, analytics. All one person, no agency, no handoff. I also ended up launching Google Ads from scratch and later coded a custom admissions system.
The first thing I changed was how we defined success. Instead of counting form submissions, I tracked what happened next. Did the parent pick up the phone? Were they actually interested? Did they live close enough? Was the child the right age?
My first full month: 231 leads. 10 warm. 101 completely invalid. 59 never picked up the phone. A 4.3% warm ratio. Most of the budget was generating noise.
Seven months of pulling on threads. Every answer led to a new question.
I replaced the frictionless forms with conditional questions that filtered out irrelevant leads before they could submit. Targeted families in higher income brackets to match Kai's positioning as a premium school.
NCF/Invalid: 101 (Sep) → 1 (Oct). The forms were now doing what the admissions team used to do by hand.With the junk leads gone, the distance problem became visible. Meta's audience expansion had been pushing ads to families 30km away. I disabled it and reduced targeting to 5-10km around Whitefield. Swapped the generic preschool creatives for value-based, information-heavy static posts.
Distance rejects: 34 (Oct) → 25. Static posts outperformed carousels and reels consistently.With targeting tighter, I wanted to know which method worked better. I ran an A/B test: radius-based versus pincode-based. Pincode delivered closer leads but fewer of them, at higher cost. I split the forms too: hard-filter for radius ads, appointment-scheduling for pincode ads.
Distance rejects fell to 5. Warm ratio climbed to 12%.Volume dropped to 92 leads. CPL rose to ₹817. The quality-volume trade-off was real.Knowing the targeting was solid, the creative became the variable. A PTP (Parent-Toddler Programme) reel campaign generated 112 leads at ₹436 CPL, the best single campaign to date. I also found and stripped out duplicate GTM codes that had been inflating website analytics since the agency era. First time we had data we could actually trust.
Warm leads doubled: 11 (Dec) → 26. Warm ratio hit 15.3%. Website visits jumped 73%.Riding the January high, I ran 6-7 creatives at once, thinking more options would help Meta optimize faster. It didn't. It fragmented the learning phase and blew through ₹2.07 lakhs on a ₹1.5 lakh budget. I also launched Google Ads for the first time. Zero leads.
Budget overrun. ₹948 CPL. Google Ads: ₹13,700 spent, 0 conversions.Cut to 3 creatives per campaign. Added manual age entry to forms. Instagram hit +18% growth, 44% engagement rate.Every lesson from the previous months came together. Switching from interest-based to broad targeting on Meta actually reduced costs — the algorithm did better with fewer constraints and fewer creatives. I segmented Google Ads into four ad groups: competitor keywords, high-intent Whitefield, Bangalore awareness, and daycare/Montessori. The competitor keywords crushed everything else.
Google: 75 leads at ₹398 CPL. "Not Interested" halved: 18% → 11%. Distance rejects: 4. Warm ratio: 22.2%.Warm lead ratio, month by month. June 2025 to March 2026.
Not all traffic is the same. Organic visitors spent 70 seconds on the site. Meta paid traffic averaged 8 seconds. This data pushed me toward organic discovery and away from sending Meta awareness traffic to the admissions form.
Some of these cost real money to learn.
Running 6-7 creatives seemed like the right move. More options for the algorithm, right? Instead, it fragmented the learning phase and blew through ₹2.07 lakhs on a ₹1.5 lakh budget.
Lesson → Fewer creatives, better data. Cut to 3 per campaign after this.First month: ₹13,700 spent, zero conversions. Keywords were too broad, the landing page didn't convert, and traffic went to the website instead of an instant form.
Lesson → Segmented into 4 ad groups with competitor keywords. Next month: 75 leads at ₹398 CPL.A credit card issue in March caused 3 days of Meta downtime. Every campaign reset to the learning phase, and costs stayed inflated for the rest of the month.
Lesson → Always have a backup payment method. Operational hygiene is as important as strategy.Even in March, 47% of leads never responded to a call. Down from 55%, but still the largest category. I had planned an automated first-touch email that could have helped, but didn't execute it in time.
Lesson → Speed-to-contact and automated first-touch are the next problems to solve.July 2025 (the agency's peak month) vs. March 2026 (7 months in).
I'm looking for performance marketing roles where I can bring this kind of work. If you've read this far, we should probably talk.