🚀🌟

BSP Master Ads Playbook 2026

Bright Side Plumbing: The $3M to $6M Growth Engine
Generated: March 11, 2026 | Owner: Robert Dove | Version: Nexus AI v3
Revenue Target
$6M
$115K/week needed
LSA ROAS
16.6x
#1 channel, $85/job
Waste Identified
$30K+
90-day aggregator loss
Monthly Ad Spend
$29.5K
Optimized allocation
Booking Rate
80%+
Target from 73%
💰🔥

Revenue Pipeline War Room: Pre-Evelyn Sprint

Mar 10-14, 2026 | Sewer-first revenue acceleration
URGENT Robert
🚨 Why this is #1: Sewer repair and sewer replacement are the top revenue drivers ($3K-$15K+ per job). Every ad dollar, every landing page, every keyword must lead with sewer services. This section consolidates the pre-Evelyn sprint priorities.
🎯 Sprint Completion 65%

🚀 The $6M Math: Weekly Revenue Targets

MetricCurrentTargetGap
Weekly Revenue$57,700$115,000+$57,300/wk
Completed Jobs/Week~1623++7 jobs
Avg Ticket$1,200$5,000Sewer-focused upsell
Booking Rate73%85%+12%

🎯 The Six Revenue Levers

LeverCurrentTargetRevenue ImpactWho
📞 Booking rate~73%85%+$420K/yearAshton
💰 Average ticket$1,200$1,800+$600K/yearTechs (upsell ID)
✂ Cut bad ad spendVoolt/SLP losingReallocate to LSA+$180K/yearStephanie + Robert
🌐 Google organic leads~50/mo100/mo+$720K/yearRobert
⭐ Review velocity394+ reviews500++$240K/yearTechs
🔄 Repeat customer rate25%35%+$360K/yearEveryone
TOTAL INCREMENTAL+$2.52M

🔥 Week of Mar 10: Top 5 Sprint Actions

① Priority 1: Evelyn Call Preparation
Prepare change history data, conversion cleanup evidence, and LSA optimization log for Evelyn meeting
Google Ads rep Evelyn meeting scheduled. Bring: (1) Change History Investigation showing 7,646 events in 30 days, (2) Conversion action cleanup from 34 to 15, (3) LSA optimization log showing 6 junk categories removed. Ask about deactivated accounts AW-404985988 and AW-242993149, full change history access, and PPC relaunch timeline.
Robert ⏱ 1 hour prep IN PROGRESS
② Priority 2: LSA Category Cleanup
Remove 6 junk LSA categories, tighten service area from 11 to 5 zones
Deactivated: Handyman, Home Inspector, Kitchen Remodeling, Water Damage, Bathroom Remodeling, Drain Expert. Removed 6 far-flung service areas. Enabled 24/7 availability for Emergency badge. All budget now concentrates on Plumber category (14/14 services). See LSA Optimization Log for full details.
Robert ⏱ Completed Mar 10 DONE
③ Priority 3: Conversion Action Cleanup
Clean 34 messy conversion actions down to 15 with correct values
Updated 6 conversion values: Lead form=$150, Calls from ads=$150, Click-to-Call=$150, Clicks to call=$150, Book appointment=$500, customer match list=$150. Removed duplicates. Set primary vs secondary goals. Conversions managed at MCC level (844-909-2450).
Robert ⏱ Completed Mar 9 DONE
④ Priority 4: Cut Voolt + Networx ($7,583/mo savings)
Cancel Voolt ($3,250/mo) and Networx ($4,333/mo): both are confirmed losers
Voolt: 3 jobs in 90 days, $3,250/job, 0.4x ROAS. Networx: 8 jobs in 90 days, $1,625/job, 1.6x ROAS. Combined 90-day loss: $30,328. Send cancellation emails. Redirect to LSA and Google Ads Search.
Stephanie ⏱ 15 minutes PENDING
⑤ Priority 5: Build GCLID Capture Pipeline
Deploy GCLID cookie capture via GTM, add hidden fields to website forms
Nexus creates Custom HTML tag in GTM: reads gclid from URL, stores in 90-day cookie. Add hidden gclid field to all contact/booking forms. Test end-to-end with callbrightside.com/contact?gclid=test12345. This enables offline conversion import for Search campaigns.
Nexus AI ⏱ 2-3 hours PENDING
📍⭐

