Case Study
The Pixel Was Firing. It Was Just Firing Wrong.
What fixing a broken Lead/Contact setup for a study-abroad consultancy taught me about conversion signal — and why the AI leverage was in the plumbing, not the copy.
- Role
- Marketing Consultant (external, ongoing)
- Period
- March 2026 – ongoing
- Market
- India — UG and PG study-abroad aspirants
Jump to:The Short AnswerThe SituationWhat Was Actually BrokenThe RebuildWhy It WorkedWhere the AI Leverage WasWhat We Don't Know YetHow to Apply ThisEvidence & Limits
The short answer
The campaigns weren't underperforming because of targeting or creative. They were underperforming because the platform didn't know what a conversion was.
Some form submissions on the old pages fired as Lead, others as Contact — and the campaigns were optimising toward the Lead goal. So Meta was being asked to find more people like the ones who converted, while being shown an arbitrary subset of who actually had.
We rebuilt the funnel around a clean event layer: three distraction-free landing pages, deliberate Lead and Contact events through GTM, an auto-redirect to WhatsApp on submit, and every lead written to a central Google Sheet by an n8n webhook with email notifications to the ops, sales, support and marketing teams. The client reports cost per lead falling from roughly ₹600 to around ₹250 — about a 60% reduction. Separately, the lead database shows daily lead volume rising roughly 45% between April and July on flat spend.
Some form submissions on the old pages fired as Lead, others as Contact — and the campaigns were optimising toward the Lead goal. So Meta was being asked to find more people like the ones who converted, while being shown an arbitrary subset of who actually had.
We rebuilt the funnel around a clean event layer: three distraction-free landing pages, deliberate Lead and Contact events through GTM, an auto-redirect to WhatsApp on submit, and every lead written to a central Google Sheet by an n8n webhook with email notifications to the ops, sales, support and marketing teams. The client reports cost per lead falling from roughly ₹600 to around ₹250 — about a 60% reduction. Separately, the lead database shows daily lead volume rising roughly 45% between April and July on flat spend.
The transferable principle
An ad platform doesn't just report your conversions — it optimises against them. Feed it a broken signal and it isn't underperforming, it's guessing.
The situation
ISMS Global Education is the study-abroad arm of ISMS Pune, placing undergraduate and postgraduate aspirants at overseas universities. They came to me in March 2026 — not to run campaigns, but to work out why the funnel as a whole was leaking.
The problems they described were all real: a landing page that looked poor and converted worse, no dedicated pages for the two quite different audiences, nowhere central that leads collected, no clear response to a user after they submitted a form, and Meta and Google tracking that nobody trusted.
I came in as a marketing consultant. Campaigns went live in April 2026 once the tracking was rebuilt, and the results below cover roughly May to July 2026. The engagement is ongoing rather than closed.
The problems they described were all real: a landing page that looked poor and converted worse, no dedicated pages for the two quite different audiences, nowhere central that leads collected, no clear response to a user after they submitted a form, and Meta and Google tracking that nobody trusted.
I came in as a marketing consultant. Campaigns went live in April 2026 once the tracking was rebuilt, and the results below cover roughly May to July 2026. The engagement is ongoing rather than closed.
What was actually broken
The diagnosis that mattered wasn't the landing page. It was the event layer.
Form submissions were firing inconsistently — some registering as Lead, some as Contact — while the campaigns optimised on the Lead goal. The algorithm was being trained on a partial, essentially arbitrary sample of the people who had actually converted.
That is worse than having no tracking at all. With no signal you would optimise toward clicks or traffic and at least know you were flying blind. With a corrupted signal you get a number that looks like a CPL, a campaign that looks like it is optimising, and a system quietly learning from the wrong examples — while everyone debates creative and audiences.
Everything else on their list was genuine, but downstream. Fixing the page, the repository and the post-submission silence without fixing the event layer would have produced a better-looking funnel that still couldn't teach the platform anything.
Form submissions were firing inconsistently — some registering as Lead, some as Contact — while the campaigns optimised on the Lead goal. The algorithm was being trained on a partial, essentially arbitrary sample of the people who had actually converted.
That is worse than having no tracking at all. With no signal you would optimise toward clicks or traffic and at least know you were flying blind. With a corrupted signal you get a number that looks like a CPL, a campaign that looks like it is optimising, and a system quietly learning from the wrong examples — while everyone debates creative and audiences.
Everything else on their list was genuine, but downstream. Fixing the page, the repository and the post-submission silence without fixing the event layer would have produced a better-looking funnel that still couldn't teach the platform anything.
The rebuild
We started with one distraction-free landing page, then split the two audiences that had been sharing it — postgraduate and undergraduate aspirants want materially different things and had been reading the same copy.
On top of that sat the part that actually mattered: a deliberate event structure. A WhatsApp button click registers as Contact. A completed lead form registers as Lead. Those are different intents and the platform should be told so. On submission the user is redirected straight to WhatsApp, so a form fill turns into a live conversation instead of silence, and an n8n webhook writes the lead to a central Google Sheet while formsubmit.co notifies the ops, sales, support and marketing teams by email.
On top of that sat the part that actually mattered: a deliberate event structure. A WhatsApp button click registers as Contact. A completed lead form registers as Lead. Those are different intents and the platform should be told so. On submission the user is redirected straight to WhatsApp, so a form fill turns into a live conversation instead of silence, and an n8n webhook writes the lead to a central Google Sheet while formsubmit.co notifies the ops, sales, support and marketing teams by email.
Entry
HomeDistraction-free rebuildClaude Code
PG coursesPostgraduate aspirantsClaude Code
UG coursesUndergraduate aspirantsClaude Code
Capture — intent split deliberately
WhatsApp buttonFires ContactGTM via Claude
Lead formFires LeadGTM via Claude
Routing
Auto-redirect to WhatsAppForm fill becomes a live conversation
Webhook → Google SheetCentral lead repositoryn8n MCP + Claude
Email notificationOps, sales, support, marketingformsubmit.co
Signal back to the platforms
Meta AdsClean Lead conversion
Google AdsClean Lead conversion
Why it worked
Marketers tend to file tracking under reporting — the thing you check after the fact to see how you did. That framing is why broken tracking survives for months in accounts that are otherwise well run.
Conversion tracking is an input, not an output. Meta and Google build an internal model of who converts and then go buy more impressions in front of people who resemble them. That model is only as good as the examples you feed it. Show it half your conversions, chosen essentially at random by which event happened to fire, and it builds a confident model of the wrong audience — then spends your budget executing it.
So fixing the events didn't just make the dashboard accurate. It changed what the platform went out and bought. That is the mechanism behind the cost per lead moving, and it is why this kind of fix tends to produce a step change rather than the incremental gains you get from creative and audience iteration.
The rest of the rebuild compounds it. A distraction-free page raises the conversion rate on the traffic you already paid for. Splitting UG and PG stops two audiences reading copy written for the other. The WhatsApp redirect catches intent at its peak instead of leaving someone waiting for a callback. None of those are clever, and together they matter — but they only compound once the platform can see which of them worked.
Conversion tracking is an input, not an output. Meta and Google build an internal model of who converts and then go buy more impressions in front of people who resemble them. That model is only as good as the examples you feed it. Show it half your conversions, chosen essentially at random by which event happened to fire, and it builds a confident model of the wrong audience — then spends your budget executing it.
So fixing the events didn't just make the dashboard accurate. It changed what the platform went out and bought. That is the mechanism behind the cost per lead moving, and it is why this kind of fix tends to produce a step change rather than the incremental gains you get from creative and audience iteration.
The rest of the rebuild compounds it. A distraction-free page raises the conversion rate on the traffic you already paid for. Splitting UG and PG stops two audiences reading copy written for the other. The WhatsApp redirect catches intent at its peak instead of leaving someone waiting for a callback. None of those are clever, and together they matter — but they only compound once the platform can see which of them worked.
Where the AI leverage actually was
Every piece of this was built with AI. The landing pages were built with Claude Code. The n8n automation was built through Claude and the n8n MCP. The GTM configuration, the event wiring and the notification layer were all set up by Claude.
The part worth noticing is which of those was the real unlock.
Generating landing page copy and layout is what everyone points AI at, and it is genuinely useful — but it wasn't what was blocking this funnel. What was blocking it was the integration work: wiring events, standing up a webhook to a sheet, routing notifications to four teams, configuring a tag manager. That work normally needs a developer or a marketing ops specialist. It gets scheduled rather than done. It is where funnel fixes quietly go to die, because it is nobody's favourite afternoon and it never looks like marketing.
That is the leverage: not writing the page faster, but building the plumbing at all — and doing it inside the same week you diagnosed the problem, rather than waiting for a sprint.
The part worth noticing is which of those was the real unlock.
Generating landing page copy and layout is what everyone points AI at, and it is genuinely useful — but it wasn't what was blocking this funnel. What was blocking it was the integration work: wiring events, standing up a webhook to a sheet, routing notifications to four teams, configuring a tag manager. That work normally needs a developer or a marketing ops specialist. It gets scheduled rather than done. It is where funnel fixes quietly go to die, because it is nobody's favourite afternoon and it never looks like marketing.
That is the leverage: not writing the page faster, but building the plumbing at all — and doing it inside the same week you diagnosed the problem, rather than waiting for a sprint.
The second principle
AI's biggest marketing leverage isn't the creative layer everyone points it at — it's the integration layer nobody wants to build.
What we don't know yet
This is a young engagement and I'd rather mark the edges than imply more than it shows.
It is roughly three months of post-fix data. Campaigns went live in April 2026; the results cover about May to July. That is enough to see a step change and not enough to call it durable.
It hasn't been tested at higher spend. Nothing has broken, but nothing has been stressed either. Based on the Entri account I'd expect a direct-response funnel like this to hit its own ceiling eventually, and I don't yet know where this one is.
Part of the cost-per-lead improvement is measurement correction, not efficiency gain. This one matters and is easy to overclaim. Because some submissions were previously firing as Contact rather than Lead, the old system was undercounting leads — which inflated the reported cost per lead before we touched anything. So the delta contains two different things: leads that were always happening and are now counted properly, and genuine improvement from the platform optimising against a clean signal. Both are real. I can't currently split them, and I'm not going to pretend the whole move was performance.
It is roughly three months of post-fix data. Campaigns went live in April 2026; the results cover about May to July. That is enough to see a step change and not enough to call it durable.
It hasn't been tested at higher spend. Nothing has broken, but nothing has been stressed either. Based on the Entri account I'd expect a direct-response funnel like this to hit its own ceiling eventually, and I don't yet know where this one is.
Part of the cost-per-lead improvement is measurement correction, not efficiency gain. This one matters and is easy to overclaim. Because some submissions were previously firing as Contact rather than Lead, the old system was undercounting leads — which inflated the reported cost per lead before we touched anything. So the delta contains two different things: leads that were always happening and are now counted properly, and genuine improvement from the platform optimising against a clean signal. Both are real. I can't currently split them, and I'm not going to pretend the whole move was performance.
How to apply this
What transfers out of this account into any similar one:
- Before touching targeting or creative on an underperforming campaign, verify what the platform is actually receiving. Not whether a pixel exists — what events fire, on which actions, and whether the optimisation goal matches them.
- Check event consistency, not just event presence. A pixel that fires is not a pixel that fires correctly. Inconsistent events are harder to spot than missing ones and do more damage.
- Separate Contact from Lead deliberately. A WhatsApp tap and a completed form are different intents. Collapsing them, or letting them collapse by accident, corrupts the model the platform builds.
- Give the lead somewhere to land. A central repository and an immediate response are not CRM luxuries — a lead that sits unattended is indistinguishable from a lead you never got.
- Point AI at the integration layer, not just the creative one. The copy was never the bottleneck. The plumbing was, and that is now the cheapest part of the build.
- Separate measurement correction from real gain. When you fix broken tracking, part of any improvement is simply counting things you were already getting. Say which part is which, or someone else will.
Evidence and limits
I worked on this as an external marketing consultant from March 2026, and the engagement is ongoing rather than finished. The two figures here come from different sources and cover different periods, so they are worth separating.
The cost per lead figures are client-reported. Roughly ₹600 before and around ₹250 after come from the client's own reporting — shared in weekly calls along with their ads dashboards — comparing the campaigns that ran before this engagement against the ones that followed. I did not hold access to the ad accounts on this engagement, so these are the client's numbers rather than my measurement, and I'd rather label them that way. As noted above, part of that improvement is correcting an undercount rather than pure efficiency gain.
The lead growth figure is measured, not reported. It comes from the lead repository we built — the Google Sheet and database the n8n webhook writes to. Between April and July 2026 the daily lead rate rose from about 7.9 to about 11.5, roughly 45%, with spend broadly flat across that window. That is a different comparison from the CPL figure: it sits entirely inside the post-fix period and measures what happened after the rebuild rather than because of it. The dedicated PG and UG pages show up in that data exactly when they were built, contributing almost nothing in May and around 65 leads a month by June.
Campaign spend isn't published. What is directly checkable is the build itself — the pages, the event structure and the redirect behaviour are live and can be inspected by anyone.
The cost per lead figures are client-reported. Roughly ₹600 before and around ₹250 after come from the client's own reporting — shared in weekly calls along with their ads dashboards — comparing the campaigns that ran before this engagement against the ones that followed. I did not hold access to the ad accounts on this engagement, so these are the client's numbers rather than my measurement, and I'd rather label them that way. As noted above, part of that improvement is correcting an undercount rather than pure efficiency gain.
The lead growth figure is measured, not reported. It comes from the lead repository we built — the Google Sheet and database the n8n webhook writes to. Between April and July 2026 the daily lead rate rose from about 7.9 to about 11.5, roughly 45%, with spend broadly flat across that window. That is a different comparison from the CPL figure: it sits entirely inside the post-fix period and measures what happened after the rebuild rather than because of it. The dedicated PG and UG pages show up in that data exactly when they were built, contributing almost nothing in May and around 65 leads a month by June.
Campaign spend isn't published. What is directly checkable is the build itself — the pages, the event structure and the redirect behaviour are live and can be inspected by anyone.
What can be independently checked:
