A fitness company ran ads for three months and almost no one booked a call. The page was never the problem - it was being shown to people who weren't looking for what it offered. The moment it started reaching people who were already searching for help, bookings jumped.
The real lesson: meet people where they already are - sometimes that means building awareness, sometimes it means being there the moment they go looking.
An online fitness company had built a clean, well-structured landing page in Framer. The offer was clear: book a call with a coach, get a structured fitness programme.
They ran Meta ads for three months - single-image creatives and short videos - with a ₹1,000/day budget. Traffic came in. Form fills didn't.
They came to us with a straightforward ask: fix the page.
The first hypothesis was the obvious one: if people are landing but not converting, something on the page is wrong.
Over the next few weeks, we worked through the usual suspects. Copy was tightened. Sections that seemed redundant were cut. The flow was simplified. Each change was reasonable on its own.
Form fills didn't move.
At this point, we stopped optimizing and started diagnosing.
If the same problem persists across multiple page changes, the page is probably not the problem.
We pulled the scroll depth report from GA4. It told a different story than we expected.

532 visitors. Only 25 reached 90% of the page.

366 visitors. 210 reached 90% of the page.
With Meta, 532 people landed - but only 71 scrolled past the first section. Only 25 made it to 90% of the page. That's 4.7% reaching the point where the offer is fully visible.
The drop-off wasn't gradual. It was immediate. People were arriving and leaving before the page had a chance to make its case.
That's not a page problem. When visitors leave before reading anything, the issue isn't what's written - it's that they arrived with no reason to read it.
We mapped the intent of the actual buyer.
The ICP for this service wasn't someone casually scrolling a feed who stumbles across a fitness ad. They were someone who already knew they had a problem, already knew coaching was the solution, and was actively looking for the right programme to commit to.
Built to create demand - put an offer in front of people who weren't looking for it.
Wins when the job is making people aware a problem or solution exists.
Built to capture demand - meet people who are already looking.
Wins when the buyer has decided and is searching for who to choose.
Neither is better. They do different jobs.
This isn't “Google beats Meta.” For a low-commitment, impulse offer, Meta's reach could win easily. But booking a call with a coach is a decision people make once they're already looking - and that demand wasn't living on a scroll feed.
Why switching channels doesn't fix what's actually broken→Sending a high-intent buyer through a demand-generation channel means they arrive on your page without the context, urgency, or intent that makes a landing page work.
The landing page was fine. It was being shown to the wrong people at the wrong moment.
Meta built awareness. Google captured the demand.
We made one change: the channel.
The landing page stayed exactly as it was. The offer didn't change. The budget was cut in half - from ₹1,000/day to ₹500/day.
Cutting the budget was deliberate, not a cost saving. Google's algorithm optimizes for whatever you set as the conversion action - here, a form fill. Starve it of budget and it can no longer afford loose, exploratory clicks; it has to spend strictly, chasing only the users most likely to convert. A smaller budget forced Google to hunt for intent, not volume.
The difference was also in how the campaign was structured. Tight exact-match keyword mapping only - no broad match, no Performance Max. Every keyword mapped directly to what a high-intent buyer types when they're ready to act.
We didn't spend less to save money. We spent less to force the algorithm to be selective.
The goal wasn't more traffic. It was the right traffic.
As the campaign ran, a second signal appeared: the cost-per-click started falling week over week.
A tightly structured exact-match campaign improves as Quality Score builds. Relevance is rewarded. The more the campaign proved it matched searcher intent, the cheaper each click became.

CPC fell from ₹43.87 to ₹23.95 - a 45% reduction across nine weeks.
The campaign was getting cheaper and more efficient simultaneously.
Google Ads conversion tracking was initially misconfigured - tracking button clicks rather than actual form submissions. This was identified and corrected early in the campaign. Conversion data referenced in this case study is drawn from Calendly form fill records.
Half the budget. The same page. ~15-20× more form fills per month.
Conversion rate optimisation assumes the page is the constraint. Sometimes it is.
But when visitors leave before reading anything - when deep engagement is under 5% - the constraint is upstream. It's who arrives on the page, and what they were doing the moment they decided to click.
A high-intent buyer arriving through search will read your page. They came looking for what you offer. They have context, urgency, and a reason to evaluate. Someone arriving mid-scroll, with no reason to evaluate yet, has none of those things.
The best landing page in the world cannot manufacture intent that wasn't there.
Before testing headlines, removing sections, or changing your CTA - check whether the people landing on your page were looking for what's on it.