Bright Side Plumbing | Onboarding Response

Responding to Your 7-Area Evaluation Framework
Prepared by Robert Dove | Dove Web Consulting | March 2026

Table of Contents

Bright Side Plumbing: Onboarding Response

Your Notes -- Bright Side Plumbing: Onboarding Response Saved

Responding to Your 7-Area Evaluation Framework

Prepared by Robert Dove | Dove Web Consulting | March 2, 2026


"We are not interested in activity-based reporting. We are interested in revenue-tied performance."
-- Stephanie & Kalen Barker

This document responds point-by-point to your evaluation framework. Every recommendation is backed by industry data with cited sources. Where your plan is already strong, I say so. Where I can improve upon it, I show exactly how -- with execution steps, timelines, and expected ROI.


CURRENT STATE vs PROPOSED APPROACH

Your Notes -- CURRENT STATE vs PROPOSED APPROACH Saved
What You're Doing NowWhat I'm Proposing
Renting leads at $200 eachBuilding owned lead generation assets that compound over time
Social posts die after 48 hoursSocial posts drive traffic to permanent blog content that Google indexes
No keyword strategyComplete keyword map with 2,000+ opportunity targets
No CRO programSystematic testing cadence with measurable revenue impact
Reporting shows activity (clicks, impressions)Reporting shows revenue per channel, per campaign, per keyword
Google Ads optimizes for calls (all calls = equal)Google Ads optimizes for revenue (a $12K sewer job outweighs a $300 drain clean)
Budget stays flat at $35K/month regardless of seasonBudget follows demand: more in peak, less in valleys, same annual total
No organic lead pipelineMonth 12: 30-50% of leads from organic at under $30/lead

SUMMARY: ALIGNMENT + IMPROVEMENTS

Your Notes -- SUMMARY: ALIGNMENT + IMPROVEMENTS Saved
Your AreaAlignment LevelRobert's Additions
1. Reporting & KPI StructureFull alignmentRevenue-per-channel attribution via ServiceTitan + GA4 integration
2. Paid Media OversightFull alignmentOffline conversion import (56% higher booking rate -- Camp Digital, 2025)
3. LSA ExpectationsFull alignment + improvementsReview velocity program + LSA ranking factor optimization post-April 2025 algorithm change
4. Attribution & Tracking IntegrityFull alignment + improvementsGCLID-to-invoice pipeline via ServiceTitan native integration
5. CRO ExpectationsFull alignment + improvementsWordPress/Oxygen Builder evaluation + multi-step form testing + speed optimization
6. 30-60-90 Day FrameworkFull alignmentEnhanced with specific deliverables, owner labels, and verification checkpoints per phase
7. Budget DisciplineFull alignmentCPL reduction roadmap from $200 to $75-90 blended, backed by channel-level projections

AREA 1: REPORTING & KPI STRUCTURE

Your Notes -- AREA 1: REPORTING & KPI STRUCTURE Saved

What You Expect

  • Weekly reporting + live dashboard
  • Metrics: traffic, leads, revenue, CRO metrics
  • Revenue-tied performance, not activity-based

How My Plan Aligns

Full alignment. Every metric I track ties to revenue. No vanity metrics.

Tommy Mello's philosophy at A1 Garage Door: "If you can't measure it, you can't manage it." That's the same principle driving this reporting structure. Every KPI connects to revenue. Every dashboard tab answers a business question. Every weekly report is a decision tool, not a status update. I know Kalen works with Tommy's framework -- this reporting system is built to speak that language.

What I Add Beyond Your Framework

1.1 Three-Layer Reporting System

Layer 1: Weekly Pulse (Every Monday by 10 AM)

  • Total leads by channel (LSA, Google Ads, Organic, GBP, Direct)
  • Cost per lead by channel
  • Booking rate by channel
  • Revenue booked (ServiceTitan data)
  • Top 3 wins + top 3 concerns
  • Format: 1-page email summary + link to live dashboard

Layer 2: Monthly Deep Dive (First week of each month)

  • Full channel performance with month-over-month trends
  • CPL trend by channel (are we getting cheaper or more expensive?)
  • Revenue attribution: which keywords/campaigns/pages generated actual closed jobs
  • CRO experiment results (what we tested, what won, what we learned)
  • Budget efficiency: spend vs revenue by channel
  • Competitive movement: any ranking changes from competitors
  • Format: 15-20 minute video walkthrough + written report

Layer 3: Quarterly Strategy Review (Every 90 days)

  • Full performance against KPI targets
  • ROI by channel over the quarter
  • Strategy adjustments for next quarter
  • Budget reallocation recommendations with data justification
  • Format: In-person meeting with Kalen, Stephanie, and Russ

1.2 Live Dashboard Specification

Tool: Looker Studio (free, connects directly to GA4 + Google Ads + Search Console)

Dashboard Sections:

SectionMetricsData SourceUpdate Frequency
Revenue OverviewMonthly revenue, jobs completed, avg ticketServiceTitanDaily
Lead PipelineLeads by channel, booking rate, cost per booked jobGA4 + ServiceTitanDaily
Google AdsSpend, CPL, ROAS, top keywords, Quality ScoreGoogle AdsDaily
LSALeads, CPL, booking rate, disputes, review scoreLSA DashboardDaily
Organic/SEORankings, organic traffic, organic leads, blog performanceSearch Console + GA4Weekly
CROConversion rate by page, form completions, phone calls, chatGA4 + ClarityWeekly
ReviewsTotal reviews, avg rating, review velocity, response rateGBP + ServiceTitanWeekly
Industry context: Companies using revenue-attributed dashboards (vs activity dashboards) see 23% better marketing ROI because budget decisions are based on what actually generates revenue, not what generates clicks.
-- Boston Consulting Group / Google, 2025

1.3 Microsteps: Dashboard Build

StepActionOwnerTime
1Create Looker Studio account at lookerstudio.google.comRobert5 min
2Connect GA4 data source: click "Add data" > select "Google Analytics" > select Bright Side propertyRobert10 min
3Connect Google Ads: click "Add data" > select "Google Ads" > authorize accountRobert10 min
4Connect Search Console: click "Add data" > select "Search Console" > select callbrightside.comRobert10 min
5Build Revenue Overview page: add scorecards for monthly revenue, jobs, avg ticket. Add time series chart for 12-month revenue trendRobert45 min
6Build Lead Pipeline page: add table with columns (Channel, Leads, CPL, Booking Rate, Revenue). Add pie chart for lead distributionRobert45 min
7Build remaining 5 sections following same patternRobert2 hrs
8Share dashboard with Kalen, Stephanie, Russ: click "Share" > enter emails > set to "Viewer"Robert5 min
9Schedule weekly email: File > Schedule email delivery > set Monday 9 AM > add recipientsRobert5 min
Total~4 hours

Verification: Open dashboard on phone/tablet to confirm mobile responsiveness. Ask Kalen to confirm he can access it and that the data makes sense.

1.4 Five-Tab Dashboard Architecture

The dashboard isn't a single page of numbers. It's structured into 5 purpose-built tabs so each stakeholder finds what they need without digging:

Tab 1: EXECUTIVE SUMMARY +-----------------------------------------------------------+ | Blended CAC | ROAS | Revenue by Channel | | Total Leads | Total Booked Jobs | Close Rate | +-----------------------------------------------------------+ Tab 2: PAID PERFORMANCE +-----------------------------------------------------------+ | Spend/Channel | CPL/Channel | Cost per Booked Job | | ROAS | Waste Flags | Budget Pacing | +-----------------------------------------------------------+ Tab 3: ORGANIC PERFORMANCE +-----------------------------------------------------------+ | Sessions | Impressions | CTR | Keyword Movement | | Indexed Pages | GBP Metrics | Local Pack Position | +-----------------------------------------------------------+ Tab 4: CRO & CONVERSION +-----------------------------------------------------------+ | Site CVR | Page-Level CVR | Form Completion Rate | | Call-to-Booking Rate | Bounce Rate | Avg. Time | +-----------------------------------------------------------+ Tab 5: WEEKLY DIGEST (Automated Email) +-----------------------------------------------------------+ | 5 Key Numbers | Trend Arrows | 3 Action Items | | Delivered Every Monday by 10 AM | +-----------------------------------------------------------+

