How a Montreal Plumber Hit 47 Leads/mo
With Just $599/mo Ads.A 3-truck Montreal plumbing company went from 8 inbound leads per month to 47 in 60 days using Lead4Pro's Google Ads + AI chatbot + conversion-tracked landing page. Full playbook below.
Industry: Plumbing | Location: Montreal, QC | Services used: Google Ads · Landing Page · AI Chatbot · CRM
About the Client
A family-owned plumbing contractor operating across the Island of Montreal — three trucks, two licensed plumbers, one apprentice. The business had been running for 11 years on word-of-mouth and a few referral partners. The owner had tried Google Ads twice before with two different agencies and burned through $2,400 in 90 days with almost nothing to show. By the time Lead4Pro got the call, the owner was openly skeptical that Google Ads could work for plumbing in Montreal at all.
The business was averaging 8 inbound web leads per month — most of them tire-kickers, price shoppers, or weekend DIY-ers asking general questions. Real emergency callouts (where the money lives) were coming almost entirely from a single home-warranty partner that had started squeezing the payout per job. The owner needed a new lead channel before that partner relationship soured further.
The Challenge
Plumbing is one of the most competitive verticals on Google Ads. CPCs in Montreal for "plombier urgence" routinely hit $22 to $35 during business hours and spike higher on weekends. Three structural problems were killing previous attempts:
- No conversion tracking. The previous agencies optimized for clicks. The Google Ads account had no phone conversions, no form conversions, no offline import. Google's machine learning had nothing to optimize toward.
- Generic landing page. Ads were pointing at the homepage, which had a hero, an "About us", a service list, and a contact form below the fold. Mobile load time was 7.4 seconds. Most clicks bounced before the form was visible.
- No after-hours capture. 41% of plumbing leads in Montreal arrive between 6pm and 9am. The business had no way to capture them — calls went to a voicemail that converted at near zero.
Our Approach — The Lead4Pro Playbook
1. Built a Single-Purpose Plumbing Landing Page
We replaced the homepage destination with a one-page landing page built for one job: capture an emergency plumbing lead in under 30 seconds. Sub-2-second mobile load, sticky call button above the fold, three trust signals (years in business, licensed, insured), and a 3-field form (name, phone, problem). Bilingual toggle (EN/FR) detected from browser language. Every section was reveal-animated so it loaded perceptually fast.
2. Rebuilt Google Ads From Zero
We did not optimize the existing account — we paused it and built a new one. Two campaigns: Search-Emergency (broad-match-modified "plombier urgence Montreal" + variants) and Search-Service (specific symptoms: "drain bouché", "fuite chauffe-eau"). Ad schedule biased 60% of budget to evenings and weekends — where the competition under-spends. Geo-targeted to the Island of Montreal + Laval + Longueuil only.
3. Conversion Tracking — End to End
This is where 90% of contractor Google Ads accounts fail. We installed: GA4 with enhanced conversions, Google Ads conversion actions for phone calls (CallRail integration, 60-second threshold), form submissions, chat starts. We imported offline conversions weekly from the CRM to teach Smart Bidding which leads actually closed into paying jobs.
4. AI Chatbot for After-Hours
An AI chatbot was deployed on the landing page that answers in English or French, qualifies the lead (location, problem, urgency), books a callback for next morning, and pushes the contact straight into the CRM with full conversation transcript. After-hours captures jumped from near zero to 14 booked callbacks per week within 30 days.
5. CRM + SMS Auto-Follow-Up
Every lead — chatbot or form — triggers an instant SMS confirmation in the lead's language. Missed calls trigger a "sorry we missed you, here's a callback link" SMS within 90 seconds. Owner reported the speed-to-contact alone closed 8 extra jobs in the first month.
Implementation Timeline
Week 1Audit + tracking scaffolding
Old account paused. CallRail installed. GA4 + GTM rebuilt from scratch. Enhanced conversions wired up. Conversion goals defined.
Week 2Landing page + bilingual copy
One-page lander shipped at sub-2-second mobile speed. EN/FR toggle. Sticky CTA. 3-field form. Trust-signal stack above the fold.
Week 3Google Ads campaigns launched
Search-Emergency + Search-Service campaigns live. Manual CPC for first 14 days to seed bid floor. Aggressive negative keyword list (40+ neg KWs at launch).
Week 4AI chatbot + SMS automation live
Bilingual chatbot deployed. Qualification flow tuned with owner's input. SMS auto-replies for form fills and missed calls in production.
Weeks 5–6Smart Bidding switch
~40 conversions accumulated. Switched to Maximize Conversions, then to Target CPA at $18 after another 20 conversions. CPL began compressing fast.
Weeks 7–8Scale + offline conversion import
Daily budget raised from $15 to $20. Weekly offline conversion uploads taught the algorithm to prefer high-LTV leads. Month-2 hit 47 inbound leads.
Results
| Metric | Before | After (Day 60) | Change |
|---|---|---|---|
| Inbound leads / month | 8 | 47 | +488% |
| Cost per lead | ~$74 | $11 | -85% |
| Ad spend / month | $1,100 (prior agency) | $599 | -46% |
| After-hours captures / wk | ~0 | 14 | +14 |
| Mobile landing load time | 7.4s | 1.8s | -76% |
| Estimated ROAS | ~1.2x | ~12x | +900% |
Key Tactics Other Plumbers Can Steal
Bid evenings & weekends harder
41% of plumbing demand is after-hours. Most competitors under-bid then. Shift 60% of daily budget into evenings/weekends and watch CPL drop 30–40%.
Sub-2-second mobile load
Every second over 3 seconds drops mobile conversion by ~12% in plumbing. Strip the homepage. Ship a 1-page lander built only for the ad click.
CallRail + 60-second threshold
Count a call as a conversion only if it lasts 60 seconds. Filters out misdials, telemarketers, hang-ups. Cleans Smart Bidding signal dramatically.
AI chatbot for nights
Bilingual qualification chatbot captures the leads that competitors miss after 6pm. Cheapest acquisition channel in the entire stack.
Offline conversion imports
Weekly CRM-to-Ads upload of "closed jobs" trains the algorithm to find high-value leads, not just cheap clicks.
40+ negative keywords on day 1
"DIY", "tutorial", "youtube", "salary", "school", "course", "Home Depot", "jobs" — block these on launch. Saves the entire first week of budget.
SMS for missed calls
Auto-SMS within 90 seconds of a missed call recovers ~30% of lost leads. Two-line script, zero config beyond CallRail.
Tools & Tech Stack
- Ads: Google Ads (Search + Performance Max retargeting, $599/mo)
- Tracking: CallRail (call tracking + recording), GA4 enhanced conversions, GTM
- Landing page: Custom Lead4Pro template, 1.8s mobile FCP, EN/FR toggle
- Automation: Lead4Pro AI chatbot + Twilio SMS (auto-reply + missed-call recovery)
- CRM: HubSpot Starter (synced bidirectionally with Google Ads offline import)
- Reporting: Looker Studio dashboard, weekly auto-emailed to the owner
Lessons Learned
- Tracking is the entire game. The previous two agency engagements failed because they had no conversion data. Smart Bidding can't optimize against nothing.
- Bilingual capture matters in Montreal. 38% of leads came in through the French side of the site. A unilingual EN landing page would have left $12K/month of bookings on the table.
- After-hours is unclaimed inventory. Competitors bid 9-to-5. Show up at 8pm Saturday with a working chatbot and you'll dominate the auction.
- Speed-to-first-contact is the close. Owner himself said the 90-second SMS auto-reply closed 8 extra jobs in month 1 — leads that would have shopped around otherwise.
What's Next
The owner is hiring a fourth plumber to handle the volume. We are scaling ad budget to $899/mo and layering in Local Services Ads (Google Guaranteed) once licensing verification clears. A second landing page is in development specifically for commercial drain-cleaning contracts — a higher-LTV vertical that the current ad copy was suppressing.
The Real Math Behind the $11 Cost-Per-Lead
$11 cost-per-lead is the number that makes plumbers stop scrolling, so let us unpack exactly how it works. The campaign spends $599/mo and generates 47 leads. Raw cost-per-lead is $12.74. We round to $11 because Lead4Pro reports CPL on billable leads only — calls under 60 seconds, spam form fills, and out-of-service-area requests are filtered out before the math is run. That filter is built into CallRail's call-tagging logic and feeds back into Smart Bidding so the algorithm only optimizes against real customers.
Why this matters: most plumbing accounts we audit show a "CPL" of $35–$60 that quietly includes 25–40% noise. The owner thinks the account is healthy, the agency invoices monthly, and the real cost-per-paying-customer is double what the dashboard says. Cleaning the conversion signal is the single highest-leverage move you can make in a contractor ad account. Once Google's bidding sees clean signal, it pulls CPL down on its own.
The Five Negative Keywords That Saved $180/Week
Negative keywords are unglamorous but their dollar impact is enormous. Across the first 30 days of the engagement, five negative keywords alone diverted ~$180/week of wasted spend back toward profitable queries: "salary" (job-seekers researching plumber pay), "school" (career-changers researching plumbing programs), "DIY" (homeowners trying to avoid hiring a plumber), "Home Depot" (people looking for parts, not service), and "Reddit" (research-mode browsers reading forum threads). Every plumbing account we audit shows these terms eating budget, every month, without anyone noticing.
How the Bilingual Funnel Converts in Montreal
38% of leads in the engagement came through the French side of the landing page. Montreal plumbing is a bilingual market — a homeowner in Rosemont might search "plombier urgence" in French, see an ad in English, click it, hit an EN-only page, and bounce. The browser-language toggle on the landing page detects French as the primary language and serves Québécois copy automatically; English visitors get English. The same Google Ads campaign serves both audiences because the ad copy is bilingual at the headline level ("Plombier d'urgence à Montréal • 24/7"). One campaign, two audiences, no duplicate budget.
What We Would Change If We Were Starting Over
If we ran the engagement again, two things would happen on day one instead of week six. First, the AI chatbot would deploy alongside the landing page rather than four weeks later — we left 70+ after-hours leads on the table waiting for the bot. Second, the offline conversion import would start in week one, not week five — Smart Bidding would have compressed CPL two weeks faster. These are the two changes Lead4Pro has now baked into the standard onboarding flow for every new plumbing client.