Executive Summary
Acme Company is a residential HVAC and plumbing services company operating 8 locations across the greater Charlotte, NC metro area. They spend $2.0M annually on lead generation and operations (ad spend + agency fees + dispatcher/call center cost) to produce 21,600 booked jobs per year, of which 17,280 are completed, a fully loaded cost of $125 per completed job when factoring in no-show waste.
The operation has three structural problems that, combined, are leaving an estimated $1.9M–$3.0M in annual revenue unrealized:
30% of leads never progress past initial contact
1,080 leads per month are lost, calls that go to voicemail and aren't returned, web forms responded to too slowly, and calls abandoned before pickup. Calls answered within 30 seconds book at 62%. Voicemails returned after an hour book at 14%. After-hours calls (28% of volume) receive zero live coverage. This represents ~$1.4M/year in lost revenue.
Google's bidding algorithm is optimizing for the wrong outcome
Job completion and revenue data is not fed back to Google Ads. Smart Bidding optimizes for form fills and call clicks, it has no way to distinguish a $150 drain cleaning from a $12,000 HVAC replacement, or a completed job from a no-show. The agency reports on cost per lead ($33), but actual cost per completed job is $125, a gap the agency has no incentive to close.
No cross-location intelligence
8 locations with overlapping service areas bid against each other on the same keywords, inflating CPCs by an estimated 15-22%. There is no system-level view of which location should serve which ZIP code for which service. Budget allocation across locations is manual and updated quarterly.
Recommended Pilot
A voice AI agent that answers every call within 2 rings (24/7) and an offline conversion pipeline that teaches Google's algorithm what a completed, high-value job looks like.
1. Funnel Analysis
End-to-end lead-to-revenue decomposition with channel, location, and speed-to-answer breakdowns.
1.1 End-to-End Funnel Map
1.2 Funnel by Channel
| Metric | Google Ads (Paid) | LSA | Meta / Other | Organic / Direct |
|---|---|---|---|---|
| Monthly leads | 1,800 | 360 | 480 | 960 |
| Cost per lead | $47 | $67 | $25 | $0 |
| Answer/contact rate | 64% | 81% | 58% | 74% |
| Lead-to-booked rate | 48% | 63% | 41% | 52% |
| Booked-to-completed | 79% | 85% | 76% | 83% |
| Lead-to-completed rate | 38% | 54% | 31% | 43% |
| Cost per completed job | $124 | $124 | $81 | $0 |
| Avg job value | $440 | $620 | $380 | $510 |
| ROAS | $3.55 | $5.00 | $4.69 | N/A |
1.4 Speed-to-Answer Analysis
| Response Window | % of Calls | Monthly Volume | Contact Rate | Booking Rate | Revenue Potential |
|---|---|---|---|---|---|
| Answered < 30 sec | 54% | 1,361 | 100% | 62% | $409K |
| Answered 30s – 2 min | 18% | 454 | 100% | 51% | $112K |
| Voicemail (returned < 1hr) | 10% | 252 | 68% | 28% | $23K |
| Voicemail (returned > 1hr) | 14% | 353 | 41% | 14% | $10K |
| Abandoned / No answer | 4% | 101 | 0% | 0% | $0 |
1.5 Attribution Gap Analysis
2. Bottleneck Ranking
Prioritized using WSJF (Weighted Shortest Job First), a framework that balances business value, time criticality, and risk reduction against implementation effort.
| Rank | Bottleneck | Biz Value | Time Crit. | Risk Red. | Effort | WSJF | Est. Annual Impact |
|---|---|---|---|---|---|---|---|
1 |
A: Speed-to-Answer / After-Hours Voice AI agent, 24/7 instant response |
9 | 9 | 7 | 4 | 6.3 |
$640K–$1.4M |
2 |
B: Offline Conversion / Attribution GCLID pipeline → revenue-weighted bidding |
8 | 7 | 6 | 4 | 5.3 |
$360K–$575K |
3 |
C: Cross-Location Cannibalization Geo-optimization and budget intelligence |
6 | 5 | 4 | 5 | 3.0 |
$108K–$168K |
4 |
D: No-Show / Cancellation Rate Predictive confirmation + schedule optimization |
7 | 6 | 5 | 6 | 3.0 |
$437K–$1.05M |
5 |
E: Technician Revenue Optimization Dispatch optimization + upsell intelligence |
5 | 3 | 3 | 7 | 1.6 |
Phase 3 |
Root Cause
The dispatchers are not underperforming, they're structurally overloaded. Peak call volume (Tuesday/Wednesday 7-10 AM) exceeds dispatcher capacity by 40%. After-hours calls (6PM-7AM, 28% of volume) receive zero live coverage. There is no callback queue system, voicemails are reviewed manually the next morning.
What the Fix Looks Like
A voice AI agent answers every call within 2 rings, 24/7. It qualifies the caller, captures service need and urgency, checks real-time technician availability in ServiceTitan, and books the appointment. For complex situations it warm-transfers to a live dispatcher with full context.
Root Cause
Google Ads receives zero post-click conversion data. Smart Bidding is optimizing for form fills and call clicks, it has no way to distinguish a $150 drain cleaning from a $12,000 HVAC replacement, or a completed job from a no-show. The agency reports on cost per lead ($33), but actual cost per completed job is $125.
What the Fix Looks Like
An offline conversion pipeline that captures GCLIDs at the point of contact, attaches them to ServiceTitan jobs, and uploads completed job revenue back to Google Ads. This teaches Smart Bidding to optimize for revenue-generating conversions, not just clicks.
8 locations with overlapping service areas bid against each other on identical keywords. This inflates CPCs by 15-22% and creates internal competition. Budget allocation is manual, updated quarterly, by which time seasonal demand patterns have already shifted.
20% of booked jobs don't complete, that's 360 lost jobs/month at $485 average value = $174,600/month in lost revenue. The current confirmation process is a single automated text 24 hours before the appointment. No predictive risk scoring, no dynamic rebooking, no technician-specific analysis.
| Cancellation Reason | % | Monthly Volume | Revenue Lost |
|---|---|---|---|
| Customer no-show / no answer | 35% | 126 | $61,110 |
| Customer cancelled (rescheduled) | 25% | 90 | $43,650 |
| Customer cancelled (went elsewhere) | 20% | 72 | $34,920 |
| Tech late / scheduling conflict | 12% | 43 | $20,855 |
| Duplicate / data entry error | 8% | 29 | $14,065 |
3. Systems Assessment
Current technology stack and AI readiness evaluation.
3.1 Current Technology Stack
3.2 AI Readiness Score
Strong data volume and accessibility. Data quality gaps are addressable during pilot implementation. The ServiceTitan API provides the integration backbone needed for the recommended pipeline.
4. Build vs. Buy Analysis
Evaluating three implementation paths for each opportunity.
| Opportunity | Native (ServiceTitan) | Third-Party SaaS | Custom Build | Recommendation |
|---|---|---|---|---|
| Voice AI Agent | Not available | Generic, no FSM integration | Best fit | Custom Build Requires deep ServiceTitan integration |
| Offline Conversions | Partial support | Available but rigid | Best fit | Custom Build Needs custom GCLID pipeline |
| Geo-Optimization | Not available | Good options | Overkill for phase 1 | SaaS + Custom Rules Phase 2 implementation |
| No-Show Reduction | Basic reminders only | Generic, no context | Best fit | Custom Build Predictive risk scoring |
5. Recommended Pilot Scope
Combining Bottleneck A and B into a single pilot for compounding impact.
5.2 Technical Architecture
5.3 Implementation Timeline
ServiceTitan API integration, GCLID capture infrastructure, voice AI training data collection
Voice agent build, call routing, ServiceTitan booking integration, escalation paths
Google Ads API integration, GCLID-to-revenue mapping, automated upload pipeline
Shadow mode testing, A/B validation, phased rollout to 2 locations, performance benchmarking
5.4 Success Metrics
| Metric | Current | 90-Day Target | Measurement |
|---|---|---|---|
| Call answer rate | 72% | 98% | Marchex + AI logs |
| After-hours booking rate | 0% | 45% | ServiceTitan bookings 6PM-7AM |
| Speed-to-answer (median) | 38 sec | < 8 sec | AI answer latency |
| Web form response time | 3.8 hrs | < 2 min | Auto-response + AI callback |
| Lead-to-completed rate | 40% | 48% | End-to-end funnel |
| Cost per completed job | $125 | $105 | Total spend / completed jobs |
| ROAS (Google Ads) | $3.55 | $4.50 | Revenue-attributed via GCLID |
5.5 Investment
Build Cost (One-Time)
Monthly Infrastructure
6. What the AI Actually Does After Launch
A day-in-the-life walkthrough showing how the AI agents operate in real-time.
A homeowner's water heater fails. They search "emergency plumber near me" and click an Acme ad. Today, this call goes to voicemail and gets returned 3+ hours later, by which time they've called a competitor.
The voice agent answers in 1.8 seconds. It captures the emergency, checks ServiceTitan for the nearest available tech, and books a 7:30 AM slot. The homeowner hangs up knowing help is 43 minutes away. The GCLID from the ad click is attached to the job.
Three calls come in simultaneously. Dispatchers can only handle two. The third caller waits 4+ minutes and hangs up.
AI agent handles the third call instantly, qualifies the lead (HVAC tune-up, non-urgent), and books an appointment for Thursday. The dispatcher never knew they were over capacity, the system absorbed the overflow seamlessly.
The emergency water heater job from 6:47 AM is completed. Tech invoices $4,200 for a full replacement.
The pipeline detects the completed job, retrieves the GCLID from the morning call, and uploads to Google Ads: "This click generated $4,200 in revenue." Smart Bidding now knows this keyword, at this time, in this ZIP code, produces high-value jobs. It will bid more aggressively for similar searches tomorrow.
A homeowner notices their AC isn't cooling. Not an emergency, but they want to schedule service before the weekend.
Voice agent answers, classifies as non-emergency HVAC service, checks availability, and books a Saturday morning slot. Sends confirmation text. This lead would have been a voicemail → 14% booking rate. With the AI agent → booked instantly at 100% certainty.
7. ROI Model
INTERACTIVEAdjust assumptions below to see real-time impact projections.
Adjust Assumptions
7.3 Sensitivity Analysis
| Scenario | Assumption | Year 1 Impact | ROI | Payback |
|---|---|---|---|---|
| Conservative | Base assumptions | $1,545,240 | 31.8x | 12 days |
| Pessimistic | 50% of conservative | $772,620 | 15.9x | 24 days |
| Very Pessimistic | 25% of conservative | $386,310 | 7.9x | 48 days |
| Break-Even | Min. improvement needed | $48,540 | 1.0x | 365 days |
7.5 Three-Year Projection
| Year 1 | Year 2 | Year 3 | |
|---|---|---|---|
| Revenue Impact (Pilot) | $1,545,240 | $1,854,288 | $2,225,146 |
| Agency Savings | $0 | $360,000 | $360,000 |
| Implementation Cost | ($48,540) | ($28,140) | ($28,140) |
| Net Impact | $1,496,700 | $2,186,148 | $2,557,006 |
| Cumulative | $1,496,700 | $3,682,848 | $6,239,854 |
8. Roadmap
Phased implementation with decision gates between each phase.
Pilot
Weeks 1-8
- Voice AI Agent (24/7)
- Offline Conversion Pipeline
- ServiceTitan Integration
90-day metrics review. Continue if answer rate > 90% and lead recovery > 15%.
Optimize
Months 4-8
- Geo-optimization agent
- No-show prediction agent
- Expand to all locations
Evaluate cross-location ROI and no-show reduction metrics.
Scale
Months 8-14
- Full AI operating layer
- Technician dispatch optimization
- Agency transition / in-house
Full autonomy. Agency relationship replaced by AI-managed ad operations.
9. AI Governance & Risk Management
Framework for responsible AI deployment, monitoring, and escalation.
Monitoring & Oversight
- All AI calls recorded and logged with full transcripts
- Daily quality review of random 5% sample
- Automated sentiment detection flags negative interactions
- Real-time dashboard showing booking rates, escalations, customer satisfaction
Escalation Protocol
- Emergency/safety calls → immediate human transfer
- Customer frustration detected → warm transfer with context
- Complex multi-service requests → flag for dispatcher review
- Commercial/enterprise inquiries → route to sales team
Data Privacy
All data encrypted at rest and in transit. No PII shared with third parties. Compliant with state-level consumer protection requirements.
Transparency
Callers are informed they're speaking with an AI assistant. Opt-out to human available at any time. Full disclosure in terms of service.
Rollback Plan
Kill switch to revert all calls to human dispatchers within 60 seconds. No permanent infrastructure changes until Phase 2 decision gate.
Appendix A: Data Requests
The following data sources were requested and analyzed during this assessment:
- • ServiceTitan job data (12 months)
- • Google Ads performance reports
- • Marchex call tracking logs
- • LSA performance dashboard
- • Monthly P&L (marketing line items)
- • Agency reports (last 6 months)
- • ServiceTitan API credentials (for pilot)
- • Google Ads MCC access
- • Historical call recordings (sample set)
- • Customer satisfaction survey data
Appendix B: Methodology
Assessment Framework
This assessment uses the ShooflyAI AI Operating Assessment methodology, which combines end-to-end funnel decomposition, WSJF prioritization, AI readiness scoring, and financial sensitivity analysis to produce actionable recommendations with quantified ROI projections.
WSJF Scoring
Each bottleneck is scored on Business Value (1-10), Time Criticality (1-10), and Risk Reduction (1-10), divided by Implementation Effort (1-10). Scores are assigned collaboratively during the assessment interview and validated against industry benchmarks.
Financial Projections
Revenue impact estimates use conservative assumptions by default. All projections include sensitivity analysis at four levels (Conservative, Pessimistic, Very Pessimistic, Break-Even). Historical data from the client's own systems is used wherever available; industry benchmarks supplement where client data is incomplete.