How a Metro Vancouver pest control operator replaced a $700-setup, $219/month pay-per-lead service with custom AI infrastructure
Context
A Metro Vancouver pest control operator had been running a national pay-per-lead service for roughly two years. The setup fee was $700. The monthly cost was $219. The leads came in, mostly residential rodent and insect calls from across the region, and converted at a rate typical for cold referral leads: somewhere between “occasionally” and “inconsistently,” depending on whether the callback got made within an hour of the lead arriving.
The arrangement isn’t unusual. National lead-gen services are the default for local pest control operators who don’t have the time or expertise to run their own marketing. You pay for visibility without building it. The problem is the math: you stop paying, the leads stop. You don’t own the rankings. You don’t own the customer relationship before the booking. You own the work after someone else captures the intent.
What this operator wanted to understand was whether the inbound call volume they were already generating, through their existing GBP presence, some word-of-mouth, and a few years of passive reputation-building, was being converted efficiently. Were calls being missed? Were callers being routed correctly? Were the dispatchers spending time on calls that a qualified intake process could have handled faster?
The problem
The operator’s call mix followed the regional pattern: rodents (mice and rats combined) dominated inbound volume at nearly 40% of qualifying calls. Bed bugs, ants, raccoons, and wasps made up most of the rest.
The seasonal pattern created a structural problem. Rodent calls peaked in November through February — exactly the window when crews run reduced and dispatchers are managing end-of-year scheduling, holiday coverage, and thinned staffing. Wasp calls peaked in July and August during the summer surge. High call volume in low-coverage windows meant calls were going to voicemail at the moments that mattered most.
The intake process was entirely human. A dispatcher was handling qualification, pest identification, property type, service area confirmation, and booking on every call. For routine booking calls — the majority of inbound volume — this was a poor use of dispatcher time and attention. It also created a bottleneck at peak hours that couldn’t scale without adding headcount.
What we built
Three components, each scoped to a specific problem.
Automated after-hours booking & lead capture system. The system handles inbound calls outside of business hours and during high-volume windows when dispatchers are occupied. It identifies the pest type, confirms the service area, captures the property type (residential vs. strata vs. commercial), and determines urgency. For the most common call types, rodent exclusion estimates, wasp nest removal, and ant treatment quotes, it books the appointment directly into the scheduling system. For calls that require a human, such as large commercial contracts, active infestations requiring same-day response, or callers who want to speak to someone, it flags the call and routes with full context.
The agent’s qualification script was built around the regional call mix. Rodents account for nearly 40% of inbound volume for Metro Vancouver operators, so the rodent intake flow was designed first and tested most heavily. The seasonal variation shaped the routing logic: during peak rodent season (November through February), the booking threshold is tighter, with fewer qualification steps before converting to a scheduled appointment, because the conversion cost of a slow intake is higher when call volume is elevated.
Review request workflow. After each completed job, the agent reads the job record from the scheduling system and sends a personalized review request from the operator’s email. The template varies based on job type: a rodent exclusion follow-up sounds different from a wasp nest removal follow-up, and the send timing is calibrated to avoid requesting reviews on jobs that had complaint notes or scheduling issues. Review velocity improved; the operator’s GBP profile had significantly more recent reviews within 90 days of launch.
Local SEO technical work. The operator’s website had the typical problems of a site that was built to exist rather than to rank: missing schema, thin service pages, no structured internal link architecture, GBP categories that weren’t fully optimized. We implemented Organization and LocalBusiness schema with the correct entity linking, rewrote the core service pages around actual customer language (customers say “get rid of mice in my apartment” more often than they say “rodent exclusion”), and optimized the GBP profile against current quality signals.
Results
The call data tells the before story. The results are directional rather than definitive: 90 days post-launch is too short for full attribution on organic ranking work, and call volume has natural variation. But several things shifted clearly.
The review velocity improvement was the most immediate and measurable: the GBP profile received more reviews in the first 90 days post-launch than in the prior six months combined. Review count and recency are direct GBP ranking signals, and the profile’s local pack visibility for high-intent rodent queries improved within that window.
The intake process for after-hours and high-volume periods now runs without dispatcher involvement for qualifying calls. The jobs that were previously going to voicemail during peak windows, December and January specifically, have a resolution path that doesn’t require a callback the next morning. We don’t have a clean counterfactual for how many of those were previously lost, but the operator’s own assessment was that voicemail calls converted at a fraction of the rate of answered calls, and the system eliminated voicemail for those windows.
The misdiagnosis correction rate improved. The system’s structured intake collects pest type, property type, and specific symptoms before any dispatcher involvement, which means the dispatcher who reviews the booking record has more accurate context than a typical phone intake would have captured.
What we’d do differently
The review request workflow was built to send automatically with no operator review step. For most job types, that worked fine. For a handful of edge cases, including jobs where there was a billing dispute or where the technician flagged a problem, an automatic review request went out at the wrong moment. We added a manual hold flag to the workflow in week three, but it should have been in the initial build.
The system’s handling of strata and commercial calls was underspecified at launch. Strata jobs often involve a property manager rather than the resident, which changes the intake flow significantly. We had to add a property-type routing branch mid-way through the first month. The qualification conversation now identifies strata properties earlier and routes those calls to a human dispatcher rather than trying to handle the booking automatically.
Both of these were foreseeable with more thorough edge-case mapping during scoping. The fix in both cases was fast, but it added tuning time in week one and two that could have been avoided.
Frequently asked questions
How was the operator anonymized? The operator requested that their business name, specific location, and identifying details not be published. All data cited here is drawn from their actual call records, and numbers have not been rounded, inflated, or adjusted. The anonymization is in the attribution, not the numbers.
Can this work for a pest control operator outside Metro Vancouver? Yes. The call patterns, rodent dominance, seasonal peaks, and high misidentification rate between mice and rats, are consistent across North American urban markets. The specific seasonal timing varies by climate zone, but the structural problems are the same.
What does it cost? Fixed monthly fee based on call volume and integration complexity. Discussed on the discovery call. Book here.