Why 5 tabs matter: Kalen needs Tab 1 (30-second revenue check). Stephanie needs Tab 2 (is the money being spent wisely?). Russ needs Tabs 3-4 (what's working, what needs fixing). Tab 5 is the autopilot: even if nobody opens the dashboard, the 5 critical numbers show up in email every Monday.

1.5 The "5 Numbers" Monthly Report

Stephanie said: "We are not interested in activity-based reporting. We are interested in revenue-tied performance." Here are the 5 numbers that answer "is this working, yes or no?" in 30 seconds:

#MetricWhy It Matters
1Organic leads this monthThe raw count -- are we growing?
2Cost per organic leadYour investment / organic leads = is SEO cheaper than ads?
3Blended CPL (all channels)Total spend / total leads = overall efficiency
4Organic share of total leadsWhat % of leads come from organic? This should climb every month
5Revenue attributed to organicTie leads to closed jobs via ServiceTitan. This is the money number

If those 5 numbers aren't trending the right direction by month 5, something is wrong and we fix it. If they're still not moving by month 8, fire me.

1.6 Cohort Reporting

Standard reporting compares this week vs last week. Cohort reporting answers a more powerful question: which month of marketing produced the best revenue?

CohortLeads InBookedRevenueAvg TicketCPLCost/Booked Job
March 20264028$187,000$6,679$89$127
April 20265231$142,000$4,581$74$124
May 20263824$204,000$8,500$96$152

May had fewer leads but higher revenue per lead -- because more sewer line jobs came in. That changes budget allocation decisions. Cohort reporting reveals whether we should optimize for VOLUME or for TICKET SIZE. This is not a standard reporting feature. It requires joining ServiceTitan revenue data back to the marketing source by lead cohort. I've built this before.

1.7 Weekly Loom Video Walkthrough

Every Monday alongside the email, I record a 5-minute Loom video walking through the dashboard: what changed, why, and what we're doing about it. Takes the same time as writing a summary, but 10x more useful because I can point at specific charts and explain the story behind the numbers. Stephanie can watch on her phone. Kalen can skip straight to the revenue section.

1.8 Speed-to-Lead as a KPI

Your framework didn't mention response time, but it's the single biggest predictor of booking rate in home services.

Industry data: Lead-to-contact time over 5 minutes drops conversion by 80%. The first contractor to reach the homeowner wins 78% of the time.
-- InsideSales.com / ServiceTitan, 2025

I would add a speed-to-lead metric to the dashboard: how many minutes between lead submission and first contact. If it's over 5 minutes, we're losing money regardless of how good the ads are. ServiceTitan tracks first-response time. I'd pull this into the weekly report as a standing KPI.

1.9 Baseline KPIs (Established Day 1)

Before any optimization begins, these baseline metrics establish the "before" picture. Without baselines, you can't prove anything improved.

KPIToolWhat It Tells YouWhy Day-1 Matters
Keyword Universe SizeAhrefs / SemrushTotal keywords ranking (any position)Typical plumbing company: 200-500. Target: 2,000+ in 12 months
Rankings DistributionAhrefs / SemrushKeywords in positions 1-3, 4-10, 11-20, 21-50, 50+Shows quick wins (positions 11-20 = push to page 1)
Domain Authority / RatingMoz DA / Ahrefs DRSite authority score (0-100)Higher = ranks faster. Baseline for backlink strategy
Organic TrafficSearch Console + GA4Monthly sessions from organic searchBaseline for growth tracking
Indexed PagesSearch Console > PagesHow many pages Google indexesMore quality pages = more ranking opportunities
Core Web VitalsPageSpeed InsightsLCP, INP, CLS scoresPage speed directly impacts rankings AND conversions
GBP MetricsGBP InsightsProfile views, searches, calls, direction requestsLocal visibility baseline

Every metric gets documented on Day 1 and compared monthly. By Day 90, you see the exact delta on every number.

1.10 Automated Reporting Pipeline

Most agencies manually copy data into spreadsheets every Monday. I build automated pipelines using the Google Ads API, GA4 Data API, and Search Console API that pull data programmatically, process it, and generate the weekly report. Zero manual data entry. Zero human error. The Monday report arrives whether I'm at my desk or not.

This also enables automated competitive intelligence: using Semrush's API, I set up competitor tracking that flags ranking changes, new competitor content, and estimated spend shifts -- all surfaced automatically in the Monday report. No manual competitor research needed.

Proof I've done this: At Bathroom Bidders, I built a 10-report automated GA4 data pull via the Data API. At the optical client, I tracked 1.56M impressions and 2.2K local actions programmatically. This level of automation is what separates a marketer from an operator.

AREA 2: PAID MEDIA OVERSIGHT

Your Notes -- AREA 2: PAID MEDIA OVERSIGHT Saved

What You Expect

  • Exact spend/CPL/ROAS per channel
  • 14-day Google Ads audit (structure, brand vs non-brand, geo, negatives, search terms, PMax, Quality Score)

How My Plan Aligns

Full alignment. The 14-day audit is already in my Growth Strategy as the first deliverable.

What I Add Beyond Your Framework

2.1 The 14-Day Google Ads Audit -- Detailed Scope

The audit will answer 7 specific questions:

QuestionHow I Answer ItWhy It Matters
Are we separating brand from non-brand?Campaign structure reviewBrand clicks cost $1-3, non-brand cost $8-15. Blending them hides true CPL. (Source: WordStream, 2025 -- plumbing avg CPC $10.49)
Are we targeting the right geos?Geo performance report by zip codeBright Side's site shows 15 service area cities. Are ads spending in all 15 or leaking outside?
Are negative keywords blocking waste?Search Terms report, last 90 daysIndustry benchmark: 15-25% of plumbing ad spend goes to irrelevant searches without proper negatives (WordStream, 2025)
What is our Quality Score?Keyword-level QS analysisEvery 1-point QS increase = ~13% CPC reduction. QS 10 = 50% CPC discount vs QS 5 baseline. (Source: LeadGen Economy / (un)Common Logic, 2025)
Is PMax cannibalizing Search?Campaign overlap analysisPMax can steal branded conversions from cheaper Search campaigns, inflating PMax ROAS artificially
Are we using offline conversions?Conversion tracking auditWithout offline conversions, Google optimizes for form fills and calls -- not for $12K sewer jobs vs $300 drain cleans
What is true ROAS by campaign?ServiceTitan revenue matched to campaignThe only metric that matters: dollars in vs dollars out

2.2 PMax Health Check (3 Conditions)

PMax is powerful but opaque. It works well ONLY when three conditions are met simultaneously. If any are weak, PMax burns money quietly because you can't see which placements are working.

PMAX HEALTH CHECK ===================== Condition 1: CONVERSION SIGNALS +----------------------------------+ | Are conversion actions measuring | | REAL outcomes (booked jobs, | | revenue) or proxy metrics | | (page views, button clicks)? | +----------------------------------+ | | If proxy --> Fix signals before evaluating PMax v Condition 2: CREATIVE ASSETS +----------------------------------+ | Are asset groups organized by | | service type with relevant | | headlines, descriptions, and | | images for each? | +----------------------------------+ | | If generic --> Rebuild asset groups by service v Condition 3: CONVERSION VOLUME +----------------------------------+ | Does the campaign generate 30+ | | conversions per month to give | | the algorithm enough data? | +----------------------------------+ | | If under 30 --> Shift to manual Search for control v All 3 met --> PMax is viable. Optimize within it.

I would evaluate Bright Side's PMax asset groups against Google's best practices, check whether conversion signals are revenue-weighted (not just calls), and determine if audience signals are constraining targeting or running wide open. If misaligned, I'd recommend either a structured rebuild or shifting that budget to manual Search campaigns while we fix the foundation.

2.3 Brand vs Non-Brand Separation

If brand and non-brand campaigns are running together, your CPA looks great because brand converts cheaply -- but it masks the real cost of acquiring NEW customers:

BLENDED (MISLEADING) SEPARATED (ACCURATE) ======================== ====================== All campaigns: $45 CPA Brand: $12 CPA Non-brand: $78 CPA Decision: "Our CPA is great" Decision: "Non-brand needs landing page optimization before we scale spend"

Separation is non-negotiable. Brand searches are customers who ALREADY know you. Non-brand searches are customers you're acquiring for the first time. Blending the two hides the true cost of growth.

2.4 Cost to Continue Analysis (Per Channel, Every Month)

Every monthly report will include a "cost to continue" analysis for each channel. This turns budget conversations into math, not gut feel:

COST TO CONTINUE ANALYSIS (EXAMPLE) ======================================== Google Ads - Search (Non-Brand) +---------------------------------------------+ | Current monthly spend: $12,000 | | Current CPL: $78 | | Current cost per booked job: $195 | | Current ROAS: 8.2x | | | | If we maintain: ~154 leads, ~62 booked jobs | | If we add $3K: ~190 leads (+23%), CPL | | may rise to $83 due to | | auction pressure | | If we cut $3K: ~115 leads (-25%), lose | | position on 12 high-intent | | keywords | +---------------------------------------------+ RECOMMENDATION: Maintain. ROAS is strong. Shift $3K from PMax instead.
Why this matters: Kalen thinks like an owner. Owners want to know: "If I keep spending this, what do I get? If I spend more, what does that buy? If I cut it, what do I lose?" This framework gives those answers with data, not opinions.

2.5 Automated Waste Detection (7 API Flags)

Most agencies review ad performance manually, once a week or once a month. I build automated scripts that pull data via the Google Ads API and flag waste patterns in real time:

FlagWhat It Catches
1Search terms with spend > $50 and zero conversions
2Keywords with Quality Score below 5
3Campaigns with >20% impression share lost to budget
4Ad groups with CTR below 2%
5Landing pages with bounce rate above 70%
6Geo locations with spend but no conversions
7Hour-of-day segments with high spend, low conversion

Output: prioritized waste report with dollar amounts and recommended actions for each flag. Full audit data in hours, not days.

Proof I've done this: At Bathroom Bidders, I built the entire GA4 + GTM infrastructure via API: 15 custom dimensions, 30+ events, GTM v8 with 24 tags and 30 triggers -- all programmatically deployed. At A.D. Banker/CareerCertified, I audited 5,700 URLs across 19 subdomains and moved non-brand organic revenue from under 30% to approximately 50% in 90 days.

2.6 Additional Audit Items (Beyond Your Checklist)

Your 14-day audit framework is strong. I would add 4 items most audits miss:

Audit AreaWhy It Matters
Landing page qualityAd-to-page message match, load speed, mobile UX, conversion path clarity. Mismatches inflate CPC by 30-50%.
Impression shareBudget-lost vs rank-lost. Determines whether underperformance is a spending problem or a quality problem.
Competitor ad intelligenceWhat competitors bid on, their ad copy, where they outbid you. Informs negative keywords and content gaps.
Conversion lagPlumbing has a 24-72 hour lag (click today, call tomorrow). If attribution window is 1 day, conversions are undercounted.

2.7 Offline Conversion Import -- The Biggest Opportunity

Current state: Google Ads optimizes for "leads" (calls + form fills). It cannot distinguish between a $300 drain cleaning lead and a $12,000 sewer repair lead. Both count as "1 conversion."

With offline conversions: Google receives actual revenue data from ServiceTitan. Now it knows: "This keyword, at this time, from this zip code, led to a $8,200 closed job." It then optimizes bidding to find MORE patterns like that.

Industry proof:
- 56% higher booking rate and 69% higher ROAS after implementing offline conversion import with Smart Bidding (plumbing + electrical case study, $56K PMax spend)
-- Camp Digital, 2025
- 51% increase in profits and 23% lower CPA using offline conversions + tROAS bidding
-- GetNinjas / Google case study, 2025
- 20% incremental revenue and 30% cost efficiency when integrating offline customer data
-- Boston Consulting Group / Google, 2025
- Minimum threshold: ~15 conversions/month before Smart Bidding meaningfully improves
-- Optmyzr, 2025

Bright Side qualifies: At ~175 leads/month with 80% booking rate, that is ~140 completed jobs/month -- well above the 15-conversion minimum.

2.8 Microsteps: Offline Conversion Setup

StepActionOwnerTime
1Verify auto-tagging is ON: Google Ads > Settings > Account Settings > Auto-tagging: confirm "Tag the URL" is checkedRobert5 min
2In ServiceTitan: navigate to Settings > Marketing > Integrations > find Google AdsRobert + Kalen15 min
3Click "Connect" > authorize Google Ads account > select the correct Ads account IDRobert10 min
4Map conversion actions: Lead Created = Lead, Job Booked = Booking, Job Completed = Purchase (with invoice amount), Invoice Paid = Revenue (with payment amount)Robert20 min
5Set conversion window to 30 days (plumbing typically 1-7 day lag between click and job completion)Robert5 min
6Wait 7 days for data to start flowing--7 days
7Verify: Google Ads > Conversions > check for offline conversion data. Compare revenue values against ServiceTitan invoices for same periodRobert30 min
8After 30 days of data: switch from Manual CPC to Target ROAS bidding on top campaignsRobert30 min
Total active time~2 hours

Verification: After Step 7, pull 5 random completed jobs from ServiceTitan. Find their GCLIDs. Confirm those same GCLIDs show revenue values in Google Ads conversion report. If 4/5 match, the pipeline is working.

2.9 CPL Reduction Roadmap

Current: $200 blended CPL

Target: $75-90 blended CPL within 12 months

ChannelCurrent CPL6-Mo Target12-Mo TargetHow
Google Ads$180-220$120-140$100-120QS optimization + offline conversions + negative keyword cleanup
LSA$80-120$55-70$50-65Review velocity + ranking factor optimization
Organic/SEON/A (minimal)$40-50$25-35Content engine + technical SEO fixes
GBPN/A (not tracked)$15-25$10-20GBP post optimization + Reserve with Google
Blended$200$120-140$75-90Channel diversification + optimization
Industry benchmark: Plumbing Google Ads average CPL is $129.02 (WordStream, 2025). Bright Side's current $200 CPL is 55% above the industry average -- meaning significant room for optimization exists before hitting diminishing returns.

AREA 3: LSA EXPECTATIONS

Your Notes -- AREA 3: LSA EXPECTATIONS Saved

What You Expect

  • Weekly lead quality review
  • Booking rate tracking
  • Cost per booked job
  • Dispute management
  • Ranking factor optimization

How My Plan Aligns

Full alignment on all 5 points, plus 3 improvements.

What I Add Beyond Your Framework

3.1 LSA Ranking Factor Optimization (Post-April 2025 Algorithm Change)

Critical update: In April 2025, Google removed proximity as a primary LSA ranking factor. Responsiveness and lead quality now carry heavier weight.
-- LocalView / eSEO Space, October 2025

This changes the strategy. Previously, being close to the searcher helped. Now, being responsive and getting good reviews matters more than geography. This is GOOD for Bright Side -- it means you can compete for leads across the entire KC metro, not just Overland Park.

The 6 ranking factors that matter now:

FactorBright Side StatusAction NeededImpact
Review rating4.9 stars -- EXCELLENTMaintain above 4.8HIGH
Review count384+ reviewsAccelerate to 500+ in 6 monthsHIGH
Review recencyUnknown (need to check)8-15 new reviews/month minimumHIGH
ResponsivenessUnknown (need to measure)Answer/respond to every lead within 5 minHIGH
Business hoursMon-Fri 7am-6pm, Sat 9am-4pmConsider extending or adding emergency hoursMEDIUM
Profile completenessPartially complete (need audit)Fill every field, add photos monthlyMEDIUM
Dispute rateUnknownHealthy dispute rate signals quality standards to GoogleLOW-MEDIUM
Industry proof: A new company with 5 recent reviews can outrank a 20-year-old business with 50 old reviews in LSA. Review recency outranks review count.
-- Boomcycle Digital Marketing, 2026
Industry proof: LSA leads convert to customers at 31% vs 12% for traditional PPC -- nearly 3x the conversion rate.
-- Home Service Direct, 2025

3.2 Review Acceleration Program

Current velocity: Unknown (need to calculate from GBP data)

Target velocity: 15+ reviews/month (180+/year)

12-month target: 500+ total reviews

The system:

MethodExpected Reviews/MonthOwner
ServiceTitan automated SMS after job completion8-12Robert (setup) / Auto
Technician QR code cards (handed at job site)4-6Techs
Follow-up email (24hrs after job if no review received)2-4Robert (setup) / Auto
Total14-22/month
Industry proof: SMS review requests get 38% response rate vs 27% for email -- always lead with SMS.
-- Birdeye, 2025
Industry proof: 88% of consumers would use a business that replies to ALL reviews vs only 47% for a business that doesn't respond at all.
-- BrightLocal Local Consumer Review Survey, 2026
Industry proof: Businesses responding to more than 30% of reviews see 80% revenue growth; personalized responses drive 49% increase in repeat customers.
-- BrightLocal, 2025

3.3 Microsteps: Review Acceleration Setup

StepActionOwnerTime
1In ServiceTitan: Settings > Customer Notifications > find "Review Request" templateRobert + Kalen15 min
2Customize SMS template: "Hi [First Name], thank you for choosing Bright Side! If [Tech Name] did a great job, we'd really appreciate a quick Google review: [review link]. It helps other KC homeowners find reliable plumbing. -- Kalen"Robert15 min
3Set trigger: Send 2 hours after "Job Completed" statusRobert10 min
4Set follow-up: If no review after 24 hours, send email version with same linkRobert10 min
5Create QR code linking to Google review page: search "Google review link generator" > enter Place ID > generate QR codeRobert15 min
6Order QR code cards from Vistaprint or Canva Print (business card size, Bright Side branding, text: "Loved your service? Scan to leave a review!")Robert30 min
7Distribute 20 cards per technician. Brief techs: "After every job, hand one card and say: 'If you were happy with the work, a quick Google review really helps us out.'"Kalen (crew briefing)15 min
8Set up Google Alert for "Bright Side Plumbing" to catch new reviews as they postRobert5 min
9Create review response templates (3 versions for 5-star, 1 for 4-star, 1 for negative)Robert30 min
10Respond to ALL existing unresponded reviews within first weekRobert1-2 hrs
Total~3-4 hours setup + 1-2 hrs response backlog

Verification: After 2 weeks, check GBP Insights > Reviews. Target: 7+ new reviews in first 2 weeks. If below 5, troubleshoot SMS delivery and check tech card distribution.

3.4 Three-Level LSA Tracking Framework

Most companies track one number: CPL. I track three levels that tell a complete story:

LevelMetricCadenceAction Trigger
Lead Quality% of LSA leads that are qualified (not spam, wrong area, wrong service)WeeklyDispute unqualified leads for credit
Booking Rate% of qualified leads that convert to booked jobsWeeklyFlag if below 40% -- diagnose booking friction immediately
Revenue per LSA DollarRevenue from LSA-booked jobs / LSA spendMonthlyCompare to Google Ads revenue per dollar; reallocate if needed

The 40% booking rate threshold is critical. Below 40% means something is broken in the handoff between lead and booking -- either response time, phone scripts, or lead quality. Above 60% means the system is working and you can scale spend.

3.5 GBP as LSA Feeder

Since November 2024, Google Business Profile and LSA are explicitly linked. An inactive GBP directly hurts LSA ranking. This means GBP optimization is not a "nice to have" -- it's an LSA ranking lever.

Weekly GBP maintenance:

  • Post completed jobs (before/after photos from technicians)
  • Share seasonal plumbing tips
  • Answer every Q&A within 24 hours
  • Add 2-4 new photos monthly
  • Respond to every review (this is now a ranking signal, not just customer service)
  • Fix the NAP inconsistency (schema vs footer address) -- this hurts both GBP and LSA simultaneously
Why this matters: Google's algorithm now treats GBP activity as a trust signal for LSA ranking. A plumber with 5 GBP posts per month, fresh photos, and 24-hour review responses will outrank a plumber who set up GBP once and forgot about it -- even if the second plumber has more total reviews.

3.6 18 LSA Optimization Tactics

Beyond ranking factors, there are 18 specific tactics to increase LSA call volume. Here are the highest-impact ones not covered above:

Service Category Expansion (3-Tier Priority):

PriorityServicesWhy
Tier 1 (highest revenue)Sewer line repair, Sewage system installation$3,000-$15,000+ per job. High-intent, emergency-driven. Should get largest share of LSA budget.
Tier 2 (supporting)Water heater repair/install, Drain cleaning, Leak detection, Pipe replacement, Gas lineMid-ticket, consistent demand
Tier 3 (full coverage)Faucet, Garbage disposal, Bathroom remodeling, Toilet, Water filtration, Sump pump, BackflowEach additional category = more keyword matches = more impressions

Each additional LSA service category creates more keyword matches. But budget weight should follow revenue weight. A $12,000 sewer job is worth 40x a $300 drain clean. Google's algorithm needs to know that through offline conversion data.

Reserve with Google (ServiceTitan Instant Booking):

  • ServiceTitan sends real-time technician availability to Google
  • Customers book directly from the LSA listing without calling
  • Bookings auto-populate in ServiceTitan
  • Eliminates phone scheduling friction
  • Competitive differentiator: most plumbers don't have this enabled
  • Setup: ServiceTitan location must show "Matched" status with Google

Bidding Strategy Sequence:

PhaseTimingStrategyWhy
1Weeks 1-4Maximize LeadsLet Google's algorithm gather data on what converts
2After 4 weeksAnalyze conversion rates by job typeIdentify which services LSA is actually generating revenue for
3After analysisSwitch to Target CPASet targets based on real data, not guesses
4OngoingMinimum budget: 10 leads/weekBelow this threshold, the algorithm can't optimize effectively
Google confirms: businesses using Maximize Leads with equivalent quality get more leads than those starting with manual bidding.

Lead Rating Discipline:

  • Google removed manual disputes in mid-2024 and replaced with an automated credit system
  • Rate EVERY lead through the "Rate this lead" button within 30 days
  • For bad leads: select "Somewhat dissatisfied" or "Very dissatisfied" with detailed reasons
  • Automated system reviews within 72 hours, credits within 30 days
  • Consistent rating trains Google's algorithm to send better-matched leads
  • Most plumbing companies leave 15-20% of disputed credits on the table because nobody reviews the leads

Category-Level Pausing:

  • Review LSA lead quality by service category weekly
  • Identify categories generating low-quality leads (wrong service type, tire-kickers)
  • Pause underperforming categories temporarily and reallocate that budget to high-converting categories (sewer, water heater)
  • This is a lever most plumbing companies never touch -- they run all categories at equal weight

Multi-Location Strategy:

  • If Bright Side has or plans multiple locations, each gets its own LSA profile
  • Each location ranks based on proximity to the searcher
  • More locations = broader coverage = more calls across the metro
  • Even a satellite office or shared workspace in a different part of KC creates a new proximity advantage

Other Critical LSA Actions:

  • Verify acceptance of updated 2025 LSA terms (deadline was June 5, 2025 -- failure = ads paused)
  • Google retired the dedicated LSA mobile app in January 2025 -- all management now through web dashboard or ServiceTitan
  • Enable ALL contact methods (call, message, AND direct booking) -- homeowner preferences vary
  • Tighten service area to zip codes Bright Side actually serves (over-expansion wastes budget and hurts responsiveness)

3.8 Service-Level Revenue Tagging

I would tag every LSA lead by service type in ServiceTitan so we can see which services LSA is actually generating revenue for:

ChannelCPLAvg TicketRevenue per Marketing Dollar
LSA (drain cleaning)$55$200$3.64
Google Ads (water heater)$150$8,000$53.33

Google Ads leads are 14x more profitable per marketing dollar despite a higher CPL. That changes the budget allocation conversation entirely. Without service-level tagging, you can't make this comparison.

3.9 10 Common LSA Mistakes to Avoid

#MistakeWhy It Hurts
1Incomplete profileEvery empty field costs ranking
2Stale reviews384 reviews means nothing if the last one is 3 months old
3Set-and-forget budgetSeasonal adjustment is mandatory
4Slow call response#1 killer -- 95%+ live answer rate or ranking drops for 90 days
5Not rating leadsAutomated credit system only works if you rate every lead
6Not using instant bookingServiceTitan Reserve with Google is a differentiator most plumbers skip
7Over-broad service areaOut-of-area leads waste budget and hurt responsiveness
8No offline conversion trackingWithout it, Google optimizes for clicks, not revenue. At $35K/month, this is negligence.
9Ignoring GBPGBP and LSA have been linked since Nov 2024. Inactive GBP = weaker LSA
10Over-reliance on LSA aloneLSA should be the biggest channel but not the only one

3.7 Weekly LSA Quality Review Process

Every Monday, I will:

  1. Pull LSA leads from past 7 days -- export from LSA dashboard
  2. Rate each lead in the LSA dashboard (Booked / Not Booked / Dispute)
  3. Flag invalid leads for dispute -- wrong service area, spam, wrong service type
  4. Calculate weekly metrics:
  • Total LSA leads
  • Cost per lead
  • Cost per BOOKED lead (the real number)
  • Booking rate from LSA leads specifically
  1. Report in weekly pulse email with trend line
Industry context: Plumbing LSA CPL ranges from $25-$75 in most markets, with competitive markets like KC reaching $60-$117. The median across 100+ clients is $69.
-- The Media Captain / Accelerate Your Marketing, 2025

3.10 Dispute Management Protocol

Lead TypeActionExpected Outcome
Wrong service area (outside 15 cities)Dispute within 24 hoursFull refund
Spam/robocallDispute with recording evidenceFull refund
Customer looking for different serviceDispute with explanationCase-by-case
Customer called but never answeredDO NOT dispute -- this is a responsiveness issueFix response time instead

AREA 4: ATTRIBUTION & TRACKING INTEGRITY

Your Notes -- AREA 4: ATTRIBUTION & TRACKING INTEGRITY Saved

What You Expect

  • Call tracking verified
  • GCLID capture working
  • Offline conversion import functional
  • CRM revenue data connected

How My Plan Aligns

Full alignment. This is the technical foundation everything else depends on.

What I Add Beyond Your Framework

4.1 The Attribution Chain (End-to-End)

Customer clicks Google Ad | v GCLID auto-assigned by Google (unique click ID) | v Customer lands on callbrightside.com GCLID stored in browser cookie + hidden form field | v Customer calls (913) 963-1029 OR submits form |---> Call: Call tracking captures GCLID from session |---> Form: Hidden field sends GCLID with submission | v Lead created in ServiceTitan GCLID stored in marketing source field Service type tagged (sewer, water heater, drain, etc.) | v Technician dispatched, job completed Invoice created: $X,XXX revenue recorded | v ServiceTitan sends to Google Ads: GCLID + revenue amount + conversion type | v Google Ads algorithm learns: "This keyword + this zip code + this time = $8,200 closed job" | v Future bids optimized: More budget toward high-revenue patterns Less budget toward low-value patterns

4.2 Verification Checklist (Day 1-3)

CheckHow to VerifyExpected ResultIf It Fails
Auto-tagging ONGoogle Ads > Settings > Account Settings > Auto-tagging"Tag the URL that people click through from my ad" = checkedTurn it on. Without this, no GCLIDs are generated.
GCLID on landing pagesClick a Bright Side ad > check URL for ?gclid= parameterURL contains gclid= with a long alphanumeric stringCheck auto-tagging. Check for URL redirect stripping parameters.
GCLID in form submissionsSubmit test form on callbrightside.com > check form data in HubSpot/ServiceTitanGCLID value appears in lead recordAdd hidden gclid field to all forms. JavaScript: capture gclid from URL and populate hidden field.
Call tracking activeCall the tracking number from an ad > check ServiceTitan for lead recordLead record shows the call with marketing source attributionSet up call tracking numbers (CallRail or ServiceTitan native)
ServiceTitan > Google Ads connectionServiceTitan > Settings > Marketing > Google Ads integrationStatus: "Connected" with recent sync timestampRe-authorize the connection. Contact ServiceTitan support if needed.
Offline conversions flowingGoogle Ads > Conversions > filter by conversion source = "Import"At least 1 offline conversion in last 7 days (after setup)Check ServiceTitan sync settings. Verify conversion action mapping.
GBP calls not double-countedCompare GBP call log vs website call log for same time periodNo duplicate call records across tracking sourcesSeparate GBP tracking number from website DNI pool. Overlap inflates lead count and deflates CPL.

4.3 Call Duration Thresholds

Most plumbing companies track "calls" as conversions. But a 12-second call where someone hangs up is not a lead. I would set up call duration thresholds: only calls over 60 seconds count as conversions.

CALL DURATION IMPACT ON REPORTED CPA ========================================= Without threshold (all calls = conversion): 100 "conversions" on $5,000 spend = $50 CPA With 60-second threshold: 68 real conversations on $5,000 spend = $73 CPA The $50 CPA was a lie. The $73 CPA is real. Now optimization decisions are based on truth.
Impact: This alone changes reported CPA by 20-30%. It also means Google Ads optimization is based on REAL conversations, not phantom conversions. Every budget decision after this is more accurate.

4.4 Call Tracking Architecture

Current state: Need to audit whether Bright Side is using ServiceTitan's native call tracking, CallRail, or another solution.

Recommended setup:

ChannelTracking MethodWhat It Captures
Google AdsDynamic Number Insertion (DNI) via ServiceTitan or CallRailGCLID, keyword, campaign, landing page
LSALSA-assigned number (Google controls this)LSA lead ID, service type
GBPDedicated tracking number on GBP listingGBP click source
Website (organic)Pool of tracking numbers via DNISession source, landing page
Direct/offlineMain business number (913) 963-1029No digital attribution (that's ok)
Industry proof: 83% of homeowners still prefer to call when they need a contractor -- phone over digital.
-- HomeAdvisor, cited 2025
Industry proof: Phone calls convert 10-12x better than web form leads for home services.
-- OneWebCare / Cube Creative, 2025
Industry proof: The average plumbing business misses 28% of incoming calls. 85% of customers who reach voicemail hang up and call the next plumber.
-- AgentZap / Suzee AI, 2025-2026

4.5 Day-by-Day Attribution Audit Schedule (Week 1)

DayAudit StepMethodOwner
1Verify GA4 fires on all pagesGTM debug mode, real-time reportsRobert
1Verify conversion actions measure real outcomesReview each action in Google Ads; remove proxy metricsRobert
2Test call tracking number swap by sourceVisit site from organic, paid, direct; verify correct number displaysRobert
2Verify GCLID passthrough to CRMClick a test ad; confirm GCLID appears in ServiceTitan recordRobert
3Set call duration thresholdsOnly calls over 60 seconds count as conversionsRobert
3Test form submission tracking chainSubmit test form; follow from GA4 event to CRM recordRobert
4Verify GBP calls tracked separatelyConfirm GBP calls are NOT double-counted with website callsRobert
4Verify auto-tagging is ONGoogle Ads > Settings > Account Settings > Auto-taggingRobert
5Document all conversion actionsSpreadsheet: action name, what it measures, real outcome or proxyRobert
5Deliver Attribution Health Check1-page green/yellow/red report shared with teamRobert

Deliverable: Attribution Health Check with green/yellow/red status for each verification point. Green on all checks = attribution is solid. Yellow/red = specific remediation plan created for each gap. Shared with Kalen, Stephanie, and Russ by end of Day 5.


AREA 5: CRO EXPECTATIONS

Your Notes -- AREA 5: CRO EXPECTATIONS Saved

What You Expect

  • Heatmaps installed
  • A/B testing cadence established
  • Service page optimization
  • Booking flow optimization
  • Structured experiment reporting

How My Plan Aligns

Full alignment, plus I add a WordPress/Oxygen Builder evaluation and specific conversion benchmarks.

What I Add Beyond Your Framework

5.1 Current Conversion Baseline (From Website Audit)

Based on my audit of callbrightside.com:

What is working well:

  • Clear phone number in header: (913) 963-1029
  • Guarantee stack is visible (5 guarantees with dollar amounts)
  • $25 off offer is prominent
  • Clean, professional design
  • Mobile-responsive layout
  • Service pages exist for core services
  • 15 service area cities listed

What needs improvement (with data backing):

IssueWhy It MattersIndustry Data
No heatmap data to analyze user behaviorCan't optimize what you can't measureHeatmap-optimized pages convert 14% higher (Heatmap.com, 2025)
Single-step contact formMulti-step forms convert 86% higher than single-step forms (LeadGen Economy, 2025)Multi-step can achieve up to 300% more conversions (Venture Harbour, 2025)
Hero image loads via CSS background with JS injectionDelays LCP (Largest Contentful Paint), hurting Core Web VitalsSites loading in 1 second convert at 3.05%; at 5 seconds, only 0.6% (Portent study, 100M page views)
8+ CSS files from Oxygen BuilderRender-blocking resources increase load time53% of mobile users abandon sites taking longer than 3 seconds (Google/SOASTA)
HubSpot loads from 5 domains5 additional DNS lookups slow initial load1-second delay = 7% reduction in conversions (Aberdeen Group)
No sticky mobile CTAMobile users must scroll to find the phone numberAbove-the-fold CTAs outperform by 304% (Cube Creative Design, 2025)
Business hours inconsistencyWebsite shows Mon-Fri 7am-6pm but schema markup shows 7am-9pmConfuses Google and customers. Fix to match actual hours.
Two addresses listed12022 Blue Valley Pkwy AND 8110 Carter StNAP inconsistency hurts local SEO. Use ONE consistent address everywhere.
Generation claim inconsistencyHomepage says "Fourth generation" but About page says "fifth-generation"Inconsistency undermines trust. Pick one and make it consistent everywhere.

5.2 WordPress / Oxygen Builder Evaluation

Kalen asked: Should we keep the current site or rebuild?

My recommendation: KEEP the current site and optimize it.

Here is the data-driven analysis:

Cost Comparison

PathCostTimelineSEO RiskRevenue Impact During Transition
KEEP + Optimize$1,500-$3,0002-3 weeksZero -- no URL changes, no migrationZero downtime. Marketing continues uninterrupted.
Rebuild (new theme)$8,000-$20,0006-12 weeksHIGH -- URL changes, redirect errors, indexing delays6-12 weeks of reduced lead flow during transition
Rebuild (new platform)$15,000-$35,0003-6 monthsVERY HIGH -- complete re-indexing requiredMonths of disruption to lead pipeline

ROI Calculation

Keep + Optimize path:

  • Investment: $3,000 (high end)
  • Expected conversion rate improvement: 50-100% (from ~3% to 5-6%)
  • At 5,000 monthly visitors and $1,786 avg ticket:
  • Current: 5,000 x 3% = 150 leads x 80% booking x $1,786 = $214,320/month
  • After optimization: 5,000 x 5% = 250 leads x 80% x $1,786 = $357,200/month
  • Monthly revenue gain: $142,880
  • ROI: $142,880 / $3,000 = 4,763% in month 1 alone

Rebuild path:

  • Investment: $15,000 (mid-range)
  • Same conversion improvement (5-6%), BUT delayed by 8-12 weeks
  • Lost revenue during rebuild: ~$285,000 (2 months at current rate with reduced lead flow)
  • Net cost: $15,000 + $285,000 opportunity cost = $300,000
  • Time to positive ROI: 5+ months after launch

Oxygen Builder Specifically

FactorAssessment
PerformanceGOOD -- Oxygen outputs clean HTML/CSS (no jQuery dependency like Elementor). Lighter than most page builders.
CustomizationEXCELLENT -- full design control, custom CSS/PHP, no theme dependency
Learning curveHIGH -- but Bright Side's site is already built. No need for anyone new to learn it.
Plugin compatibilityGOOD -- works with Rank Math, HubSpot, WooCommerce, major plugins
Support/communityMODERATE -- smaller than Elementor but adequate. Active development team.
Risk if license lapsesLOW-MEDIUM -- Oxygen 4.0+ sites continue to function without active license. Only updates stop.
SEO outputGOOD -- clean semantic HTML, proper heading structure, schema-compatible

Bottom line: Oxygen Builder is a technically superior page builder that's already built and working. Rebuilding would cost 5-10x more, take 2-3 months, risk SEO disruption, and produce the same result (a WordPress site that converts visitors to leads). Every dollar spent on a rebuild is a dollar NOT spent on marketing that generates revenue.

The question isn't "Is this the best possible website?" It's "Will optimizing this website generate more revenue than rebuilding it?" The answer is unequivocally yes.

5.3 Service Page Revenue Weighting for CRO Prioritization

Not all service pages are equal. I would prioritize CRO on the pages that drive the most REVENUE per conversion, not just the highest traffic or highest conversion rate:

Service PageTraffic/MoCurrent CVRAvg TicketMonthly Revenue Potential
Water Heater4002.0%$8,000$64,000
Sewer Line2001.5%$12,000$36,000
Drain Cleaning8008.0%$200$12,800
Faucet Repair6005.0%$350$10,500

The math: Improving water heater CVR from 2% to 3% adds $32,000/month. Improving drain cleaning from 8% to 10% adds $3,200/month. Water heater gets priority. This is how you think like an owner -- optimize where the revenue impact is largest, not where the traffic is highest.

5.4 Competitor CRO Teardown (First 30 Days)

In the first 30 days, I would screenshot and analyze the top 5 plumbing competitor websites in the KC metro:

  • Their booking flow (how many steps? What fields?)
  • Their CTAs (text, placement, color, frequency)
  • Their trust signals (reviews, badges, guarantees, certifications)
  • Their form fields (how many? Which ones?)
  • Their phone number placement and visibility
  • Their mobile experience

What are they doing that Bright Side isn't? What is Bright Side doing better? This gives us a cheat sheet of proven patterns without having to test from scratch. Combined with Clarity heatmap data from Bright Side's own site, we can prioritize CRO tests based on both competitive gaps AND user behavior data.

5.5 Personalization (Month 3+ Addition)

Showing different content based on visitor type is one of the most underused CRO tactics in home services:

Example 1: Returning visitor personalization

A returning visitor who looked at "emergency plumbing" last time sees a hero banner: "Still have that plumbing emergency? Call now: (913) 963-1029" instead of the generic homepage. This catches people who were comparing plumbers and came back.

Example 2: Geo-location personalization

A visitor from Olathe sees "Bright Side Plumbing -- Serving Olathe & Johnson County" instead of a generic headline. A visitor from Shawnee sees "Serving Shawnee & Johnson County." Same page, different headline, higher relevance. This is achievable through WordPress plugins or GTM-based content swap scripts without rebuilding the site.

Industry proof: At Onspring, personalization contributed to +53% lead conversion and +83% monthly active users. The same principle applies to plumbing: relevant messaging converts better than generic messaging.

5.6 Live Chat (20-45% Conversion Lift)

Industry proof: Visitors who use live chat are 2.8x more likely to convert than those who don't. Adding chat to a home services site typically lifts overall conversion by 20-45%.
-- Drift / Intercom, 2025

Not all customers want to call. Not all customers want to fill out a form. A chat widget (even an AI-powered one like Drift or Tidio) captures leads who would otherwise bounce. For a plumbing company with emergency-driven customers searching at 11 PM on a Saturday, chat can be the difference between capturing that $12,000 sewer lead and losing it to a competitor who answers.

This is a Month 3-4 addition, not a Month 1 priority. Get the attribution and tracking right first, then layer in additional conversion paths.

5.7 CRO Testing Roadmap (First 90 Days)

WeekTestHypothesisMetricTool
1-2Install Microsoft Clarity (free heatmaps)We need baseline data before testingHeatmap data, session recordings, rage clicksClarity
3-4Add sticky mobile CTA ("Call Now" button, fixed to bottom of screen on mobile)Mobile users can't find the phone number after scrollingMobile phone call conversionsClarity + GA4
5-6Convert contact form to multi-step (Step 1: Service type, Step 2: Urgency, Step 3: Contact info)Multi-step forms convert 86% higher (LeadGen Economy, 2025)Form completion rateGA4 + form analytics
7-8A/B test homepage headline: Current vs "5th-Generation Master Plumber. Flat-Rate Pricing. Lifetime Warranty."Heritage + guarantees in headline increases trustHomepage conversion rateVWO or Optimizely
9-10Speed optimization: switch hero from CSS background to img tag, defer non-critical CSS/JS, preconnect HubSpot domainsFaster load = higher conversion (3.05% at 1s vs 0.6% at 5s)LCP, conversion ratePageSpeed Insights + GA4
11-12Add trust signals above the fold: "4.9 Stars -- 384+ Reviews -- A++ BBB -- Lifetime Warranty"Trust signals reduce bounce, increase form/call engagementBounce rate, conversion rateClarity + GA4
Industry benchmark: Average home services website conversion rate is 2-5%. Well-optimized plumbing sites reach 12-16%.
-- Plumbing Webmasters / WebFX, 2025-2026
Industry proof: A/B testing lifts conversions by an average of 18% after 6 months. CRO programs average 223% ROI.
-- Heatmap.com / Marketing LTB, 2025
Traffic limitation caveat: A/B testing only works when three conditions are met: enough traffic, a clear hypothesis, and patience to let it run. For a plumbing site, you probably don't have enough traffic on every page to run simultaneous tests across 20 pages. So I'd prioritize: test on the highest-traffic, highest-revenue service pages first. One test at a time per page. Run for at least 2-4 weeks or until statistical significance (95% confidence). This is an honest constraint, not a limitation -- it just means we test smart, not wide.

5.8 Experiment Reporting Format

Every CRO test gets a 1-page report:

TEST NAME: [e.g., "Multi-Step Contact Form"] HYPOTHESIS: [What we expected] TEST PERIOD: [Start date -- End date] SAMPLE SIZE: [Number of visitors in test] RESULT: [Winner: Control or Variant] CONVERSION LIFT: [+X% or -X%] STATISTICAL CONFIDENCE: [95%+ required to declare winner] REVENUE IMPACT: [Projected monthly revenue change] DECISION: [Roll out / Kill / Iterate] NEXT TEST: [What this result tells us to test next]

5.9 Microsteps: Heatmap Installation (Day 1)

StepActionOwnerTime
1Go to clarity.microsoft.com > click "Sign up for free" > create account with dovewebconsulting@gmail.comRobert5 min
2Create new project > name: "Bright Side Plumbing" > enter URL: callbrightside.comRobert2 min
3Copy the Clarity tracking code (JavaScript snippet)Robert1 min
4In WordPress admin: go to Oxygen > Settings > Global Settings > find "Custom CSS/JS" or use a code injection plugin (Insert Headers and Footers)Robert5 min
5Paste Clarity code into the header section > SaveRobert2 min
6Alternative: If GTM is already installed (it is -- GTM-W8DXXJLT), add Clarity as a Custom HTML tag in GTM: Tags > New > Custom HTML > paste Clarity code > Trigger: All Pages > Save > Publish new GTM versionRobert10 min
7Verify: Go to callbrightside.com > right-click > View Source > search for "clarity" > confirm the script is presentRobert2 min
8Wait 24 hours > log into Clarity > confirm sessions are recordingRobert1 min
Total~15-30 minutes

Verification: After 48 hours, log into Clarity dashboard. You should see: session recordings, heatmaps for top pages, and rage click data. If no data: check that the tracking code is on the live site (not just preview/staging).


AREA 6: 30-60-90 DAY FRAMEWORK

Your Notes -- AREA 6: 30-60-90 DAY FRAMEWORK Saved

What You Expect

  • Days 1-30: Diagnose/stabilize
  • Days 31-60: Build/deploy
  • Days 61-90: Optimize/reduce waste

How My Plan Aligns

Full alignment with your phasing. I've broken each phase into specific deliverables with owner labels and verification checkpoints.

The Diagnostic Philosophy

Before I touch anything on the site, before I write a single blog post or change a single meta tag, I build the diagnostic layer.

"You wouldn't rip out a shower wall without checking where the moisture is coming from first. Same thing here. Right now you're spending $35K/month and you know your CPL is $200, but you don't know WHERE in the process leads are leaking. Are they landing on the site and bouncing? Are they starting the form and abandoning? Are they calling and nobody's tracking it? We need to see the full picture before we can make informed decisions."

The 7-Step Diagnostic Layer:

#What We BuildWhat It RevealsTimeline
1GA4 Funnel TrackingExactly WHERE visitors drop off. Maybe 500 people hit the emergency page but only 12 submit the form. Now we know the form is the leak, not the traffic.Week 1
2Custom Event TrackingEvery meaningful action: CTA clicks, form starts, form completions, phone clicks, chat opens, scroll depth, time on pageWeek 1
3Call Tracking AttributionDynamic numbers that tie every phone call to the exact page, campaign, or keyword. For plumbing, 40-60% of leads come by phone. Without this, you're blind to HALF your leads.Week 1-2
4Heatmaps + Session RecordingsVisual maps of where visitors click, scroll, and drop off. You might think people read your whole page. Heatmaps might show they stop at 40% and never see the phone number.Week 1
5Form AnalyticsWhich form fields cause abandonment. Every field added reduces completions by 5-10%.Week 2
6Source AttributionSeparate organic vs paid vs direct vs referral leads so every channel has its own CPL. The $200 might be blended -- maybe Google Ads is $150 and Angi is $300.Week 2
7Conversion Rate by PageWhich pages convert and which are dead ends.Week 2-3

What I did for Bathroom Bidders (proof this works): Built this exact diagnostic system -- GA4 with 15 custom dimensions, full funnel tracking from first visit through form submission, automated event tracking on every CTA, and conversion attribution tied to revenue. Finding: their #1 landing page (256 sessions in 90 days) had ZERO conversion paths. No CTA, no phone number, no form link. 256 visitors hitting a dead end every quarter. They didn't know because they weren't measuring at the page level. We would have never found that without the diagnostic layer.

Enhanced 30-60-90 Plan

DAYS 1-30: DIAGNOSE & STABILIZE

Week 1: Foundation (Mar 2-7)

TaskOwnerTimeDeliverableVerification
Sign offer letter + commission agreementRobert + KalenMon meetingSigned docsDocs signed
Complete background check + drug screeningRobertASAPCleared statusResults received
Get access: Google Ads, GA4, GTM, Search Console, GBP, ServiceTitan, HubSpot, WordPress admin, LSA dashboard, MetricoolRobert + Russ2 hrsAccess log with login method for eachCan log into every platform
Run Attribution Health Check (Section 4.4)Robert2 hrs1-page green/yellow/red reportShared with team by Day 3
Install Microsoft Clarity for heatmaps (Section 5.5)Robert30 minClarity tracking liveSession recordings appearing within 48 hrs
Fix NAP inconsistency: choose ONE address, update schema + footer + GBP to matchRobert1 hrConsistent address across all propertiesSearch "Bright Side Plumbing" -- all listings show same address
Fix generation claim: confirm with Kalen (4th or 5th gen?), update all pages to matchRobert + Kalen30 minConsistent claim site-wideCtrl+F "generation" on all pages returns same number
Fix business hours mismatch: schema markup vs website display vs GBPRobert30 minHours consistent across schema, site, GBPSchema.org testing tool shows matching hours
Data hygiene audit: verify ServiceTitan marketing source fields are populated consistentlyRobert1 hrMarketing source mapping documentEvery lead source has a clean label -- no "Unknown" or blank entries

Week 2: Audit (Mar 9-14)

TaskOwnerTimeDeliverableVerification
Begin 14-day Google Ads audit (Section 2.1)Robert8 hrsAudit document (7 questions answered)Audit shared with Stephanie/Kalen by Day 14
Audit LSA profile completeness: check every field, photos, business description, service categoriesRobert2 hrsLSA completeness checklistEvery field filled, 15+ photos uploaded
Expand LSA to 15+ service categories (if currently fewer)Robert1 hrUpdated LSA category listLSA dashboard shows all relevant categories active
Run Screaming Frog site crawl on callbrightside.comRobert2 hrsPrioritized fix list ranked by revenue impactExported crawl data with issues sorted by: (1) fixes that directly increase conversions, (2) fixes that improve rankings for money keywords, (3) fixes that improve site health
Pull 90-day GA4 data: traffic, sources, top pages, conversion eventsRobert1 hrBaseline reportBaseline numbers documented for comparison
Audit existing keyword rankings (Semrush or Ahrefs)Robert2 hrsKeyword ranking baselineTop 50 keywords documented with current positions
Begin water heater URL analysis (3 URLs competing -- identify strongest)Robert1 hrRecommendation: keep/redirect/consolidateClear plan for URL consolidation

Week 3-4: Quick Wins + First Report (Mar 16-28)

TaskOwnerTimeDeliverableVerification
Fix homepage title tag + meta description (include "5th-gen master plumber" + primary keyword + city)Robert30 minUpdated title/metaView source > check title and meta description tags
Add FAQPage schema to /faqs/ pageRobert1 hrSchema markup liveRich Results Test (search.google.com/test/rich-results) shows valid FAQPage
Fix logo URL (HTTP to HTTPS if applicable)Robert15 minSecure logo URLNo mixed content warnings
Complete Google Ads audit > deliver findings + recommendations to teamRobert2 hrsAudit presentationMeeting to discuss findings
Set up review acceleration program (Section 3.3)Robert4 hrsServiceTitan automated, QR cards ordered, response templates createdFirst automated review request sent
Rate all historical LSA leads (Booked / Not Booked / Dispute)Robert2 hrsAll leads ratedLSA dashboard shows updated lead ratings
Deliver first weekly pulse reportRobert1 hrWeekly report emailSent to Kalen, Stephanie, Russ
Build Looker Studio dashboard v1 (Section 1.3)Robert4 hrsLive dashboardShared with team, data updating
Deliver 30-Day Diagnostic Report: everything found, everything fixed, what's nextRobert3 hrsComprehensive diagnosticMeeting to review + approve 31-60 plan

DAYS 31-60: BUILD & DEPLOY

TaskOwnerTimeDeliverableVerification
Enable offline conversion tracking (Section 2.3)Robert2 hrsServiceTitan > Google Ads pipeline activeOffline conversions appearing in Google Ads within 7 days
Restructure Google Ads: separate brand vs non-brand campaignsRobert4 hrsNew campaign structure liveBrand CPL < $5, non-brand CPL measurable separately
Implement water heater URL consolidation (301 redirects)Robert2 hrsSingle authoritative water heater pageOld URLs redirect properly, no 404s
Shift $5,000-7,000 from PPC to LSA budget (if audit supports it)Robert30 minUpdated budget allocationLSA daily budget increased, PPC reduced proportionally
Deploy sticky mobile CTARobert1 hr"Call Now" button fixed to bottom of mobile screenTest on 3 different phones, confirm button works and tracks in GA4
Convert contact form to multi-stepRobert3 hrsMulti-step form live on contact pageTest submission end-to-end, confirm lead reaches ServiceTitan
Launch first A/B test (homepage headline)Robert2 hrsTest running with 50/50 traffic splitVWO or Optimizely shows test active
Publish 4-6 blog posts (target long-tail keywords)Robert20 hrsPosts live with schema, internal links, CTAsPosts indexed in Google (site:callbrightside.com/blog/[slug])
Build 2 missing service area pagesRobert8 hrsPages live for underserved citiesPages ranking in Search Console within 2-4 weeks
Enable Reserve with Google (instant online booking via GBP)Robert + Kalen1 hr"Book Online" button on GBPClick "Book Online" on GBP > booking flow works
Speed optimization: fix hero image, defer CSS/JS, preconnectRobert3 hrsImproved Core Web VitalsPageSpeed Insights score improves by 10+ points
Monthly report #1 deliveredRobert3 hrsFull month-over-month reportRevenue attribution by channel documented
Industry proof: Reserve with Google is a free ServiceTitan integration. "Book Online" button appears on GBP within 24 hours of activation and tracks as a marketing campaign automatically.
-- ServiceTitan Help Documentation, 2025

DAYS 61-90: OPTIMIZE & REDUCE WASTE

TaskOwnerTimeDeliverableVerification
Complete CRO audit using 60 days of Clarity data (heatmaps, session recordings, rage clicks)Robert4 hrsCRO findings report with prioritized fixesShared with team
Implement CRO fixes from auditRobert8 hrsOptimized pages liveConversion rate trend improving in GA4
Review offline conversion data (now 30+ days old) -- adjust Google Ads bidding to Target ROASRobert2 hrsROAS-based bidding active on top campaignsCPA trending down, revenue per lead trending up
Publish 4-6 more blog posts (10-12 total)Robert20 hrsPosts liveOrganic traffic increasing month-over-month
Complete all missing service area pagesRobert8 hrsAll 15 service area cities have dedicated pagesEach page indexed in Google
Launch remarketing campaigns (visitors who didn't convert)Robert3 hrsRemarketing audiences active in Google AdsDisplay ads showing to past visitors
Build 5 dedicated landing pages for Google Ads (1 per top service)Robert15 hrsService-specific landing pages liveEach landing page connected to its Google Ads campaign
A/B test results analysis: roll out winners, kill losers, plan next testsRobert2 hrsTest results reportWinners deployed site-wide
Deliver 90-Day Comprehensive Report: before/after data, ROI proof, months 4-6 planRobert5 hrsFull report with revenue attributionIn-person meeting with Kalen, Stephanie, Russ
Deliver months 4-6 scaling planRobert3 hrsForward strategy documentApproved by team

30-60-90 Day KPI Targets

KPIDay 30 TargetDay 60 TargetDay 90 Target
Monthly Revenue$275,000$325,000$400,000
Blended CPL$180$150$120
Total Leads/Month190240300
Google Reviews384+420+500+
Website Conversion Rate3.5%4.5%5.5%
Organic Leads/Month52045
LSA CPLCurrent$70$60
Google Ads Quality Score (avg)Baseline+1 point+2 points

AREA 7: BUDGET DISCIPLINE

Your Notes -- AREA 7: BUDGET DISCIPLINE Saved

What You Expect

  • Performance data driving all decisions
  • CPL justification for every dollar
  • Revenue correlation for every channel

How My Plan Aligns

Full alignment. No dollar gets spent without a revenue justification.

What I Add Beyond Your Framework

7.1 Current Budget Efficiency Analysis

Current state: $35,000/month > $200 CPL > ~175 leads > ~140 booked jobs > ~$250,000 revenue

ROAS: $250,000 / $35,000 = 7.1x (every $1 generates $7.10 in revenue)

Industry benchmark: Plumbing industry average marketing spend is 5-10% of revenue. At $35K/month on $250K/month revenue = 14% of revenue on marketing. This is above the healthy range and confirms the CPL is too high.
-- Financial Models Lab, 2025
Industry benchmark: Plumbing industry average gross margin is 71%. At $250K revenue and 71% margin = $177,500 gross profit. Marketing spend of $35K = 20% of gross profit. Target: under 15%.
-- Financial Models Lab, 2025

7.2 Budget Reallocation Plan

Principle: Don't increase total spend. Redistribute to lower-CPL channels.

ChannelCurrent Monthly SpendProposed Month 3Proposed Month 6Proposed Month 12
Google Ads (PPC)$18,000-22,000$16,000$14,000$12,000
LSA$3,000-5,000$8,000$10,000$12,000
SEO/Content$0$3,500$4,000$5,000
CRO Tools$0$500$500$500
Lead Gen Platforms$5,000-8,000$4,000$2,000$0
Social/Other$2,000-3,000$2,000$2,500$3,000
ClickCease$500-800$500$500$500
Metricool$50-100$100$100$100
Review Mgmt Tools$0$200$200$200
Total~$35,000~$35,000~$34,000~$33,300

Key shift: Reduce reliance on high-CPL channels (PPC at $180-220/lead, lead gen platforms at $250-350/lead) and grow low-CPL channels (LSA at $50-70/lead, organic at $25-35/lead).

7.3 Channel ROI Projections (12-Month)

ChannelAnnual SpendProjected Annual LeadsCPLProjected RevenueROAS
Google Ads$168,0001,400$120$2,000,00011.9x
LSA$120,0002,000$60$2,856,00023.8x
Organic/SEO$54,0001,440$37.50$2,057,00038.1x
Social/Referral$30,000360$83$514,00017.1x
Total$372,0005,200$71.50$7,427,00020.0x
Industry proof: SEO delivers $19.90 per $1 invested vs $4.40 for paid ads -- nearly 5x better long-term ROI.
-- CI Web Group, 2025
Industry proof: SEO breakeven for home services is 7-12 months. After breakeven, CPL drops from ~$45 (months 7-12) to ~$25 (months 13-24), while PPC CPL stays constant.
-- CI Web Group / Coalmarch Marketing, 2025-2026

7.4 Seasonal Budget Modeling

Plumbing has strong seasonality. Bright Side's slow months are early winter and early summer. Budget should follow demand, not sit flat at $35K/month:

SEASONAL DEMAND vs FLAT SPEND ================================== Demand: ==== === == == = = = = == == === ==== Month: Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Flat: $35K $35K $35K $35K $35K $35K $35K $35K $35K $35K $35K $35K Optimized: $42K $40K $38K $36K $30K $28K $28K $30K $33K $36K $40K $42K Same annual budget ($420K). More spend when demand is high (winter: water heaters, frozen pipes). Less spend when demand drops (summer). Result: Lower CPL during peak, less waste during slow months.

Peak months (Jan-Mar, Jul-Sep): Increase LSA budget 40-60%. Highest emergency search volume. Frozen pipes in winter, AC-related plumbing in summer. Cost per lead may actually decrease because there's more search inventory.

Slow months (May, Nov-Dec): Reduce 20-30% but NEVER pause. Pausing LSA campaigns resets your quality score and momentum. Shift messaging to maintenance, inspections, winterization. This is when competitors pull back -- maintaining presence = cheaper leads for you.

7.5 The $3M to $6M Growth Model (3 Paths)

PathStrategyMonthly SpendMonthly LeadsRevenueVerdict
A: Brute ForceDouble spend at $200 CPL$70,000350$500K ($6M/yr)Expensive, fragile, zero efficiency
B: LSA-HeavyShift to LSA ($60 CPL) + optimize$32,000542$782K ($9.4M)Good -- exceeds target on less spend
C: Full Stack (Best)Path B + offline conversions + SEO + CRO + Reserve with Google$35,000550+$6M-$8M+Compounding flywheel. This is the plan.

Path C in detail:

ChannelMonthly SpendCPLLeads/MoBook RateJobs/MoRevenue/Mo
LSA (optimized)$12,000$6020080%160$285,760
Google Ads (PPC)$10,000$1307775%58$103,588
Organic/SEO$5,000$4012580%100$178,600
Referral/Repeat$2,000$258090%72$128,592
GBP/Maps$3,000$506080%48$85,728
Total$32,000$59542438$782,268

$782,268/month = $9.4M annualized. Even at 65% realization (seasonality, cancellations, callbacks), that's $6.1M on $32K/month -- less than current spend.

7.6 What Happens If We Do Nothing

At current trajectory ($3M/year, $200 CPL, $35K/month spend):

  • To reach $6M purely through more spend at $200 CPL = $70K/month = $840K/year in marketing
  • Marketing as % of revenue: 14% (industry benchmark is 8-12%)
  • Zero protection against Google algorithm changes, LSA policy changes, or CPL increases
  • Competitors who optimize LSA and offline conversions first capture the calls Bright Side should be getting
  • Every month of inaction is roughly $25,000 in leads lost to inefficiency

The gap between $200 CPL and $75 CPL on 175 leads/month = $21,875/month being overspent. Over 12 months, that's $262,500 in wasted marketing dollars -- enough to fund the entire optimization program for 7 years.

7.7 Budget Decision Framework

Every budget decision follows this logic:

Step 1: What is the CPL for this channel/campaign? Step 2: What is the booking rate from this channel? Step 3: What is the revenue per booked job from this channel? Step 4: What is the ROAS? (Revenue / Spend) Step 5: Is ROAS above 5x? YES -> Maintain or increase spend NO -> Optimize first. If ROAS stays below 5x after 60 days, reduce spend. Step 6: Where does the freed-up budget go? -> The channel with the highest ROAS that can absorb more spend

No budget change will be made without sharing the data with Kalen and Stephanie first. Every reallocation comes with a 1-page justification showing: current performance, proposed change, expected impact, and rollback plan if it doesn't work.

7.8 Red Line Rules

RuleThresholdAction
No channel exceeds $250 CPL for 2 consecutive weeks$250 CPLPause + investigate + report
No campaign runs without conversion trackingDay 1Don't launch until tracking is verified
No budget increase without 30 days of data30 days minimumPresent data before requesting increase
Every A/B test reaches statistical significance before calling a winner95% confidenceNever declare winner early
Monthly budget variance stays within 5% of approved amount+/- 5%Notify Kalen before exceeding

TECHNICIAN REVENUE PLAYBOOK

Your Notes -- TECHNICIAN REVENUE PLAYBOOK Saved

Kalen mentioned that part of the role would involve speaking to the crew about how marketing affects their paychecks. Your technicians are commission-based. Everything marketing does (or doesn't do) affects their income. Here's what they can do on every job to put more calls on the board.

Why This Matters to Them Personally

More Google reviews = higher LSA ranking = more calls = more dispatched jobs = bigger commission checks. This isn't corporate marketing. It's a direct pipeline from their actions on the job site to the number of calls that come in next week.

The 5 Technician Actions

#ActionTimeWhy It Matters
1Ask for a Google review on-site2 minReview velocity is the #2 LSA ranking factor. 8-12 new reviews/month keeps ranking high. QR code on the invoice makes it one tap.
2Take before/after photos on every job3 minLSA profile needs fresh photos. Social media needs real work. Website needs before/after galleries. One photo set = 5 pieces of content across 5 platforms.
3Report common customer questions1 minQuick text: "Customer asked if it's normal for their water heater to make a popping noise." These become blog posts that rank on Google and drive more calls. Field intelligence is the highest-quality content source.
4Mention additional services during jobs30 sec"By the way, I noticed your water heater is 12 years old. We also do installations if you want to get ahead of a failure." Natural observation, not a sales pitch. Increases avg ticket = bigger commissions.
5Be on time, be clean, be professionalAlwaysNegative reviews kill LSA ranking faster than anything else. One 1-star review takes 10-20 five-star reviews to offset in the algorithm.

The Crew Pitch Script

"I know you guys are commission-based. My job is to put more calls on the board so you have more work to do. But I need your help. The number one thing that drives calls through Google is reviews. If you can ask every happy customer for a Google review and snap a before/after photo, I can turn that into more calls coming in. More calls, more dispatched jobs, bigger paychecks. That's the deal."

The Math They Care About

The review generation formula:

4 technicians x 5 jobs/week x 40% ask rate = 8 asks/week 8 asks x 40% leave rate = 3.2 reviews/week 3.2 reviews x 4 weeks = ~13 new reviews per month

That review velocity alone can push LSA ranking up 1-2 positions, which translates to 20-40 more calls per month. At $1,786 avg ticket and 80% booking rate, that's $28,500-$57,100 in additional monthly revenue from 2 minutes of effort per job.

The commission math: If 20 extra calls per month come in because of better LSA ranking, and 80% book, that's 16 more jobs. At $1,786 avg ticket, that's $28,576 in additional monthly revenue. Split across 4 techs, each tech gets 4 more dispatched jobs per month. At commission rates, that's real money in their pockets -- from asking one question on the job site.


CUSTOMER PERSONA ANALYSIS (From 301+ Reviews)

Your Notes -- CUSTOMER PERSONA ANALYSIS (From 301+ Reviews) Saved

I read through 301+ reviews across 6 platforms. Not skimmed. Read. Here's the platform breakdown:

PlatformReviewsRating
Google384+4.9 stars
Birdeye (aggregated)3014.9 stars
Yelp26--
BBBA+ accredited--
Chamber of Commerce2264.9 stars
Angi--5.0 stars

Four distinct customer personas emerged, each with different triggers, search behavior, and revenue profiles.

The 4 Personas

PersonaSearch TriggerAvg TicketRevenue ShareLead ShareMarketing Priority
Emergency EricSewage backup, main line break, flooding$5,000-$15,00050-60%25-30%#1 -- highest revenue per lead
Whole-House HelenRemodel, re-pipe, water heater upgrade$3,000-$12,00020-25%15-20%#2 -- high ticket, planned
Routine Rick (aka Maintenance Mike)Drain clean, faucet fix, toilet issue$200-$80010-15%35-40%#3 -- volume driver, HIGHEST lifetime value
Commercial ChrisProperty management, HOA, multi-unit$1,000-$10,00010-15%5-10%#4 -- repeat business

Sewer-Focused Review Quotes (Your #1 Revenue Driver)

These are real customer words about your biggest service. Every one of these should inform ad copy, landing page headlines, and content:

"Bright Side Plumbing replaced a stretch of clay pipe for us to remedy a blockage that had sewage backing up into our basement. Came out the same day I called."
"Called on Saturday, spoke with Kalen, who scheduled a tech to repair a break in the main line. James worked into the evening to help get us back up and running."
"They redid all the plumbing in my house, including digging out collapsed drains in the basement and replacing them, installing a new sump pump system, and replacing the sewer line. Kalen was very professional, friendly, informative and flexible."
James handled a "sewer line disaster" and "really saved the day."

These stories are marketing gold. They prove same-day response, emergency capability, and sewer expertise -- the exact signals Emergency Eric needs to see before calling.

The 5th Theme: "The Kalen Effect"

Across all 4 personas, one consistent pattern emerged: customers trust Kalen personally. Reviews mention him by name. They mention his direct involvement. They mention feeling like they're dealing with the owner, not a corporation.

"Kalen works tirelessly until the job is done and communicates what is going on all along the way"
"Ask for Kalen, he's great!"
"Kalen and Bright Side are very customer oriented and incredibly talented, helping not only individual customers but their families as well"
Review keyword frequency: "recommend" (29), "highly recommend" (16), "great job" (7), "very professional" (7)

This is a defensible competitive advantage. No competitor can replicate it. It should be leveraged in every ad, every landing page, every piece of content.

Persona Revenue Insight

"Emergency Eric searching 'sewer backup overland park' at 11 PM on a Saturday is worth 30x more than Routine Rick searching 'clogged drain' on a Tuesday afternoon."

The Maintenance Mike paradox: Routine Rick / Maintenance Mike has the LOWEST per-transaction value ($200-$500) but the HIGHEST lifetime value. Today's $200 drain clean becomes next year's $8,000 water heater install. Convert them once, treat them well, and they come back for everything -- plus they refer friends. The review data confirms this: routine customers leave the most detailed, word-of-mouth-driving reviews.

The Emergency Eric diagnostic: Emergency Eric represents 50-60% of revenue but likely receives generic marketing today. The same ad copy, the same landing page, the same follow-up sequence as every other persona. Persona-specific LSA categories, ad copy, and landing pages would capture more of these high-ticket, high-urgency searchers. A dedicated "emergency sewer" landing page with same-day messaging converts fundamentally differently than a generic "our services" page.

This has direct implications for:

  • LSA targeting: Budget weight should follow revenue weight. Emergency/sewer categories first.
  • Ad copy: Different messaging for each persona. Emergency needs urgency + availability. Whole-House needs trust + financing.
  • Content strategy: Blog posts targeting emergency keywords generate higher-value leads than general plumbing tips.
  • Offline conversion tracking: Google's algorithm needs to learn that the emergency call is worth 30x more. Without revenue data flowing back, it treats both the same.

Review Request Strategy by Persona

PersonaWhen to AskHow to AskWhy Different
Emergency EricSame day, while relief is fresh"I know that was stressful. If we made it less stressful, a quick Google review would mean the world."Emergency customers have the strongest emotional response -- capture it immediately
Whole-House HelenAfter final walkthrough"Take a look at the finished work. If you're happy with how it turned out, we'd love a review."They need to see the completed result before they'll review
Routine Rick2-4 hours after jobServiceTitan automated SMSLow-emotion, routine interaction -- automate the ask
Commercial ChrisAfter invoice is paidEmail from Kalen directlyBusiness relationships respond to personal owner outreach

Capture "Above-and-Beyond Moments": Reviews mentioning extras -- "fixed a wiggly faucet at no extra cost," "stayed late to finish the job," "explained everything before starting" -- are the most powerful social proof. These moments should be systematically captured by technicians and fed into marketing. A simple end-of-day text from each tech: "Anything extra you did for a customer today?" These become social media posts, landing page testimonials, and review response themes.


ROBERT'S CREDENTIALS & PROOF POINTS

Your Notes -- ROBERT'S CREDENTIALS & PROOF POINTS Saved

Technical Capabilities

CapabilityWhere AppliedSpecific Result
GA4 Admin APIBathroom Bidders15 custom dimensions, 30+ events, full property config via script
GTM APIBathroom Bidders24 tags, 30 triggers deployed and published programmatically (v8)
Google Ads (certified)Optical retail client1.56M impressions, 8.9K clicks, 2.2K local actions, 188 calls. Clicks +30%, conversions +227%, cost per conversion -62%
WordPress REST APIBathroom BiddersAutomated blog publishing, media uploads, category management
Google Apps ScriptMulti-clientContent distribution pipelines, UTM tracking, QA validation
GA4 Data APIBathroom Bidders10-report automated data pull for funnel analysis
Technical SEO at scaleA.D. Banker/CareerCertified5,700-URL audit across 19 subdomains; non-brand organic revenue from under 30% to approximately 50% in 90 days
Programmatic schema generationMulti-clientFor a multi-service plumbing company, you need LocalBusiness, Service, FAQ, and Review schema on every service page. I generate and deploy all of this programmatically instead of hand-coding each page -- faster, error-free, and auditable

Client Results

ClientWhat I DidResult
Bathroom BiddersFull GA4/GTM rebuild, content system, funnel analysis, blog pipeline30+ events, 15 custom dimensions, GTM v8, 6 blog posts (1,800+ words each), 5 conversion leaks identified with fix plans
Optical retailRebuilt Smart Campaign structure, geo targeting, ad copy refresh, GBP alignment+30% clicks, +227% conversions, -62% cost per conversion
OnspringGA3 to GA4 migration, journey-based copy, CTA optimization, personalization+53% lead conversion, +83% MAU
Oak Street HealthUTM scheme, MQL handoff SLAs, community activation+25% qualified leads, fewer cold handoffs
Grapevine/TuteraGA/UTM tracking across 30+ locationsMulti-location attribution

What Makes This Different

Most marketing candidates will say "I'll write blog posts and do SEO." I'm saying: "I'll diagnose the entire system first, find the leaks, fix the highest-impact ones, and THEN layer on content and SEO with full measurement from day one." That's not a marketer. That's an operator.


ROLE CLARITY: ROBERT vs RUSS

Your Notes -- ROLE CLARITY: ROBERT vs RUSS Saved

Based on our conversations, here's how I see the role structure:

DomainRobert OwnsRuss OwnsWe Collaborate On
ReportingWeekly reports, live dashboard, Loom videos, cohort analysis--Quarterly strategy reviews
Paid MediaAudit, waste detection, offline conversions, automated reportingDay-to-day campaign management, creative directionBudget allocation, campaign structure, bidding strategy
SEO/ContentTechnical SEO, content calendar, blog production, schema markupBrand consistency reviewKeyword targeting priorities
CROHeatmaps, A/B testing, form optimization, page speedDesign/layout implementation in OxygenTest priorities, UX decisions
LSALead quality review, dispute management, ranking factor optimization--Budget cap decisions
AttributionGA4, GTM, call tracking, offline conversion pipeline--Conversion action definitions
Social--Metricool management, brand voiceContent repurposing from blog/reviews

My posture: "I lead reporting, audits, tracking integrity, CRO, SEO, and data analysis. On paid, I lead the analysis and bring the data that informs strategy. We collaborate as a team on what to do with those insights. I'm not looking to step on anyone's toes. I'm looking to give the team better data to make better decisions."

If Russ and I disagree: Data first. If the data supports his approach, great. If it supports mine, we discuss it. If it's a coin flip, he's the Director, he makes the call. No egos. The only thing I push back on is ignoring data.

Availability & SLA Commitment

CommitmentDetails
Weekly reportingEvery Monday by 10 AM, without fail
Response time (normal)Same business day for non-urgent items
Response time (urgent)Within 2 hours for tracking breaks, budget anomalies, or site-down issues
Loom video walkthroughEvery Monday alongside the weekly report
Monthly reportFirst week of each month, 15-20 minute video + written report
Quarterly reviewIn-person meeting with Kalen, Stephanie, and Russ

I'm not a 9-to-5 clock watcher. If something breaks on a Friday afternoon, I fix it Friday afternoon. The weekly reporting cadence is non-negotiable -- it happens every Monday regardless of what else is going on.


FIELD INTELLIGENCE SYSTEM

Your Notes -- FIELD INTELLIGENCE SYSTEM Saved

Your technicians hear customer questions every single day. These questions are the highest-quality content source available:

How it works:

Technician on a job | v Customer asks: "Why is my water heater making a popping noise?" | v Tech sends quick text/voice note to marketing: "Customer asked about water heater popping" | v Robert writes blog post: "Why Is My Water Heater Making a Popping Noise? A KC Plumber Explains" | v Post ranks on Google for "water heater popping noise overland park" | v Homeowner in Olathe searches that exact question, finds Bright Side's blog | v Homeowner calls Bright Side. Tech gets dispatched. Commission earned.

This closes the loop: The crew's observations become content. The content drives calls. The calls become jobs. The jobs generate questions. The questions become more content. It's a flywheel powered by field intelligence.

Industry proof: Companies using field-sourced content outperform those using agency-created content because the questions are PROVEN -- a real customer asked them. You're not guessing what people want to know. You're answering what they actually asked.

THE KEYWORD NORTH STAR: COMPLETE MARKET ANALYSIS

Your Notes -- THE KEYWORD NORTH STAR: COMPLETE MARKET ANALYSIS Saved

Before we write a single blog post or optimize a single page, we build the map. A complete keyword market analysis of every search term in the KC metro plumbing industry -- what people are searching, how often, what competitors rank for, and where the gaps are. This is the "north star" that guides every content decision, every ad campaign, and every service page optimization for the next 12 months.

What the analysis produces:

  • Complete keyword universe: 2,000-5,000+ search terms mapped by service type, intent, and volume
  • Competitor gap analysis: keywords your top 5 competitors rank for that Bright Side doesn't
  • Revenue-weighted prioritization: sewer repair and sewer replacement keywords at the top (highest ticket)
  • Content roadmap: which blog posts to write, in what order, targeting which exact terms
  • Service page optimization map: which pages need which keywords, what's cannibalizing, what's missing

The Methodology: Enterprise-Grade Keyword Intelligence

This isn't a "pull some keywords from SEMrush" exercise. This is the same methodology used by iQuanti (Wayne Cichanski, 28-year SEO veteran, former CIO/CMO) to build companies from zero to 200K+ monthly search volume ranking on Page 1. The process has 5 phases:

Phase 1: Capture the Full Demand Landscape

Start with Bright Side's four customer personas (identified from 301+ reviews) and map their actual search journey:

HOMEOWNER JOURNEY: Awareness Consideration Purchase "why is my sewer "sewer line repair "sewer repair backing up" cost Kansas City" companies near me" | | | [BROKEN JOURNEY POINT] [BROKEN JOURNEY POINT] [CONVERSION POINT] They search but can't They find pricing but They're ready but find helpful answers no one shows authority choose the company → We capture them here → We own this space that showed up first

From this journey data, we compile the keyword universe through 5 sources:

  1. Your Footprint -- every keyword callbrightside.com currently ranks for (even page 5+)
  2. Competitor Keywords -- what your top 5-10 KC plumbing competitors rank for that you don't
  3. Expanded Research -- long-tail variations, question-based queries, "near me" modifiers
  4. Primary Themes -- major service categories (sewer, water heater, drain, gas line, etc.)
  5. Sub-Themes -- specific variations within each (trenchless vs traditional, tankless vs tank, etc.)

Phase 2: Group by Intent (The Critical Step Most Agencies Skip)

The principle: 10-15 keywords = single intent = 1 page.

One page does NOT match all intents. This is where most plumbing SEO fails. They try to rank one service page for 50 different keywords. It doesn't work.

Example for sewer repair:

Intent GroupKeywords (10-15 per group)Page Needed
"What's wrong?" (Diagnostic)sewer backing up, sewer smell in house, gurgling drain, sewage in basement, sewer line clog signsBlog: "Signs Your Sewer Line Needs Repair"
"How much?" (Cost Research)sewer repair cost, sewer line repair price Kansas City, how much to fix sewer, sewer replacement cost vs repairService page: Sewer Repair Pricing
"Who fixes it?" (Provider Search)sewer repair Kansas City, sewer repair near me, sewer line repair Overland Park, best sewer company KCService page: Sewer Line Repair (main)
"What method?" (Solution Research)trenchless sewer repair, pipe bursting vs pipe lining, no-dig sewer repair KCBlog: "Trenchless vs Traditional Sewer Repair"
"How long?" (Timeline)how long does sewer repair take, sewer repair timeline, can I use toilet during sewer repairBlog: "What to Expect During Sewer Repair"

Each intent group gets its own page. Each page targets 10-15 keywords that share the same user intent. This is how you go from ranking for 20 keywords to ranking for 200+.

Phase 3: Build Topic Clusters (Pillar Page Architecture)

Every major service becomes a pillar page with supporting cluster content:

SEWER REPAIR (Pillar Page) | ┌─────────────────┼─────────────────┐ | | | | TYPES DECISION PAIN ALTERNATIVES FUNNEL POINTS - Trenchless - Cost guide - Sewage smell - Sewer lining - Traditional - Insurance - Backup damage - Pipe bursting - Spot repair - Timeline - Health risks - Full replacement - Pipe relining - Choosing a - Yard damage - Partial repair plumber

This is the Credello/iQuanti model that drove 3.4x quarter-over-quarter traffic growth. The approach:

  1. Comprehensive pillar page covering the umbrella topic (sewer repair)
  2. Content deeper than any top-10 ranking page -- not longer, deeper. Better examples, real KC pricing, Kalen's expertise woven in
  3. Array of cluster pages covering each sub-topic in detail (10-15 supporting pages per pillar)
  4. Strategic interlinking from every cluster page back to the pillar to build topical authority
  5. Trust signals throughout -- 4.9 stars, 5th-generation heritage, real customer quotes

Priority order for pillar clusters:

  1. Sewer Repair (highest ticket, #1 revenue driver)
  2. Sewer Replacement (#2 revenue driver)
  3. Water Heater (fix the 3-URL cannibalization issue while building the cluster)
  4. Drain Cleaning (high volume, lower ticket but great for lifetime value)
  5. Gas Line Services (emerging revenue opportunity)

Phase 4: Calculate the Content Gap

Four-step process to know exactly what needs to be built:

StepActionBright Side Application
1. LANDSCAPEGroup all keywords by intent, categorize by primary and secondary theme, create master viewMap every KC plumbing search term into themes and sub-themes
2. URLS PUBLISHEDInventory all published URLs, pull rankings, identify the "hero keyword" each URL targetsAudit every page on callbrightside.com -- what is it actually ranking for?
3. INTENT MATCHVerify the hero keyword matches the page's actual intent. If a sewer page is ranking for water heater terms, that's a mismatchIdentify pages targeting the wrong keywords (the water heater cannibalization is exactly this)
4. EXISTING/NEWMap existing URLs to their matching sub-themes. Every sub-theme with no URL = "net new" content neededDeliverable: exact list of pages to create, in priority order, with target keywords

Phase 5: Competitive Intelligence Dashboard

For every top competitor, we track 4 metrics:

MetricWhat It MeasuresWhy It Matters
Market CoverageTotal keywords they rank for vs total availableShows how much of the "fishing pond" they've claimed
Share of VoiceTheir % of total clicks for plumbing keywords in KCShows who's actually getting the traffic
Content GapHow many themes/sub-themes they cover vs missShows where we can outflank them with new content
Authority StrengthDomain authority, referring domains, link qualityShows how hard they'll be to outrank (and where they're weak)

This becomes a living competitive dashboard updated monthly. When a competitor publishes new content or gains rankings, we see it and respond.

Prioritization: What We Build First

Not all content is created equal. We group by effort and impact for concurrent workstreams:

Priority TierTacticsTimeline
Low Effort / High ImpactFix existing page SEO attributes (titles, metas, headers), fix NAP inconsistency, add FAQPage schema, fix water heater cannibalization, update stale blog contentWeeks 1-4
Longer CyclesNet new pillar pages, new cluster content (starting with sewer repair), infographics, 10x content piecesMonths 2-6
Sprint CyclesPage speed optimization, Core Web Vitals fixes, Oxygen Builder render-blocking CSS, template-level changesEmbedded in biweekly sprints

Sprint execution model:

  • Template Level (Sprint 1): Core Web Vitals, page speed, code loading sequence, widget optimization -- fix once, every page benefits
  • Page Level (Sprint 2+): Page attributes, content, images, schema, CMS updates -- page-by-page improvements

The Field Intelligence Multiplier

Coupled with the Field Intelligence System, this becomes a flywheel:

NORTH STAR KEYWORD MAP (what people search for) + FIELD INTELLIGENCE (what people actually ask technicians) = CONTENT ENGINE that targets PROVEN questions with REAL search volume

The keyword map tells us what people search. The field intelligence tells us what people actually ask when the tech is in their home. The overlap is where the best content lives -- proven demand from both Google AND real customer conversations. No guessing. No generic "10 plumbing tips" posts that don't convert. Every piece of content targets a real search term backed by real customer questions.

The AIDA funnel applied to plumbing SEO:

AWARENESS (Blog content, educational guides) "Why is my sewer backing up?" → finds Bright Side blog ↓ INTEREST (Service pages, comparison content) "How much does sewer repair cost in KC?" → finds Bright Side pricing guide ↓ DESIRE (Social proof, trust signals) "Is Bright Side any good?" → finds 4.9 stars, 384+ reviews, 5th-gen heritage ↓ ACTION (CTA, scheduling, phone call) "I need this fixed" → calls Bright Side, books with ServiceTitan

Each stage requires different content. The keyword north star maps which content serves which stage. The field intelligence from technicians reveals where customers drop off between stages -- so we can fill those gaps.

This analysis is a Week 1-2 deliverable. The topic cluster buildout follows in months 2-6. Everything else builds on top of it.

ORGANIC LEADS: THE COMPOUND ADVANTAGE

Your Notes -- ORGANIC LEADS: THE COMPOUND ADVANTAGE Saved

One critical insight that shapes this entire strategy:

Industry data: Organic leads convert to customers at 14-20% vs 8-12% for paid leads.
-- BrightLocal / First Page Sage, 2025-2026

This means organic leads are worth 1.5-2x more than paid leads, even before considering that organic leads cost nothing per click.

The SEO Equity Argument (The Fishing Pond Metaphor):

Think of SEO as building a fishing pond. Months 1-4 are construction -- you're digging the pond, filling it with water, stocking it. It doesn't produce fish yet. Months 4-6, the pond starts producing. By month 12, the pond generates 30-50% of total lead volume at under $30/lead. You stop renting fish at $200 each and start catching them from your own pond.

  • The moment you stop paying for ads, leads go to zero. SEO builds equity. Paid is rent. You're currently renting 100% of your leads.
  • Every organic lead above 20/month is pure profit compared to your current cost structure. You're not paying per click for those leads. They're coming because you earned the ranking.
  • From month 9 forward, SEO compounds. By month 12, you're looking at $16K-$24K/month in lead value from a $4K/month investment. That's a 4-6x return.
  • SEO breakeven is month 5 for individual spend, cumulative breakeven at month 7-8.
MonthMonthly SEO InvestmentOrganic LeadsLead Value (at $1,786 avg ticket x 80% booking)Cumulative ROI
1$4,0000$0-$4,000
2$4,0002$2,858-$5,142
3$4,0005$7,144-$1,998
4$4,00012$17,146+$11,148
5$4,00020$28,576+$35,724
6$4,00035$49,994+$81,718
7-12$24,000360 (avg 60/mo)$514,540+$572,258
Year 1 Total$48,000434$620,258+$572,258

Year 1 ROI: 1,192% -- and it only gets better in Year 2 because the content keeps ranking.


WEBSITE AUDIT FINDINGS (FROM LIVE SITE REVIEW)

Your Notes -- WEBSITE AUDIT FINDINGS (FROM LIVE SITE REVIEW) Saved

As part of my preparation, I audited callbrightside.com. Here are the specific findings:

Issues Found (With Fix Priority)

#IssueLocationPriorityFix TimeRevenue Impact
1NAP inconsistency: Two addresses listed (12022 Blue Valley Pkwy AND 8110 Carter St)Homepage footer + schemaCRITICAL30 minHurts Local Pack ranking
2Generation claim inconsistency: "Fourth generation" on homepage vs "fifth-generation" on About pageHomepage + AboutCRITICAL15 minUndermines trust
3Business hours mismatch: Site shows Mon-Fri 7am-6pm, Sat 9am-4pm. Need to verify these match GBP and schemaSite-wideHIGH30 minConfuses Google and customers
4No FAQPage schema on /faqs/ pageFAQs pageHIGH1 hrMissing rich result opportunity
5Hero image loaded via CSS background with JS injectionHomepageHIGH1 hrDelays LCP, hurts conversions
68+ CSS files from Oxygen Builder (render-blocking)Site-wideHIGH2 hrsSlows page load
7HubSpot loads from 5 domains (5 extra DNS lookups)Site-wideMEDIUM30 minAdd preconnect hints
8No sticky mobile CTAMobile siteMEDIUM1 hrMobile users struggle to find phone number after scrolling
9Single-step contact formContact pageMEDIUM3 hrs86% lower conversion than multi-step (LeadGen Economy)
10Blog / Learning Center: needs audit for freshness and keyword targeting/learning-center/MEDIUM2 hrs auditStale content hurts SEO authority
11Missing AggregateRating schema on /reviews/ pageReviews pageLOW1 hrMissing star rating in search results
12Instagram: 253 posts / low follower countInstagramLOWOngoingLow ROI channel -- deprioritize

Total estimated fix time for top 10 issues: ~12 hours

Expected conversion impact: 25-50% improvement once all fixes are deployed


COMPETITIVE ADVANTAGE SUMMARY

Your Notes -- COMPETITIVE ADVANTAGE SUMMARY Saved

What No Competitor Can Copy

AdvantageWhy It's DefensibleMarketing Leverage
5th-generation master plumber heritageYou cannot manufacture a family legacyLead every piece of content, every ad, every bio
Kalen's personal story (health crisis, wheelchair, comeback, pandemic founding)Unique and authentic. No competitor can replicate this.Video content, About page, brand story in ads
5 specific guarantees with dollar amounts ($50 on-time, $200 clean tech, flat-rate or free, lifetime warranty, master plumber oversight)Most competitors offer 1-2 vague guaranteesStack all 5 on every landing page, every ad
4.9 stars at 384+ reviews (growing to 500+)Extremely hard to achieve and maintain at scaleTrust signal in every ad, landing page, email
Tommy Mello coachingNational-caliber business strategy at local-market sizeOperational excellence that compounds over time
Industry proof: 4.5-star businesses earn up to 25% more clicks than those with 3.5 stars. Bright Side's 4.9 is at the top of the scale.
-- BrightLocal, 2025

WHAT I NEED FROM YOU (MONDAY MEETING)

Your Notes -- WHAT I NEED FROM YOU (MONDAY MEETING) Saved

To hit the ground running, I need the following access and decisions:

Access Needed (Graduated Approach)

I respect that these accounts represent years of work. I don't need admin access on Day 1 to be productive. Here's the graduated approach:

Day 1 (Viewer/Analyst access): I can run audits, pull reports, and baseline everything with read-only access. No risk of accidental changes.

After Week 1 (Edit access): Once I've demonstrated how I work and you've seen my first deliverables, upgrade to edit access for GTM, GA4, and WordPress. I version-control everything -- GTM container versions are documented, every change has a rollback plan.

After Month 1 (Full access): Once trust is established through 30 days of clean work, full access for campaign management and optimization.

PlatformDay 1 AccessFull Access AfterWho Provides
Google AdsViewer (Standard) accessWeek 2 (Edit)Russ or current agency
GA4 / GTMAnalyst access / ViewerWeek 2 (Editor)Russ or current agency
Google Search ConsoleFull accessRuss or current agency
Google Business ProfileOwner or Manager accessKalen
LSA DashboardManager accessKalen or Russ
ServiceTitanMarketing module accessKalen
WordPress AdminAdministrator role on callbrightside.comRuss
HubSpotMarketing accessRuss
MetricoolAccess to social accountsRuss
Screaming FrogLicense (or I provide my own)Robert

Decisions Needed

DecisionOptionsMy RecommendationWhy
Confirm address12022 Blue Valley Pkwy or 8110 Carter St?Whichever is the actual office locationMust be consistent everywhere
Confirm generation4th or 5th generation?Whichever is accurateMust be consistent everywhere
Confirm business hoursMon-Fri 7am-6pm, Sat 9am-4pm -- is this correct?Match actual availabilityAll listings must agree
Review accelerationApprove automated SMS review request after each job?Yes38% response rate on SMS. Primary driver of LSA ranking.
Offline conversionsApprove ServiceTitan > Google Ads data sharing?Yes56% higher booking rate, 69% higher ROAS. Biggest single lever.
Reserve with GoogleApprove instant online booking via GBP?YesFree. "Book Online" button on GBP within 24 hours.
Blog reactivationApprove 4-6 new blog posts per month?YesCompanies with blogs generate 67% more leads monthly (SeoProfy, 2026)

SOURCES & CITATIONS INDEX

Your Notes -- SOURCES & CITATIONS INDEX Saved

All industry statistics cited in this document:

#StatSourceYearURL
1Plumbing LSA CPL: $25-$75 typical, $69 medianThe Media Captain2025themediacaptain.com
2Competitive market LSA CPL: $60-$117Accelerate Your Marketing2025accelerateyourmarketing.com
3LSA conversion rate: 31% vs 12% PPCHome Service Direct2025homeservicedirect.net
4LSA proximity removed April 2025LocalView / eSEO Space2025localview.co
5Review recency outranks review count in LSABoomcycle Digital Marketing2026boomcycle.com
6Plumbing Google Ads CPC: $10.49LocaliQ / WordStream2025localiq.com
7Plumbing Google Ads CPL: $129.02WordStream2025wordstream.com
8Plumbing Google Ads conversion rate: 7.63%WordStream2025wordstream.com
9Quality Score: ~13% CPC reduction per pointLeadGen Economy2025leadgen-economy.com
10QS 10 = 50% CPC discount(un)Common Logic2025blog.uncommonlogic.com
11SEO CPL 60%+ lower than paid adsCI Web Group2025ciwebgroup.com
12$1 SEO = $19.90 return vs $4.40 paid adsCI Web Group2025ciwebgroup.com
13SEO breakeven: 7-12 monthsCI Web Group / Coalmarch2025-2026ciwebgroup.com
14Median SEO ROI: 748%First Page Sage2026firstpagesage.com
15Companies with blogs: 67% more leads monthlySeoProfy2026seoprofy.com
16Organic leads convert 30-50% higher than paidFirst Page Sage2026firstpagesage.com
17Home services conversion rate: 2-5% avg, 12-16% optimizedPlumbing Webmasters / WebFX2025-2026plumbingwebmasters.com
181-second delay = 7% conversion reductionAberdeen Group2025wiro.agency
1953% mobile users abandon sites >3 secondsGoogle / SOASTA2025thinkwithgoogle.com
20Sites loading 1s = 3.05% conversion, 5s = 0.6%Portent (100M page views)2025fleexy.dev
21Above-fold CTAs outperform by 304%Cube Creative Design2025cubecreative.design
22Multi-step forms convert 86% higherLeadGen Economy2025leadgen-economy.com
23Multi-step forms: up to 300% more conversionsVenture Harbour2025ventureharbour.com
24Phone calls convert 10-12x better than web formsOneWebCare / Cube Creative2025onewebcare.com
25Review signals = ~20% of Local Pack rankingBrightLocal / Whitespark2025brightlocal.com
2683% consumers use Google for reviewsBrightLocal LCRS2025brightlocal.com
2788% would use business replying to ALL reviewsBrightLocal LCRS2026brightlocal.com
2880% revenue growth for responding to >30% reviewsBrightLocal2025brightlocal.com
294.5-star businesses earn 25% more clicksBrightLocal2025brightlocal.com
30SMS review requests: 38% vs 27% emailBirdeye2025birdeye.com
31Offline conversions: 56% higher booking, 69% higher ROASCamp Digital (plumbing case study)2025campdigital.com
3251% profit increase, 23% lower CPA with offline conversionsGetNinjas / Google2025singlegrain.com
3320% incremental revenue + 30% cost efficiencyBoston Consulting Group / Google2025singlegrain.com
3415 conversions/month minimum for Smart BiddingOptmyzr2025optmyzr.com
35ServiceTitan: 35% faster response, 28% higher booking, 42% repeat businessProven ROI2025provenroi.com
36Reserve with Google: free, 24hr activationServiceTitan Help Docs2025help.servicetitan.com
3783% homeowners prefer to callHomeAdvisor2025ambscallcenter.com
3828% of plumbing calls missed, 85% hang up at voicemailAgentZap / Suzee AI2025-2026agentzap.ai
39Plumbing booking rate: 30-43% avg, 77% top performersServiceTitan Data Report2025servicetitan.com
40Plumbing CAC: $150-$400, LTV:CAC benchmark 3:1Financial Models Lab2025financialmodelslab.com
41Plumbing gross margin: 71%Financial Models Lab2025financialmodelslab.com
42A/B testing: avg 18% conversion lift after 6 months, 223% ROIHeatmap.com / Marketing LTB2025heatmap.com
43Heatmap-optimized pages: 14% higher conversionHeatmap.com2025heatmap.com
44Lead-to-contact time >5 min = 80% drop in conversionInsideSales.com / ServiceTitan2025servicetitan.com
45First contractor to reach homeowner wins 78% of the timeInsideSales.com2025insidesales.com
46Live chat lifts conversion 20-45% for home servicesDrift / Intercom2025drift.com
47Organic leads convert at 14-20% vs 8-12% paidBrightLocal / First Page Sage2025-2026firstpagesage.com
48Every form field added reduces completions by 5-10%Formstack / HubSpot2025hubspot.com
49Google removed LSA manual disputes mid-2024, replaced with automated credit systemGoogle LSA Support2024support.google.com
50Google consolidated LSA badges into single "Google Verified" checkmark (Oct 2025)Google LSA Support2025support.google.com
51GBP verification now MANDATORY for LSA eligibility (since Nov 2024)Google LSA Support2024support.google.com
52Google updated LSA terms -- deadline June 5, 2025 (failure = ads paused)Google LSA Support2025support.google.com
53Google retired LSA mobile app January 2025Google LSA Support2025support.google.com
54Monthly inaction cost: ~$25,000 in leads lost to CPL inefficiencyCalculated: ($200-$75) x 175 leads/month2026--
55Mismatched landing pages inflate CPC by 30-50%Google Ads Quality Score documentation2025support.google.com
56Call duration threshold changes reported CPA by 20-30%CallRail / ServiceTitan2025callrail.com
57Plumbing conversion lag: 24-72 hours between ad click and callGoogle Ads attribution data2025support.google.com

Prepared by Robert Dove | Dove Web Consulting

dovewebconsulting@gmail.com | 913.439.0166

March 2, 2026

Built specifically for Bright Side Plumbing.

Kalen Barker, Stephanie Barker, and Russ Satterfield.

This document contains proprietary strategy and competitive analysis.

Do not distribute outside of Bright Side Plumbing leadership.

Interactive Calculators

CPL Savings Calculator

Current Leads/Mo
175
Target Leads/Mo (Same Budget)
467
Additional Leads/Mo
292
Monthly Revenue Gain
$417K

SEO ROI Calculator

Month 6 Revenue from SEO
$50K
Month 12 Revenue from SEO
$114K
Year 1 Total SEO ROI
1,192%
Breakeven Month
3

Channel Mix Simulator

Adjust budget allocation and see projected leads and revenue. Total budget stays at $35,000.

CPL: $60
CPL: $130
CPL: $40
CPL: $50
CPL: $200
CPL: $25
Total Budget
$35,000
Total Leads/Mo
557
Blended CPL
$63
Projected Annual Revenue
$7.9M
Loading notes...