Case study 04

Four numbers for the same month

A junk removal and dumpster rental company in the Greater Toronto Area. In April, four different systems reported how many leads they’d received. The answers ranged from 15 to 207. Nobody could say which was right.

15–207
Lead counts for one month, four sources
a 14× spread
+622%
Leads from organic, year over year
once measurement was fixed
+65%
Non-branded keywords in three months
1,743 → 2,877
#1–3
On the core commercial terms
across the GTA
Client junk removal & dumpster rentalMarkets Toronto, Mississauga, BramptonRole SEO strategist

Part one

The problem

Not the rankings. The rankings were fine. Nobody knew what they were worth.

The SEO on this account was working. What wasn't working was anyone's ability to prove it, because every system in the business gave a different answer to the same question: how many leads came in last month?

Four lead counts for one month For April, Google Analytics reported about 207 form submissions, the client reported 136, the booking platform reported 79, and the website's own contact form backend showed 15. LEADS IN APRIL, ACCORDING TO… Google Analytics 207 The client's own count 136 The booking platform 79 The contact form backend 15 Same business. Same month. Same question.
A fourteen-fold spread. Whichever number you picked, three others contradicted it. No marketing decision made on top of that is a real decision.

This matters more than it sounds. If you can’t count leads, you can’t tell which service line is worth investing in, you can’t judge whether a campaign paid for itself, and you can’t tell an agency whether they’re earning their fee. The client was being asked to keep spending on faith.

Where I actually stood

I should be straight about this. At the time, my analytics knowledge was decent but not deep — I could read GA4, I hadn't built in it. This account needed someone who could take apart a tag manager container and say exactly why two systems disagreed.

So I learned it properly, on the account, while the account was running. Some of what follows is me working it out. I've left that in because the working out is the part that mattered.

Part two

How I came up with the solution

Establish a baseline before escalating to anyone.

The tempting move was to go to the booking platform's support team and to the client and start asking why their numbers were wrong. I held that back. If you escalate before you understand the system, you spend your credibility on a question you can't defend.

So the first decision was simply an ordering one: establish a crystal-clear measurement baseline first, then escalate. That took one workshop and turned up three separate causes.

One. Two tag manager containers

The site had two Google Tag Manager containers. One was legacy and receiving no data at all. The other was live but flagged for container quality issues and had tags missing outright. Depending on which one you looked at, you’d draw opposite conclusions about what was being tracked.

Two. Some events weren’t in the tag manager at all

GA4’s enhanced measurement captures form start and form submit natively in the data stream. They never appear as tag manager triggers. So anyone auditing GTM alone would conclude those events didn’t exist, while GA4 quietly counted them.

That single fact explains a large part of the gap between the 207 and everything below it. GA4 was counting people who began filling in a form.

Three. One thank-you page doing two jobs

This was the real one. The booking platform runs its checkout on a subdomain and sends customers to a thank-you page when they finish. The website’s Contact Us form sent people to the same thank-you page. It had been that way since 2019.

Two lead flows sharing one thank-you page A paid booking and a contact form enquiry both finished on the same confirmation URL, so analytics counted them as one undifferentiated event. TWO VERY DIFFERENT ACTIONS, ONE DESTINATION Completed booking paid, on the booking subdomain Contact form enquiry unpaid, on the main site /thank-you one URL, published 2019 One number indistinguishable A customer who paid and a stranger who asked a question landed in the same bucket. Then a routing change ten days earlier pushed more bookings through it, inflating the count again.
Six years of data with a booking and an enquiry counted identically. Nobody had done anything wrong. The page was built before either measurement question existed.

Two things I did that were unglamorous and necessary

I filled in the contact form myself and followed where it went, which is how the shared thank-you page got confirmed rather than assumed. I did not complete a paid booking to test the other flow, because it would have meant putting a real transaction through the client’s system to answer a question their platform provider could answer for free. We asked them instead.

And I brought in someone who knew GA4 better than I did to validate the trigger configuration before we trusted it. Knowing the edge of your own competence is cheaper than discovering it in a client report three months later.

Part three

How the strategy got executed

Then I made my own headline number smaller.

The immediate fix was a decision about definitions, not code. Treat a visit to the thank-you page as the event, build a proper tag manager trigger for it, and confirm with the booking platform exactly which submissions route there. One agreed definition, one source of truth.

Alongside it, the ordinary structural work: 301 redirect chains cleaned up, 404s resolved, legacy location URLs pointed at single live destinations, and a service phrase that had been repeated across the site turned into a proper internal link to the service area page.

The part I’d want a client to notice

Once tracking worked, the May report showed 130 leads from organic, up 622% year over year. Good number. Except it counted form starts alongside completed actions, and a form start is somebody who typed their name and left.

So I narrowed it. By July the report counted two things only: completed bookings and phone number clicks. Real intent, nothing else.

Tightening the definition of a lead The May report counted form starts, form submits, contact form submissions and phone clicks. The July report counted only completed bookings and phone clicks, producing a smaller but more meaningful number. MAY — LOOSE JULY — STRICT form_start form_submit contact_form_submission phone_number_clicks 130 includes people who started typing booking_complete phone_number_clicks 43 only completed actions
I chose the smaller number. An agency is never rewarded for this. But a client who can trust 43 will act on it, and a client who suspects 130 will not.

What the SEO produced alongside it

2,877
Non-branded keywords in the top 100
from 1,743 in April
+622%
Leads from organic, year over year
May, once tracking was live
+147%
Business profile impressions
year over year, July
+357%
Website clicks from the map listing
year over year, July

Toronto · one month of movement

Query1 Apr30 AprChange
dumpster bin rental toronto81+7
industrial waste bin rentals81+7
junk dumpster rental21+1
construction trash containers for rent193+16
dumpster rental near me102+8
cheap dumpster rental near me113+8
junk bin rental toronto73+4

By July they were holding position two or three on nearly every commercial dumpster term in the market, including trash can rental at 1,900 searches a month, dumpster rental near me at 2,400 and garbage rentals at 2,400. The keyword footprint had also spread well past the three target cities into Burlington, Milton, Richmond Hill, Scarborough and Niagara without those being targeted.

What I took from it

Nobody is going to tell you your measurement is broken. The client had four numbers and had quietly accepted that as normal. It took someone asking the boring question — which of these is right, and why — for anyone to look.

And I'd rather learn something in public than deliver around a gap. I didn't have GA4 at the depth this account needed. Saying that, learning it, and bringing in a second pair of eyes to check my work cost me nothing. Guessing would have cost the client six more months of numbers they couldn't use.

Sources. Figures from the client's monthly search performance reports, GA4, SEMrush and Google Business Profile, plus recorded working sessions. Nothing modelled, nothing estimated.

Client name, personnel and software vendors withheld. Happy to talk through the reasoning in more detail.

← Back to harisjilani.com