Skip to main content
Web · Google Ads · Local Service Ads

From zero to 38 booked jobs a month.

An Ottawa-area contractor with no website, no ad account, and an inbox of unsorted referral emails. We built a 5-page site, set up Google Ads and Local Service Ads, and wired CRM-level attribution from Pipedrive. Three months later they were turning away work.

$42Cost per lead (vs $130 industry avg)
38Booked jobs per month by month 3
3×Return on ad spend
90Days from kickoff to full ramp

The challenge

An established Ottawa contractor — 12 years in business, 5-person crew, mostly residential work. All leads came from referrals and Google Maps. They wanted predictable, controllable lead flow but had no website, no Google Ads account, and a Facebook page that had not been updated in two years.

Three previous agencies had quoted between $18k and $60k for a "full digital marketing system." The owner wanted to move but did not want to start a 4-month engagement before seeing a single lead.

The discovery audit found something immediately useful: 100% of existing customers had found them by phone. That meant call-only ads, not form fills — a constraint that cut setup time in half and matched the business's actual conversion model.

Project details

Client type

Local trades / contractor

Services

Google Ads · Local Service Ads · Web Dev · CRM sync

Timeline

90-day ramp

Outcome

38 booked jobs/mo at $42 CPL

Phone calls, not form fills. Offline conversions, not clicks. Five pages, not fifteen. Ship small. Optimise from real data.

What we built

A 5-page Next.js site on Vercel — Home, Services, About, Areas Served (geo pages for Ottawa, Kanata, Orleans, Barrhaven, Gatineau), and Contact. Lighthouse 95+ on every metric. Click-to-call sticky on mobile. Phone tracking via Twilio.

How we did it

Enabled call-only ads targeted to service + geo combinations. Applied for Local Service Ads in week 2. Uploaded offline conversions from Pipedrive — when a deal was marked Won, the closed job value fed back into Google Ads so Smart Bidding optimised on revenue, not form fills. Eliminated all branded keyword waste.

What changed

First call arrived on day 3 — a $22k kitchen remodel that covered the entire build cost. By month 2, Local Service Ads added 8 jobs/month at $35 per lead. By month 3 the owner had hired a second crew to handle the volume.

By the numbers

90 days. Measurable at every step.

01$42Cost per qualified lead by month 3Down from $130 industry average
0238Booked jobs per monthFrom zero in 90 days
033×Return on ad spendAt $2,400/month spend
048 daysPayback periodFirst remodel covered the build

Start a project like this

Local-services lead engine?

If you're a trades, service, or local-professional business tired of referral-only growth — send us your URL and the three jobs you'd most like to keep on repeat.