LSA Strategy: Complete Rebuild for KC Metro

Google Local Service Ads | 16.6x ROAS, #1 channel
REBUILT Robert
⭐ LSA is the single best marketing channel. 16.6x ROAS, $85 per completed job, 124 completed jobs in 90 days. Pay-per-lead, not pay-per-click. Budget increase to $7,000/mo recommended.
🎯 LSA Rebuild Progress85%

📊 LSA Performance Dashboard (9 months)

MetricValueNotes
Total Leads674June 2025 to March 2026
Charged Leads499Billable contacts
Credits Won41Disputes approved
Phone Calls605Primary lead type
Messages61GMB messaging
90-Day Revenue$175,809From ServiceTitan data
90-Day Cost$10,581Actual spend
ROAS16.6xBest of all channels

🔧 LSA Optimization Actions Completed (Mar 10)

✅ Step 1: Category Cleanup
Deactivated 6 junk categories: Handyman, Home Inspector, Kitchen Remodeling, Water Damage, Bathroom Remodeling, Drain Expert
100% of budget now concentrated on Plumber category (14/14 services). Eliminates unserviceable leads: handyman requests, kitchen remodels, yard drainage, water damage restoration. Plumbing installs still covered under Plumber. Drain clearing (54 leads, #1 service) covered by Plumber > Unclog drain.
Robert DONE
✅ Step 2: Service Area Tightened
Trimmed from 11 zones to 5 counties + 3 cities. Deleted 64 duplicate areas.
KEPT: Johnson County (home base), Jackson County (KC MO), Wyandotte County (KCK), Cass County (Belton/Raymore). REPLACED Clay County with Liberty, Gladstone, North KC (techs live near Liberty). REMOVED: Basehor, Platte County, Lawrence, Knob Noster, Louisburg, Paola (all 35+ min drive).
Robert DONE
✅ Step 3: 24/7 Availability Enabled
Switched from business hours to 24/7 to unlock Emergency badge
Emergency Eric (50-60% of revenue, $5K-$15K tickets) searches peak after hours. Does NOT increase spend (budget cap stays the same). Team rule: all overnight leads get response by 7 AM. Less competition at night = higher-value leads for same spend.
Robert DONE
⏱ Step 4: Evelyn Discussion Items
Budget optimization, additional categories, dispute strategy
Ask Evelyn: (1) Is automated bidding (Maximize Leads) best for single-category, or would target CPL perform better? (2) Set budget to $4K/mo explicit target. (3) Any categories needing license verification? (4) Lead dispute best practices for credit recovery.
Robert ⏱ Evelyn call PENDING
🚀 Step 5: Scale LSA Budget
Increase from $3,527/mo to $7,000/mo
Open ads.google.com > Local Services Ads > Settings > Budget. Change weekly from $813 to $1,615/week. LSA is pay-per-lead; increasing budget shows ads to more people. Only pay for actual leads. This is the single highest-ROI budget move available.
Stephanie ⏱ 5 min PENDING
💡 Deferred: Sewage System Pro category requires MO On-site Sewage Disposal System Contractor registration (DHSS). This covers septic systems, not municipal sewer lines. BSP's sewer work is covered under Plumber > Repair sewer. Deferred for Kalen's decision on septic expansion.
🛠📋

LSA Optimization Log: March 10, 2026

Complete record of every LSA change made
COMPLETE

📋 Completion Checklist

ActionStatus
Delete 64 duplicate service areasDONE
Deactivate Handyman categoryDONE
Deactivate Home Inspector categoryDONE
Deactivate Kitchen Remodeling categoryDONE
Deactivate Water Damage Service ProviderDONE
Deactivate Bathroom Remodeling (low margin)DONE
Deactivate Drain Expert (landscaper work)DONE
Remove 6 far service areasDONE
Enable 24/7 availabilityDONE
Confirm Maximize Leads bidding activeDONE
Set team rule: respond to overnight leads by 7 AMPENDING
Add 4 LSA service categories (Evelyn call)PENDING
Review lead dispute strategy with EvelynPENDING

📈 Expected Impact

💰 Budget Efficiency: Same $4,000/month budget concentrates on higher-quality, serviceable leads. Removing 4 junk categories eliminates unserviceable lead types. Tighter service area stops paying for 40+ min drive-time leads.

🎯 Lead Quality: 100% budget on Plumber category (14/14 services), the highest-margin, highest-volume category. 24/7 availability captures Emergency Eric after-hours leads with less competition.

⭐ LSA Score: Tighter area = faster response = higher ranking. Fewer unserviceable leads = higher booking rate = higher ranking. 7 AM response rule protects responsiveness score.

📈💰

Lead Source ROI Report: Every Dollar, Every Source

90-Day ServiceTitan data | 644 jobs, $710K revenue, 13 sources
LIVE DATA
💡 KEY QUOTE from Stephanie & Kalen: "We are not interested in activity-based reporting. We are interested in revenue-tied performance." This report answers that with real ServiceTitan numbers.

💰 The ROAS Table: 90-Day ServiceTitan Data

SourceJobsRevenue90d CostCost/JobROASVerdict
⭐ Google LSA124$175,809$10,581$8516.6x🚀 GROW
✅ Service Direct79$112,047$24,320$2934.6x✅ KEEP
🌐 Google Organic68$78,903$0$0Free🚀 GROW
🔄 Existing Customer95$293,075$0$0Free✅ KEEP
🟡 Service Local Pro25$25,567$19,500$7801.3x👀 WATCH
🔴 Networx8$20,494$12,999$1,6251.6x✂ CUT
🔴 Voolt3$3,975$9,750$3,2500.4x✂ CUT
🟠 Goodzer0$0$13,0000.0x⏰ 30-DAY TRIAL

💰 Budget Reallocation Plan

SourceCurrent/MoNew/MoChange
⭐ Google LSA$3,527$7,000+$3,473
🎯 Google Ads Search (NEW)$0$3,000+$3,000
✅ Service Direct$8,667$8,667No change
🟡 Service Local Pro$6,500$6,500Under review
🟠 Goodzer$4,333$4,33330-day trial
🔴 Voolt$3,250$0-$3,250 ✂
🔴 Networx$4,333$0-$4,333 ✂
TOTAL$30,610$29,500-$1,110/mo savings

If Goodzer fails trial: savings jump to $5,443/mo. If SLP also cut: total savings $11,943/mo.

🚨 Service Direct Deep Dive: Fixing the Waste

791 leads analyzed. 602 were BSP leads. 55% of billable cost ($27,935) goes to leads that never book:

  • 78 missed calls = $11,105 wasted. SD billed for leads BSP never answered.
  • 105 "Couldn't Service" = $14,890 wasted. SD sends HVAC, backflow, out-of-area leads.

Fix: (1) Enable SD "business hours only" filter or set overflow routing. (2) Remove non-plumbing categories in SD dashboard. (3) Tighten zip codes. (4) Email SD rep about campaign filters.

👉 Click-by-Click Action Steps

① Cancel Voolt + Networx
Send cancellation emails to both vendors
Voolt: "Please cancel. 3 jobs in 90 days at $3,250/job is not sustainable." Networx: "Please cancel. 8 jobs in 90 days at $1,625/job doesn't meet our ROI threshold." Confirm no contract penalties before sending.
Stephanie ⏱ 15 min
② Increase LSA Budget to $7,000/mo
ads.google.com > Local Services Ads > Settings > Budget > Change to $1,615/week
LSA is pay-per-lead. Increasing budget shows your ad to more people. You only pay when someone contacts you. This is the single highest-ROI move available.
Stephanie ⏱ 5 min
③ Fix Service Direct Missed Calls
Log into SD dashboard > Settings > Call routing. Check if after-hours calls are routing. Enable filtering.
78 missed calls = $11,105 wasted. If after hours: enable "business hours only" filter. If during hours: ensure overflow goes to second dispatcher or voicemail-to-text with callback SLA.
Stephanie ⏱ 20 min
④ Set Up Goodzer 30-Day Trial
Email Goodzer for tracking number. Tag all calls as "Goodzer - MRKT 2" in ServiceTitan.
Review date: April 5, 2026. PASS: 5+ booked jobs AND $5,000+ revenue AND CPL under $200. FAIL: 0 booked jobs with proper tracking = cancel immediately.
Stephanie Robert ⏱ 15 min
🎯🔧

Google Ads Conversion Tracking Fix Plan

6 phases | Unlocks Smart Bidding, target CPA, offline revenue attribution
PHASE 0 DONE Robert
🚨 LSA Does NOT Use Offline Conversion Import. LSA has its own internal tracking via ServiceTitan integration. The offline conversion pipeline (Phases 1-5) only applies to Search, Display, Video, and PMax campaigns. To improve LSA: fix response time, add service categories, improve photos, grow reviews.

🏢 Account Structure

MCC ID8449092450
Active Account7269555791
Canceled5822122013 (CANCELED, ignore)
DeactivatedAW-404985988, AW-242993149 (both deactivated)
🎯 Conversion Fix Progress20%

🔴 Phase 0: Conversion Action Cleanup DONE Mar 9

Cleaned 34 conversion actions. Removed duplicates (5 "Calls from ads" variants, 2 "Clicks to call"). Fixed values from $1 to real amounts. Set primary vs secondary goals.

✅ Completed by Robert on March 9, 2026. All 6 conversion values updated. Secondary changes deferred to Evelyn call. Conversions managed at MCC level (844-909-2450).

⏱ Phase 1: Offline Conversion Pipeline NOT STARTED

Build: GCLID capture via GTM cookie + hidden form fields, matching script connecting ad clicks to ServiceTitan booked jobs, automated upload to Google Ads API.

Confirm auto-tagging is ON in Google Ads
Google Ads > Settings > Account Settings > Auto-tagging > Verify checked. Confirmed ON Mar 9
Deploy GCLID capture tag via GTM
Custom HTML tag reads gclid from URL, stores in 90-day cookie. Trigger: All Pages.
Nexus AI ⏱ 15 min
Add hidden gclid field to website forms
JavaScript reads gclid cookie, populates hidden field. Every form submission includes original ad click ID.
Nexus AI ⏱ 20 min
Build matching script (gclid > ServiceTitan job > revenue)
Python script pulls form submissions with gclid values, matches to ST booked jobs by email/phone, attaches invoice revenue.
Nexus AI ⏱ 2-3 hours
Upload matched conversions to Google Ads via API
Google Ads API uploads offline conversions with gclid, time, and revenue. Targets existing UPLOAD_CLICKS actions. Daily schedule via Guardian system.
Nexus AI ⏱ 1-2 hours

⏱ Phase 2: GTM Tag Verification + GCLID NOT STARTED

Verify GTM container GTM-M3L9374 tags fire correctly. Add remarketing tag. Publish as "Nexus v2" version.

⏱ Phase 3: Enhanced Conversions for Leads NOT STARTED

Enable Enhanced Conversions in Google Ads. Configure GTM tag with hashed email/phone. Target 60%+ match rate.

🔄 Phase 4: 3CX Phone Call Integration IN PROGRESS

Stephanie approved Enterprise 3CX upgrade Mar 6 (+$30/mo). LawnPhone (David Kite) processing. API access enables call-to-ad matching.

✅ Blocker resolved: Stephanie approved Enterprise 3CX upgrade. LawnPhone processing. API access incoming.

⏱ Phase 5: Search Campaign Relaunch AFTER TRACKING CLEAN

Create NEW campaigns (not un-pause old): BSP: Sewer Repair, BSP: Water Heater, BSP: Drain Cleaning, BSP: Emergency, BSP: Gas Line. Manual CPC first, switch to Maximize Conversions after 15 conversions, then Target CPA.

Negative keyword list: DIY, how to, jobs, salary, wholesale, parts, training, school, YouTube, reddit, amazon, home depot, lowes, rental.

📊 Expected Timeline

WhenMilestone
Week 1 ✅Conversion values corrected, auto-tagging confirmed
Week 2Offline conversion pipeline live, GCLID capture deployed
Week 3Enhanced Conversions live, form submissions traced to keywords
Week 4New Search campaigns launched with clean tracking
Month 215+ conversions, switch to Maximize Conversions bidding
Month 3Target CPA active, $75-150 CPA, full attribution, 5-8x ROAS
🔍🧰

Attribution Forensic Audit: The $248K Black Hole

Where revenue goes untracked and how to fix it
ACTIVE Robert
🚨 The Attribution Problem: $248K in revenue cannot be attributed to any marketing source. Google Ads shows $0 revenue because calls from ads aren't being tracked. ServiceTitan has the revenue data; Google Ads has the click data. They aren't connected.

🔍 Root Causes Identified

  1. No GCLID capture: Website forms don't capture the Google click ID, so form leads can't be matched to ad clicks.
  2. 3CX disconnected: Phone system has no integration with Google Ads. Phone call leads (the majority) are invisible to ad attribution.
  3. ServiceTitan campaign tagging: Dispatch tags "Google" for both organic and paid. No distinction between LSA, Search, and organic.
  4. Multiple deactivated accounts: AW-404985988 and AW-242993149 may have been running parallel campaigns, fragmenting data.
  5. Conversion action mess: 34 actions with duplicates, wrong values, removed actions still polluting. (Phase 0 FIXED this.)

🎯 The Fix: Nexus Attribution Engine

Automated script running daily at 6:00 AM CT that: (1) Scans every new ServiceTitan job, (2) Cross-references with Google Ads call/click data, (3) Auto-tags the correct lead source, (4) Uploads offline conversions to Google Ads with real revenue values.

Result: Every dollar maps to a booked job. Smart Bidding gets real data. CPL drops 30-50% within 90 days.

① Build the Attribution Engine
Deploy automated nightly scan of ServiceTitan jobs with Google Ads cross-reference
Python script pulls new ST jobs, matches by phone/email to gclid cookies and call tracking data, writes attribution back to ST and uploads conversions to Google Ads API.
Nexus AI ⏱ 4-6 hours build PENDING
② Create Lead Source Quick Reference Card
Print cheat sheet for Ashton/dispatch: how to distinguish Google organic vs paid vs LSA
Simple question: "How did you hear about us?" with matching options. "I Googled you" = organic. "I called from a Google ad" = paid. "I found you on the green checkmark listing" = LSA.
Robert ⏱ 30 min PENDING
🔎🕵

Project BRIGHT LIGHT: Change History Investigation

7,646 change events in 30 days | 7 unique users | Account 7269555791
DATA PULLED
⚠️ API Limitation: Google Ads change_event only provides last 30 days. For older history, need Evelyn's help (internal tools) or Google Ads UI Change History screenshots.

👤 Actions by User (Last 30 Days)

UserActionsCreatesUpdatesRemovesTop Resources
kalen@callbrightside.com3,8363,6541181CAMPAIGN_CRITERION (3,835)
russell.satterfield@callbrightside.com3,52712673,394CAMPAIGN_CRITERION (3,505)
robert.dove@callbrightside.com10510293CAMPAIGN_CRITERION (103)
audrey.grant@callbrightside.com10133680ASSET (101)
ashton.king@callbrightside.com474250ASSET (41)
stephanie@callbrightside.com281189CAMPAIGN_CRITERION (20)
Recommendations Auto-Apply2101AD_GROUP_CRITERION (2)

❓ Questions for Evelyn (Mar 11 Meeting)

  1. Full Change History: Pull complete history going back to account creation.
  2. User Email Attribution: Has russell.satterfield@outlook.com or any unknown email made changes?
  3. Deactivated Accounts: AW-404985988 and AW-242993149, were these under the same MCC?
  4. Canceled Account 5822122013: Who created/canceled it? Running parallel campaigns?
  5. The "3,000+" Figure: Where did this number come from? Confirm count and date range.
  6. MCC Access History: Which MCC accounts have ever linked to 7269555791?
  7. Admin Access Timeline: When was each admin added/removed?

⚡ Bulk Operations Detected

Feb 17-21 shows massive bulk activity: 1,933 actions on Feb 20 alone, with batches of 130-142 actions at single timestamps. Suggests automated tools (Google Ads Editor or API scripts). Russell Satterfield removed 3,394 items. Kalen created 3,654 items.

🎯 Conversion Actions (69 Total, Current State)

The account currently has 69 conversion actions. Many are duplicates, REMOVED, or HIDDEN. Phase 0 of the Conversion Fix Plan addressed the most critical ones. Full cleanup requires Evelyn's guidance on which to permanently delete vs archive.

🚨🛡

Lead Integrity Investigation: Project BRIGHT LIGHT

Investigating potential lead theft, mystery phone numbers, and account access anomalies
INVESTIGATING
🚨 INVESTIGATION IN PROGRESS. Multiple red flags identified across Google Ads account history, phone number routing, and lead source attribution. This investigation runs parallel to the conversion fix plan.

🔍 Investigation Tracks

🔴 Track 1: Mystery Phone Numbers

Two unidentified phone numbers (913-358-0252 and 913-358-0380) appear in account history. Origin unknown. Could be old tracking numbers, could be redirecting leads. Ask Evelyn to check if these appear in LSA or Google Ads call forwarding configuration.

HIGH PRIORITY Robert

🟡 Track 2: Russell Satterfield Activity

3,527 changes in 30 days, primarily 3,394 REMOVES of CAMPAIGN_CRITERION items. This is the second-highest activity user. Who is Russell? When was access granted? What was being removed and why?

INVESTIGATING

🔵 Track 3: Deactivated Google Ads Accounts

AW-404985988 and AW-242993149 are both deactivated. Were they running campaigns in parallel with the active account? Were leads flowing to these accounts instead of BSP? Evelyn can access internal tools to check history.

PENDING EVELYN

🔷 Track 4: Canceled Account 5822122013

A separate Google Ads account 5822122013 was CANCELED. Who created it? When? Was it running campaigns that should have been in the main account? Could it have been billing BSP?

PENDING EVELYN

🛡 Immediate Protection Actions

🔒 Action 1: Audit Admin Access
Review all users with admin access to Google Ads account 7269555791
Google Ads > Admin > Access and security. List every email. Remove any unknown/former employees. Set minimum access levels (Standard, not Admin) for non-essential users.
Robert ⏱ 10 min
🔒 Action 2: Document All Phone Numbers
Create master list of every phone number associated with BSP across all platforms
Check: 3CX, ServiceTitan, Google My Business, LSA, all lead gen vendors, website. Cross-reference 913-358-0252 and 913-358-0380 against this list.
Robert ⏱ 30 min
🎨☀️

Brand Asset Living System: Audrey's Design Intelligence Hub

Brand colors, logos, fonts, templates, photo guidelines
LIVE
🎨 Brand Consistency Drives Trust. Every ad, every landing page, every social post must look like Bright Side Plumbing. This system gives Audrey and the team a single source of truth for all brand assets. 5th-generation master plumber. 4.9 stars. 394+ reviews.

🎨 Brand Identity Quick Reference

ElementValueUsage
Business NameBright Side PlumbingFull name on all official materials
Websitecallbrightside.comAll CTAs and references
Phone(913) 963-1029Primary booking line (Ashton)
Address12022 Blue Valley Pkwy, Overland Park, KS 66213CORRECT address (not 12022 Blue Valley Pkwy)
Google Rating4.9 stars, 394+ reviewsSocial proof in all ads
Heritage5th-generation master plumberCORRECT: fifth (not fourth)
OwnerKalen Barker, President/OwnerTrust element in content

📸 Photo Guidelines for Ads

  • Before/after photos: Techs should capture on every sewer, water heater, and unusual job
  • Team photos: Uniformed techs with branded trucks for LSA and GMB
  • Equipment shots: Camera equipment, hydro jetting, trenchless tools
  • Customer testimonials: Video clips from satisfied customers (with permission)
  • Avoid: Stock photos, competitor imagery, low-resolution images

📝 Ad Copy Guidelines

  • Always lead with sewer services: "Sewer Repair Specialists" not "General Plumbing"
  • Include trust signals: "5th-Generation Master Plumber" | "4.9 Stars, 384+ Reviews"
  • Emergency language: "Same-Day Service" | "24/7 Emergency Response" | "We Come When Others Won't"
  • Revenue-focused CTAs: "Call Now for Free Estimate" | "Book Online, Save $50"
  • No em dashes: Use commas, periods, colons, semicolons instead
  • Service area: "Serving Johnson County, KC Metro, and surrounding areas"
🎧 Diagnostic Positioning Guideline (The Fresh Framework)
Source: Chris Fresh, The Plumbing Sales Coach, Ep #336 "How To Sell In Service Plumbing" (Nov 2025) | Apple Podcasts | Spotify Top 10%
Ad Copy Rules (Apply to ALL campaigns):

✅ DO:
• Every ad mentioning "camera inspection" pairs with "understand your options" language
• Use "save" instead of "spend" in description copy
• Position BSP as diagnostic advisor, not repair vendor
• Include "repair, trenchless, or replacement" as a standard phrase in descriptions
• Lead with education: "Free inspection shows the real problem"

❌ DON'T:
• Generic "Call now for sewer repair" with no diagnostic angle
• Fear-based urgency without an educational counterpoint
• Positioning as "we fix things" without "we help you decide"

❌ Before (Transactional)
"Expert Sewer Repair. Call Now."
"Don't wait, call today."
✅ After (Diagnostic)
"Free Sewer Inspection. See Your Options. You Decide."
"Early diagnosis saves thousands. Schedule your free inspection."
☀️📅

Monday Standup Playbook: Week of March 10

Where we are. Where we're going. What each person does this week.
DELIVERED
🎯 $6M = $115K/week = 23 jobs/week at $5,000 avg ticket. It's not one big thing. It's everyone doing one small thing better.

📊 Revenue Sources (6-Month ServiceTitan Data)

SourceJobsRevenueAvg Ticket
🔄 Existing Customers157$293,075$3,085
📍 Google LSA200$175,809$1,418
📢 Service Direct106$112,047$1,418
🔎 Google Organic96$78,903$1,160
📢 Service Local Pro39$25,567$1,023

💡 Existing customers average $3,085/job, the highest of any source. Every great job creates the next big-ticket referral.

🛠 Action Items by Role

🛠 Technicians: The Secret Weapon

  • Write detailed job notes after EVERY job: What did you find? What did the customer say? Even 2-3 sentences is gold. These notes become blog content, training material, and competitive intelligence.
  • Take before/after photos: Especially sewer lines, water heaters, unusual finds. Photos increase Google review conversions by 40%.
  • Look for the REAL problem: Customer calls for slow drain? Check the main line. $300 job becomes $3,000+ job.
  • Ask every happy customer for a Google review: "If you were happy with the work, would you mind leaving us a Google review?" Every 10 reviews = ~5% more calls.

💰 Math: 3 extra detailed notes/week per tech = 2 more Google leads/month = $28,800 more revenue/year PER TECH.

📞 Ashton, Dispatch: The First Impression

  • Ask every new caller: "How did you hear about us?" Then pick matching campaign in ServiceTitan. This saves $2,000+/month by cutting ads that don't work.
  • Write detailed booking notes: More detail = better tech prep = bigger tickets (+$200 avg).
  • Fill every open slot: 1 extra job/day = $6,000/week = $312K/year.
  • Follow up on missed/abandoned calls within 1 hour: 110 abandoned inbound calls in 6 months. Recovering 20% = ~22 extra jobs.

🤖 Robert: Digital Intelligence & Automation

  • Build and deploy the Attribution Engine: Automated nightly scan solving the $248K attribution black hole.
  • Launch Field Notes Intelligence Engine: Turn tech notes into content, training, competitive intel. 10x content output, zero extra work from anyone.
  • Deliver weekly intelligence reports: Automated Nexus reports: revenue by source, booking trends, content performance, competitor movements.

📈 Kalen & Stephanie: Strategy & Growth

  • Review lead source ROI weekly: Dashboard is live. Cut what's losing money (Voolt 0.4x). Double down on winners (LSA 16.6x).
  • Google Ads call tracking: Set up forwarding numbers to unlock real ROAS data.

🔮 Field Notes Intelligence Engine: The Special Sauce

Every tech's job notes become four things automatically:

OutputWithout IntelWith Intel
Blog posts/month0-1 (generic)8-12 (from real jobs)
Google organic trafficGrowing slowly2-3x within 6 months
Content creation cost$500-2,000/post$0 (AI + field notes)
Ad copy relevanceGeneric industry languageReal KC customer language
New tech trainingWeeks of shadowingStructured guides from real jobs
Competitive moatNone (anyone can copy)Impossible to replicate