
How to Build a Franchise Lead Router for Home Services






Trusted by 3,000+ marketers
A homeowner submits a service request on your franchise's national site, and the lead sits in a shared inbox while someone figures out which location actually covers that ZIP code. By the time it's forwarded, the homeowner has already called a competitor. Building a franchise-location lead router fixes this at the funnel level, before the data ever touches your CRM.
Key takeaways
Routing leads at the CRM level adds latency; matching territory inside the funnel itself delivers leads to the correct location within seconds.
One funnel with conditional ZIP-based routing outperforms building separate location pages, which multiply maintenance and tracking work at scale.
Asking for service need and urgency before ZIP code increases completion, since homeowners invest effort before facing the territory-matching question.
Heyflow's conditional logic, webhook output, and native CRM integrations let franchise teams build one router that serves every location without a developer.
Why Home Services Franchises Lose Leads Before They Even Start
The problem is structural. A franchise brand runs centralized Google or Meta campaigns, traffic lands on a corporate URL, and a lead submits a form. Then what? Without a routing mechanism built into the funnel itself, that lead sits in a shared inbox waiting for someone to manually identify the right territory and forward it. Up to 30% of captured leads never receive a timely response network-wide. At an average cost per lead of $125 in home services, that is not a rounding error — it is a systematic revenue drain.
The fix is not a CRM routing rule. CRM-level assignment adds latency and depends on clean incoming data. The fix is a funnel that performs the geographic matching before the lead data ever reaches the CRM, so every submission arrives at the correct franchise location's pipeline within seconds of being submitted.
Speed matters more here than in almost any other vertical. Companies that follow up with a lead within five minutes are 9 times more likely to qualify it than those who wait 30 minutes. The first home services company to make voice contact wins the job more than 75% of the time. A web-based lead router that eliminates manual sorting is the single highest-leverage change a franchise marketing team can make to its lead-to-booking conversion rate.
One Funnel vs. Fifty Location Pages
The instinct to build a separate landing page per franchise location is understandable but wrong at scale. Fifty locations means fifty pages to update when the offer changes, fifty brand consistency reviews, fifty sets of tracking configurations, and fifty conversion rate optimization problems instead of one. A single funnel with conditional routing handles all of this from one place: one brand experience, one optimization surface, one analytics dashboard showing drop-off by screen across the entire network.
The routing happens inside the funnel — triggered by ZIP code — not via separate URLs. Each franchisee receives only leads in their territory, pre-qualified with service type, urgency, and property context. Corporate sees network-wide performance. Franchisees see their leads. One build serves both.
The Complete Screen-by-Screen Build
Screen 1: Service Need Selection
Start with the question the homeowner is already thinking about: what do they need done? Use a Picture Choice block with icon tiles — "AC Repair," "Plumbing," "Roofing," "Pest Control" — one selection, no free text. This screen is low-friction by design. The homeowner is not being asked for personal information; they are being asked about their problem. Completion rates on this first screen are typically very high, which creates the investment that carries them through subsequent steps. The answer also sets the conditional path for Screen 3 and, in some franchise models, can influence which location type receives the lead.
Screen 2: Urgency and Timing
Ask how soon they need service: "Emergency / Same day," "Within 2–3 days," "This week," "Flexible / just getting quotes." This single field determines lead priority for the franchisee. Emergency leads need an immediate phone notification to the dispatcher. "Just getting quotes" leads enter a standard nurture sequence. Without this data, every lead looks identical to the franchisee, and the one that needed a same-day call gets the same response time as the one who is three weeks out from a planned replacement.
Screen 3: Service-Specific Qualification (Conditional)
This is where the funnel earns its value for the franchisee. Branch based on Screen 1's answer. The HVAC path asks: "What's happening?" with options like "Not cooling," "Strange noises," "Leaking water," "Won't turn on." The roofing path asks: "What type of work?" with options like "Repair," "Full replacement," "Inspection." The plumbing path asks about the specific issue. Each path gives the local operator enough context to walk into the first call prepared — not just with a name and phone number, but with a clear picture of the job scope and likely ticket value.
In Heyflow, set this up using Conditional Logic on the Picture Choice block from Screen 1. Each service type routes to its own qualification screen. Use the Decision Tree View (Logic Map) to visualize the branching structure — when you are managing five service types across 75 locations, a visual logic map is the difference between a maintainable funnel and an unmaintainable one.
Screen 4: ZIP Code Entry and Territory Matching
Place the ZIP code field here — after the homeowner has already answered three screens of questions about their specific need. At this point, they have invested effort in the funnel and are far less likely to abandon than they would be if you asked for ZIP code first. Use a Short Text input block with numeric validation to ensure the format is correct.
The ZIP code is the routing trigger. Validate it against your territory mapping table. If the ZIP matches a franchise territory, the funnel continues. If it does not match any territory, show a graceful fallback screen: "We're not in your area yet — leave your details and we'll notify you when we arrive." Capture name and email on that screen. This is not a dead end; it is expansion research data and a retargetable partial lead.
Screen 5: Homeowner Confirmation
Ask a single question: "Do you own or rent this property?" For most home services — roofing, HVAC installation, electrical panel replacement — homeownership is a hard qualifier. Renters on an emergency repair path can continue (tenants can authorize emergency repairs). Renters on an installation or replacement path should see an alternative outcome: an offer to contact the property owner, or a graceful exit. This prevents franchisees from spending follow-up time on leads that cannot convert for structural reasons.
Screen 6: Contact Information and TCPA Consent
Collect first name, last name, phone number, and email. Enable phone network validation — this verifies at the carrier level that the number is real and active before the lead is routed. With CPLs at $125+, sending a franchisee to chase a disconnected number is a waste of their time and your credibility.
TCPA compliance is not optional if franchisees will call or text leads using automated technology. Prior express written consent is a legal requirement. Embed the disclosure language directly adjacent to the submit button — not buried in a footer, not linked to a separate page. Example language: "By submitting, you consent to receive calls and texts from [Brand Name] and your local [Brand Name] franchise partner at the number provided, including via automated technology. Consent is not a condition of purchase. Message and data rates may apply." Include an unchecked checkbox for explicit opt-in. Store the consent timestamp, the exact disclosure language version, and the opt-in status as fields in the lead record — not just in the funnel platform. Consent that cannot be produced during a dispute is no consent at all.
Screen 7: Personalized Confirmation
The confirmation screen is a conversion asset, not a receipt. Show the homeowner something specific: "Thanks, [First Name]! Your local [Brand Name] team serving [City Name] will call you within 15 minutes." Display the franchise location's direct phone number so the homeowner can call in immediately rather than waiting. If the location has a Google review rating, show it here — social proof at the moment of highest anxiety (they just submitted a request for help with a home problem) is unusually effective. Optionally embed a Calendly link so the homeowner can self-book a call window, which increases show rates for non-emergency leads.
About 61% of callers speak directly with a person during the initial call, and 37% convert on that first contact. Every element of the confirmation screen should be oriented toward getting that call to happen.
Setting Up the Routing Logic
Mapping ZIP Codes to Franchise Territories
Before you build, you need a complete ZIP-to-territory mapping table: every ZIP code your franchise network covers, mapped to the location ID that serves it. This table lives in your CRM or routing middleware, not in the funnel itself. The funnel captures the ZIP code and passes it in the submission payload via webhook. The CRM or a Zapier/Make scenario reads the ZIP, looks it up in the mapping table, and routes the lead to the correct location's pipeline.
Heyflow's native integrations with HubSpot, Salesforce, and Pipedrive, combined with webhook output and Zapier Paths, give you the flexibility to implement this routing logic in whatever system your franchise network already uses. ServiceTitan and Housecall Pro — the two most common field service management platforms in home services — can receive leads via webhook or Zapier connector.
Handling Overlapping Service Areas
Some franchise territories overlap, particularly in dense metro areas where territory boundaries were drawn before the market matured. The funnel captures the ZIP; the routing layer resolves the ambiguity. Common approaches include priority ranking (one location is designated primary for contested ZIPs), load balancing (leads are distributed evenly across locations that serve the same ZIP), and time-based routing (leads go to whichever location is currently staffed). These rules live in the CRM or middleware, not in the funnel — keep the funnel simple and let the routing layer handle edge cases.
The Unmatched ZIP Code: Turning a Dead End Into a Data Asset
An unmatched ZIP code is the most commonly wasted moment in a franchise lead funnel. Most builders show an error or a generic "sorry" message and lose the lead entirely. The better approach: show a waitlist screen that still captures name, email, and service need. Route this data to corporate rather than to a franchisee. It tells you exactly which ZIP codes are generating demand that your network is not serving — which is precisely the data you need to make expansion decisions. It also gives you a warm list to contact the moment a new location opens in that market.
Connecting the Funnel to Your Franchise Tech Stack
The funnel's job is to capture and qualify. The tech stack's job is to route, notify, and follow up. These are two distinct functions and the connection between them needs to be fast and reliable.
When a lead submits, Heyflow fires a webhook containing the full submission payload: every answer, the ZIP code, the consent record, the UTM parameters from the originating ad, and a timestamp. That payload goes to your CRM or to Zapier/Make, where a routing scenario reads the ZIP code, matches it to a territory, and creates a lead record in the correct location's pipeline. If the urgency was "Emergency / Same day," a parallel step fires an immediate SMS or WhatsApp notification to the location's dispatcher — not a standard CRM notification that might be checked hours later, but a direct message to the person who can pick up the phone right now.
For franchise brands running centralized Meta or Google campaigns, accurate conversion signal quality matters for campaign optimization. Heyflow sends conversion data server-side to Meta via the Conversions API and to Bing via UET, and integrates client-side with Google Ads — which means the ad platform receives accurate lead quality signals even in a post-iOS-14 environment where browser-based tracking is unreliable. This is particularly important for franchise brands where a single corporate ad account is funding lead generation across dozens of territories.
Optimizing After Launch
Drop-Off Analytics: Finding the Weak Screen
Heyflow's per-screen drop-off analytics show you exactly where users exit. In a franchise lead router, the most common abandonment points are the ZIP code screen (if the user discovers they are out of territory) and the contact information screen (standard friction). If you see unusually high drop-off on the service qualification screen (Screen 3), the conditional branching path for that service type is probably too long or the questions feel irrelevant. Fix the specific screen, not the whole funnel.
Recovering Abandoned Sessions With Partial Submits
Enable partial submit capture. When a user completes Screens 1 through 4 but abandons before submitting contact information, you still have their service type, urgency level, qualification answers, and ZIP code. At $125 CPL, that partial data is valuable: it tells you the ad worked, the funnel engaged them, and they have a real need in a specific territory. Use partial submit data for retargeting — serve them a follow-up ad with a more direct offer, or route the partial record to the franchisee as a warm signal for that territory.
A/B Testing Screen Variations
Run A/B tests on specific screens, not the whole funnel. The highest-value tests in a franchise lead router are typically: the service selection options on Screen 1 (does adding "Indoor Air Quality" or "Water Heater" as a distinct option capture more leads?), the urgency framing on Screen 2 (does "Emergency" convert differently from "Urgent – same day"?), and the confirmation screen copy (does showing the local phone number increase inbound calls?). Test one variable at a time and let the test reach statistical significance before acting on results.
Full Example: National HVAC Franchise, 75 Locations
Screen 1: Picture Choice — "AC Repair" | "Heating Repair" | "New System Installation" | "Maintenance and Tune-Up"
Screen 2: Multiple Choice — "Emergency (today)" | "Within 2–3 days" | "This week" | "Flexible / just getting quotes"
Screen 3 (conditional): AC Repair path asks "What's happening?" with options: "Not cooling," "Strange noises," "Leaking water," "Won't turn on." Installation path asks property type and approximate square footage range.
Screen 4: Short Text — "What's your ZIP code so we can connect you with your local team?" Validated against a 75-location territory table. Unmatched ZIPs go to a waitlist screen.
Screen 5: Two-option choice — "I own this property" | "I rent this property." Renters on the installation path see an alternative offer; renters on the repair path continue.
Screen 6: First name, phone (with network validation), email, TCPA disclosure with unchecked opt-in checkbox.
Screen 7: "Thanks, [First Name]! Your local [Brand Name] team serving [City] will call you within 15 minutes." Displays local phone number and Google review rating.
Routing: Webhook fires on submission. Zapier reads the ZIP, matches to territory, creates a lead in the correct location's HubSpot pipeline. Emergency leads trigger an immediate WhatsApp message to the dispatcher. Partial submits are logged for retargeting. UTM parameters travel with every lead record for campaign attribution.
Revenue impact: A 50-location franchise spending $50,000/month on ads at $125 CPL generates 400 leads/month. Without routing, 30% experience delayed response and convert at roughly half the rate — producing approximately 27 booked jobs/month. With automated routing reaching 95% of leads within seconds, the same spend produces approximately 31 booked jobs/month. At an average job value of $1,500, that is $6,000/month in incremental revenue — $72,000/year — from routing alone, before any funnel optimization. Start building your lead router in Heyflow and apply this math to your own network.
Pre-Build Checklist
Territory-to-ZIP mapping table: Every ZIP code your network serves, mapped to a location ID. This must be complete before the funnel goes live — gaps in the table mean unmatched ZIPs that should have been routed.
CRM pipeline configuration per location: Each franchisee needs a pipeline or inbox that can receive leads independently. A shared pipeline defeats the purpose of routing.
TCPA consent language reviewed by legal: The disclosure text on Screen 6 must be reviewed by counsel before launch. The regulatory landscape around one-to-one consent requirements continues to evolve.
Brand assets: Logo, color palette, font stack, and any location-specific assets (local team photos, review badges) needed for the confirmation screen.
Notification channels per location: Phone number or WhatsApp contact for each location's dispatcher. Email addresses for standard lead notifications. These must be configured in the routing middleware before launch.
Common Mistakes That Kill Franchise Lead Routers
Asking for ZIP code first. The user has invested nothing. They have no reason to continue if they discover they are out of territory. Ask about their service need first — that investment carries them through the ZIP code screen.
Building separate funnels per location. Fifty funnels means fifty maintenance problems. One funnel with conditional routing is the correct architecture at any scale above a handful of locations.
Routing to a shared inbox. If all leads land in a single shared inbox that multiple franchisees or coordinators monitor, you have not built a router — you have built a slightly more organized version of the original problem.
No fallback for unmatched ZIP codes. A dead-end error destroys the experience and wastes the ad spend that generated the visit. Always provide a graceful fallback that captures partial data.
Passing only name and phone to the franchisee. Franchisees who see the full funnel context — service type, urgency, property details, homeownership status — convert at higher rates on the first call because they can personalize the conversation. Pass everything.
Frequently Asked Questions
Should I build one funnel for all franchise locations or a separate funnel per location?
Build one funnel with conditional routing. Separate funnels per location create a maintenance and brand consistency problem that compounds with every new location you add. A single funnel with ZIP-code-based routing handles geographic assignment internally, gives corporate a single analytics view, and lets you run A/B tests across the entire network rather than per location.
What happens when a homeowner enters a ZIP code that falls in two overlapping franchise territories?
The funnel captures the ZIP and passes it to your routing middleware — Zapier, Make, or CRM workflow. Overlapping territory resolution happens at that layer, not inside the funnel. Common approaches include designating one location as primary for contested ZIPs, distributing leads evenly via load balancing, or routing to whichever location is currently staffed based on business hours logic.
How do I make sure TCPA consent actually travels with the lead record to the franchisee?
Configure your webhook or CRM integration to pass the consent timestamp, the exact disclosure language version, and the opt-in checkbox status as dedicated fields on the lead record — not just as a note or a flag. If a franchisee is ever challenged on whether they had consent to contact a specific number, they need to be able to produce the documented consent record, not just confirm that the funnel had a checkbox.
At what point in the funnel should I ask for contact information?
Always last. Place contact information after the homeowner has answered questions about their service need, urgency, property details, and ZIP code. By that point they have invested effort in the funnel and are significantly less likely to abandon than they would be if contact information appeared early. This structure also means you capture partial submit data — service type, urgency, ZIP — even from users who abandon before providing their phone number.
How do I give corporate visibility into lead volume per location without giving one franchisee access to another's leads?
Use Heyflow's drop-off analytics and submission data at the funnel level for corporate reporting — this shows volume, completion rates, and drop-off by screen across the entire network. Route individual lead records to location-specific CRM pipelines where each franchisee only sees their own leads. The funnel platform and the CRM serve different visibility needs: aggregate performance for corporate, individual lead records for franchisees. Create a free Heyflow account to explore how the analytics dashboard surfaces network-wide data.
Can the funnel handle after-hours leads when franchise locations are not staffed?
Yes — and this is one of the strongest arguments for a web-based lead router. The funnel captures, qualifies, and routes the lead regardless of what time it is. The routing middleware delivers the lead to the franchisee's CRM pipeline immediately. For emergency leads submitted after hours, configure a notification that goes to an on-call contact or answering service rather than the standard dispatcher. The urgency field captured in Screen 2 is what enables this differentiation — emergency leads get a different notification path than standard leads, even at 2am.
