HomeCase Studies › The JavaScript Error Nobody Noticed
Case #15 · Technical Health

The JavaScript Error Nobody Noticed

Lead generation had always been inconsistent. Six weeks of zero quote requests didn’t feel alarming enough to investigate. GA4 had been trying to tell them something for weeks.

The scenario

Pennant Studio is a small web and brand design studio — three people: Leo, who handles the creative direction and client relationships; a junior designer; and a project manager who keeps everything from becoming chaos. They do good work, their clients generally come back, and their main source of new business is a quote request form on the Pricing page. It's not glamorous lead generation, but it had always worked: six to ten form submissions a month, enough to keep the pipeline moving and allow Leo to pick projects he was actually interested in.

Lead volume had always been lumpy in the way small studio lead volume always is. A strong month might bring ten enquiries, a slow one might bring three. The rhythm was familiar enough that Leo had learned not to read too much into short stretches of quiet. When the form went quiet after a site update in early spring — a routine dependency upgrade the developer handled in an afternoon — he wasn't alarmed. He'd been heads-down on a large rebrand project. He figured the lull was coincidence. He'd check the pipeline properly once the rebrand wrapped.

The confident wrong conclusion

By week eight of silence, Leo had started to question things he'd previously taken for granted. Were the prices wrong? He'd raised rates modestly at the start of the year — maybe that was it. A competitor studio had relaunched with a slicker website and a more aggressive social presence; he'd noticed they were showing up in the same conversations he used to dominate. Maybe clients were going there instead. Or maybe the market had simply softened — he'd heard from a few contacts that discretionary creative spend was tightening across the board.

He drafted a post for LinkedIn: Pennant's first project of the summer, 20% off for the right brief. A reduced-rate offer felt like a reasonable response to a market that wasn't responding. It was a confident, well-reasoned reaction to the evidence in front of him. It was also about to solve a problem that didn't exist.

"Traffic to the page: unchanged. Engagement: unchanged. Conversions: cliff edge — on the exact date of the site update."

The overlooked conversion event

Before he posted the offer, Leo decided to check one thing first: whether the Pricing page had actually lost traffic. If people weren't visiting, the rate reduction made some sense. If they were visiting and not enquiring, that was a different problem — possibly a copy problem, possibly a positioning problem, possibly the price point itself.

He opened GA4 and pulled up the Pricing page metrics. Sessions were fine — slightly above average for that period, actually. Average engagement time was 2 minutes 40 seconds, which meant people were reading the page, not bouncing. Nothing in the traffic data suggested the page had lost its ability to attract the right visitors. And then he clicked over to the Conversions report, where he tracked a custom key event called quote_request — a GA4 event that fired whenever someone successfully submitted the form.

The graph showed the same 7 to 8 conversions per month that had been consistent for over a year. And then, on the exact date of the spring site update, it dropped to zero. Not a gradual decline. Not a soft dip that bounced back. Zero, sustained for eight consecutive weeks, with no change in the traffic or engagement metrics that would explain it commercially.

Leo flagged it to their developer that evening. Within an hour they'd identified the cause: the dependency upgrade had broken the event listener attached to the form's submit button. From the user's perspective, the form appeared to work perfectly — you filled it in, clicked submit, the fields cleared, a confirmation message appeared. But the underlying data submission to their project management tool was silently failing, and the quote_request GA4 event was never firing. Eight weeks of quote requests — somewhere between 48 and 80 potential enquiries based on the historical rate — had submitted into a void, received no response, and presumably gone elsewhere.

The corrected interpretation

It was not a market problem. Not a pricing problem. Not a competitor problem. A single broken event listener, introduced in a routine update that nobody had tested end-to-end on the form submission path, had silently swallowed eight weeks of inbound enquiries. The GA4 Conversions report had been showing the exact shape of the problem from the day it started: stable traffic, stable engagement, zero conversions, coinciding precisely with a deployment. That pattern — traffic and engagement unchanged, conversions at zero — is almost definitionally a technical failure rather than a commercial one. The market doesn't turn off in a single day.

The fix took less than two hours once the developer knew where to look. The more uncomfortable reckoning was how close Leo had come to announcing a 20% discount in response to a broken JavaScript event listener. The discount would have done nothing. Worse, it might have trained his audience to expect reduced rates, making future projects harder to price correctly. The real cost of not reading GA4 wasn't just the eight weeks of missed enquiries — it was the downstream decisions those unread numbers were about to produce.

What to do next

Conversion tracking isn't just a reporting tool. It's an early warning system — and it only works if someone is actually looking at it after deployments.

For a guide to the warning signals in GA4 that point to broken technical infrastructure, see How to Spot Technical Problems Using GA4.

Get the numbers read for you

WebSignalytics connects to your Google Analytics and emails a plain-language report every Monday — what changed, why it matters, and what to do next. No dashboards, no second-guessing what a metric means.

Start your free trial

Pennant Studio and Leo are illustrative — a composite created to demonstrate a real and common pattern.

← Back to all case studies