Search to Revenue

Turned small ad budgets into steady calls and forms at about $51 a lead

How two gutter installation and repair contractors with modest Google Ads budgets got 780+ real leads, each one a phone call or a completed form.

Client
Two gutter installation and repair contractors
Scope
$40K+ in ad spend, 18,000+ clicks
Market
Local, postal-code targeted. All figures in Canadian dollars
Work
Campaign structure, landing pages, bidding tests, lead definition

The challenge

Two contractors, two small budgets, so every click had to count. A lead only mattered if it was a real phone call or a completed form, not a page view or a stray tap. Installation and repair customers also search differently, so one blended campaign was hiding what worked.

What we did

Split by intent. Installation and repair became separate campaigns, each with its own ads and its own landing page.

Postal-code targeting. Spend stayed inside the areas the contractors actually serve, so budget wasn't lost on searches they couldn't take.

Bidding experiments. We ran Target CPA tests against the existing bidding and kept what beat it.

Honest lead counting. Only calls and real form submissions were counted as leads, so the reported cost per lead matched what the contractor could actually follow up.

The results

Ad spend
$40K+
Clicks
18,000+
Leads (calls and forms)
780+
~$51per lead

Combined results across the two contractors, in Canadian dollars. Cost per lead is total ad spend divided by phone calls and completed form submissions.

After the 2025 rebuild
$6.41per repair conversion, with click-through rates of 11 to 13%

Why it worked

Separating installation from repair let each campaign speak to one need, and postal-code targeting kept small budgets inside the right neighborhoods. Counting only real calls and forms meant the numbers could be trusted when deciding where to spend the next dollar.

Working with a small budget?

Book a free 15-minute audit. A senior strategist reviews your Google and Meta ads and shows you where the budget goes.

Claim your free audit