Where you are
A homeowner who smells must or just failed an inspection is ready to book today, and most arrive on a phone. Right now the funnel makes them work: the paid landing page buries the phone number, no one calls back for an hour, and the booking proof sits at the bottom of the page. Demand is strong. The path from worried to booked is where it leaks.
We found thirteen fixable gaps across the funnel. The fastest are a click-to-call bar, a five-minute callback routine, and review proof beside the booking button — none touch your brand or your pricing, and together they go straight at the biggest leak: ready buyers who never finish booking.
How we ran this audit
This is a high-level read built to surface the issues, gaps, and opportunities that move revenue — not an exhaustive list of every possible change. We ran it before fully vetting and patching your event tracking, on purpose: finding opportunity does not wait on perfect data. Most of what follows comes from established best practice, category and competitor benchmarks, conversion heuristics, and a hands-on walkthrough of your funnel. Where a number is measured we show it; where it is an estimate or an inference we label it and give our confidence. Accurate, end-to-end tracking across every channel would sharpen the sizing and surface more — and standing that up is the first thing we do together.
How to use this report
What we audited
Three layers, each scored against a defined checklist of what great looks like. The score is how many criteria you pass. Each chip below is one criterion — green is in place, amber is partial, red is a gap — so you can see what drives the score at a glance. The full checklists live in the Full Audit.
ContextThe knowledge that feeds strategy, decisions, and tactics — audited for completeness and accuracy15/34
FunnelsThe systems that move people to a sale — assessed per active funnel, piece by piece5/22
SurfacesHow well each touchpoint is built — scored against surface criteria, with LIFT as the lens120/192
The biggest wins
The five highest-impact moves. Open a row for the reasoning, the evidence behind it, and the problem it solves.
| # | Task | Type | ICE | Metric it moves | |
|---|---|---|---|---|---|
| 1 | Add a sticky click-to-call bar above the fold on mobile paid landing pages | Ship | 8109 | Paid mobile visit-to-lead | |
|
The problem it solves
Ready mobile buyers leave the paid landing page without reaching the phone — the number sits below the fold. See the observation in the Full Audit →
Why it works
DataMost paid mobile sessions leave with no call and no form; paid mobile visit-to-lead reads ~5%. estimate — directional until call-tracking is connected.
Best practicePut the primary action above the fold on mobile; one tap from intent to call.
BenchmarkOne-tap call paths consistently lift mobile lead capture in local services (WordStream local-services call-conversion benchmarks).
MechanismRemoves the step between intent and the call, so high-intent visitors convert before they bounce.
Confidence High
| |||||
| 2 | Stand up a five-minute speed-to-lead callback routine | Build | 985 | First-response time | |
|
The problem it solves
Inbound leads are answered best-effort, often more than an hour later, so warm intent goes cold. See the observation →
Why it works
DataFirst-response time exceeds an hour today. estimate
BenchmarkContacting a web lead within five minutes vs an hour sharply raises the odds of qualifying it (Harvard Business Review, The Short Life of Online Sales Leads, Oldroyd et al.).
MechanismSpeed compounds booking odds — the first responder usually wins the job.
Confidence High
| |||||
| 3 | Match each paid landing page to the ad that precedes it | Ship | 797 | Paid visit-to-lead | |
|
The problem it solves
Ads promise a mold inspection; the landing page shows a generic services wall, breaking the scent. See the observation →
Why it works
Best practiceMessage match: the landing page repeats the ad's exact promise and visual.
MechanismMaintained scent lowers bounce and carries intent into the form.
Confidence High
| |||||
| 4 | Add a Google-reviews proof block beside the booking button | Ship | 698 | Booking-page conversion | |
|
The problem it solves
Strong reviews exist but sit in the footer, far from the moment of commitment. See the observation →
Why it works
Best practicePlace proof at the point of decision, next to the CTA.
MechanismSocial proof answers the trust objection at the moment of commit.
Confidence Medium
| |||||
| 5 | Test an annual re-inspection / membership offer | Test | 764 | Repeat revenue per customer | |
|
The problem it solves
There is no repeat motion today — every job starts cold. See the observation →
Why it works
BenchmarkRecurring offers (annual re-inspection, membership) lift lifetime value in home services.
MechanismTurns a one-time job into a relationship with a reason to return.
Confidence Medium — a test, not a sure thing.
| |||||
Needed from you
A few inputs unblock the measurement and let us size the opportunity. Each is quick on your side.
| The ask | What it unlocks | Urgency |
|---|---|---|
| Grant analytics + Google Ads read access | Measure the paid funnel end to end | High |
| Confirm the booking system can fire a "booking confirmed" webhook | Lead-to-booked conversion tracking | High |
| Share 90 days of call-tracking logs | See the dominant path — the booking call — for the first time | Medium |
| Approve the proposed tracking events | Form submission · phone tap · booking confirmed | Medium |
Funnel by channel
Where each channel leaks today. Steps we can't measure yet are shown honestly.
What we can't see yet
The honest edges of this audit. These shape what we can size and what we'll measure first.
How this page is organized
Context
The knowledge that feeds every strategy, decision, and tactic. We audit it for completeness and accuracy first, because good work downstream depends on it. Each domain is scored against a defined checklist; the score is how many criteria are done well.
CustomerIs the buyer known — who they are, the job they hire you for, and why they act?4/7
| What great looks like | What we observed | Verdict |
|---|---|---|
| ICP & segments named | Primary buyer named — homeowners post-failure or with visible mold; urgent intent. | Done well |
| Job-to-be-done in buyer language | Goal inferred from reviews ("peace of mind"), never captured in an interview. | Partial |
| Buying trigger named | Clear triggers: failed inspection, a home sale, visible mold, a health worry. | Done well |
| Voice-of-customer corpus current | No systematic review or transcript mining; verbatim phrases aren't collected to reuse. | Gap |
| Objection inventory present | Top objections aren't counted from non-converters; the big five are unswept. | Gap |
| Awareness-stage mix known | Paid skews problem-aware, Google Business solution-aware; messaging mostly matches. | Done well |
| Site speaks to the best buyer | The primary surface addresses the high-intent inspection buyer with the best economics. | Done well |
Offer & positioningIs there a clear reason to choose this one over the alternatives?2/8
| What great looks like | What we observed | Verdict |
|---|---|---|
| Offer statable in one sentence | "A fast, certified mold inspection" — a stranger could repeat the core offer. | Done well |
| Ownable claim (only-factor test) | "Fast and reliable" is pasteable onto any competitor — not positioning. | Gap |
| Positioned against the real alternative | No frame against "do nothing" or a DIY test kit — the actual alternatives. | Gap |
| Value-equation variables engineered | Dream outcome and perceived likelihood left generic; the weakest variable isn't worked. | Gap |
| Named unique mechanism | No named "how" a competitor couldn't claim. | Gap |
| Risk reversal scoped to the fear | A satisfaction line exists but is buried; the real fear isn't reversed up front. | Partial |
| The second dollar is designed | No engineered next transaction (re-inspection, membership) — caps affordable CAC. | Gap |
| Sophistication-matched message | A plain claim fits this low-sophistication local market — not over-engineered. | Done well |
EconomicsCan the business afford to win — do the unit economics support growth?3/4
| What great looks like | What we observed | Verdict |
|---|---|---|
| Unit economics known | Job value and rough CAC known; estimated honestly where soft. | Done well |
| LTV:CAC clears this model's bar | Healthy for a high-margin one-time job; the ratio supports paid acquisition. | Done well |
| Payback inside tolerance | CAC pays back inside a single job — well within the cash window. | Done well |
| Pricing scales on a value metric | Flat pricing; no axis the customer recognizes as value (sq ft, rooms, urgency). | Gap |
Goals & capacityIs the target real and absorbable — and is there a path to it?2/5
| What great looks like | What we observed | Verdict |
|---|---|---|
| North star + the number named | Booked inspections per month, target +25% in two quarters. | Done well |
| Model-market math supports the goal | Reachable demand × price not yet modeled against the revenue target. | Gap |
| Capacity ceiling known | Inspectors can absorb ~25% more bookings before scheduling breaks. | Done well |
| Shipping velocity & approval path known | Who ships site changes, how fast, and who approves isn't documented. | Gap |
| Constraints map captured | Untouchables — brand, pricing, sacred copy — not recorded before recommending. | Gap |
MeasurementCan the business see its own funnel? The weakest domain — and it gates the sizing of everything else1/6
| What great looks like | What we observed | Verdict |
|---|---|---|
| Canonical conversion event defined | No single, deduplicated, source-attributed conversion event per funnel. | Gap |
| Dominant path measured end to end | The phone-booking path, where most revenue flows, is unmeasured. | Gap |
| Source-level conversion readable | UTMs don't survive into the analytics/CRM join, so per-channel conversion is partial. | Gap |
| Attribution honesty | No self-reported "how did you hear about us?" alongside the software read. | Gap |
| Dark-funnel list written | What's structurally unmeasurable is stated, not hidden (see Unknowns). | Done well |
| Experiment infrastructure present | No way to run and read a controlled change yet. | Gap |
Competitive contextThe relative frame — who buyers compare you to and where the open lane is3/4
| What great looks like | What we observed | Verdict |
|---|---|---|
| Real comparison set named | The local rivals buyers actually compare you to are named. | Done well |
| Line-by-line teardown done | Each rival torn down on offer, proof, and pricing — not just homepages. | Done well |
| The open lane identified | A stated guarantee plus transparent pricing is a lane no local rival owns. | Done well |
| Category benchmarks sourced | We use only observable facts (traffic, ad counts); category conversion rates aren't citable. | Gap |
Site-wide surfaces
The pages every visitor meets, whatever brought them. We score each against the elements a conversion-ready surface needs, then read it through the LIFT lens. These apply across all funnels.
HomepageThe front door — does a first-time visitor know what you do, who it's for, and what to do next?4/7
| What we expect on a homepage | What we observed | Verdict |
|---|---|---|
| Headline names the outcome, not the category | Leads with "Mold Inspection Services" — a category label, not the worried homeowner's outcome. | Gap |
| A single, obvious primary action | Call and "request inspection" both present; the call path is clear. | Done well |
| Phone tappable above the fold on mobile | Number is in the header but not a one-tap sticky action on mobile. | Partial |
| Proof near the top | 142 reviews at 4.8★ exist but sit far down the page. | Gap |
| Services and coverage area are clear | What's offered and where is easy to find. | Done well |
| Reads clearly in five seconds | A stranger can state what's sold and who it's for. | Done well |
| Loads fast on mobile | Acceptable on desktop; mobile LCP ~3.8s is borderline. | Partial |
Main navigationThe wayfinding every page carries — what a conversion-optimized nav includes4/7
| What a conversion-optimized nav includes | What we observed | Verdict |
|---|---|---|
| Phone number, tappable | Present in the header. | Done well |
| A primary CTA button in the nav | No standing "Book / Get an inspection" button in the nav bar. | Gap |
| A pricing or "what it costs" entry | No pricing or cost-explainer link; a common buyer question goes unanswered. | Gap |
| Services clearly labeled | Service categories are legible and conventional. | Done well |
| Logo links home; links look like links | Convention-compliant. | Done well |
| Usable on mobile | Menu works; tap targets are adequate. | Done well |
| Trimmed on paid landing pages | Full site nav stays on the paid page, offering exits from the funnel. | Gap |
Global trust & proofThe credibility signals that should travel across the whole site3/6
| What we expect | What we observed | Verdict |
|---|---|---|
| Real reviews with names | Genuine local reviews with real names. | Done well |
| Review count + rating shown site-wide | The 4.8★ / 142-review proof isn't surfaced near decisions. | Gap |
| Licensing & certification displayed | State licensing and certification aren't shown as trust proof. | Gap |
| A guarantee or risk reversal surfaced | A satisfaction line exists but is buried. | Partial |
| Nothing broken or stale | No dead links or placeholder content. | Done well |
| Consistent name, address, phone | NAP is consistent across the site and Google Business. | Done well |
Funnels
Each path to a sale, end to end. For every funnel you run we score its pieces — acquisition, conversion, lead handling, retention — and audit the surfaces inside it. Funnels you don't run are marked, so nothing reads as missed.
Organic search running
The primary channel: buyers searching "mold testing near me" land on a service page and call or book.
| Piece | What it needs | What we observed | Verdict |
|---|---|---|---|
| Acquisition | Rank for the terms buyers search | Ranks for core local terms; long-tail and intent coverage thin. | Partial |
| Conversion | A page that turns the visit into a call or booking | Service page ranks but converts below paid — thin proof, weak CTA. | Partial |
| Lead handling | A fast, owned response to the inbound | Best-effort callback, often over an hour; no speed-to-lead routine. | Gap |
| Retention | A reason and a path to return | No lifecycle or repeat motion after the job. | Gap |
Organic service pageRanks and reads clearly, but converts below the paid page38/64
| Key surface checks | What we observed | Verdict |
|---|---|---|
| Clear, well-structured content | Reads cleanly; ranks for its terms. | Done well |
| Proof near the CTA | Reviews are thin and far from the booking ask. | Gap |
| A specific, outcome-named CTA | Generic "Contact us" rather than "Book an inspection". | Gap |
| A reason to act now | No honest urgency surfaced. | Gap |
| Risk reversal where the fear is | Guarantee not surfaced near the decision. | Partial |
Paid search running
Google Ads drive mold-inspection searches to the site. The campaigns run, but conversion tracking is dark and the landing experience is generic.
| Piece | What it needs | What we observed | Verdict |
|---|---|---|---|
| Acquisition | Each ad matched to a landing surface, tracked | Campaigns live, but no message-match and per-channel tracking is dark. | Gap |
| Conversion | A dedicated, message-matched landing page | Paid shares the generic services page; the phone is buried on mobile. | Gap |
| Lead handling | A fast response to paid leads | Same gap — no speed-to-lead routine. | Gap |
| Retention | Recapture of non-converters | No retargeting or abandonment recovery. | Gap |
Paid mold-inspection landing pageThe flagship paid surface — value proposition and urgency are the failing levers32/64
| What a paid landing page needs | What we observed | Verdict |
|---|---|---|
| Continues the ad's exact promise | Ad promises an inspection; the page shows a generic services wall. | Gap |
| Headline names the buyer's outcome | Names the category, not the worried homeowner's outcome. | Gap |
| Primary action one tap above the fold (mobile) | The call action isn't sticky or above the fold on mobile. | Gap |
| Proof at the point of decision | Review proof isn't placed near the CTA. | Gap |
| A clean, short form | Form mechanics are sound — single column, few fields. | Done well |
| Focused path, minimal competing links | Attention ratio trends to one action, though full nav remains. | Partial |
6/10Attention · upstream — earns the read
2/7Value proposition · the central lever
3/8Relevance · lift — continues what brought them
7/11Clarity · lift — parses fast
0/2Urgency · lift — a reason to act now
5/13Anxiety · drag — the trust blockers
9/13Distraction · drag — friction on the path
1/3Distinctiveness · scored independently — the brand axis
Google Business running
The local-pack path: a strong, well-reviewed profile drives calls and directions. The build is good; the gap is what happens after the call.
| Piece | What it needs | What we observed | Verdict |
|---|---|---|---|
| Acquisition | Show up in the local pack, well-reviewed | Strong presence — 142 reviews at 4.8★, complete profile, real photos. | Done well |
| Conversion | A one-tap call or directions action | Call and directions are present and prominent. | Done well |
| Lead handling | A fast response to the call | Same gap — no speed-to-lead routine once the phone rings. | Gap |
| Retention | A firing review-ask loop | No systematic review request after the job to compound the proof. | Gap |
Google Business profileComplete and well-reviewed; posts and offers underused50/64
| Key surface checks | What we observed | Verdict |
|---|---|---|
| Complete profile with real photos | Categories, hours, services, and genuine photos all present. | Done well |
| Strong, recent reviews | 142 reviews at 4.8★, recent and specific. | Done well |
| Clear primary action | Call and directions are one tap. | Done well |
| Posts & offers used | The posts/offers slots sit empty — a free urgency lever unused. | Gap |
Not running yet opportunity
Catalogued so nothing reads as missed. These are funnels FMT could run but doesn't today.
| Funnel | What we observed | Status |
|---|---|---|
| Lifecycle / email | No flows live — welcome, post-job, review-ask, and reactivation are all open opportunities. | Not running |
| Paid social | Not applicable — FMT runs no paid social today; high-intent search fits the urgent buyer better. | N/A |
The plan
Every fix and bet we found, as one list. It is ordered the way we'd run it — stop what's leaking, bank the quick wins, then build the bigger bets — but you can sort it by the outcome, funnel, surface, or type you care about using the filters above. Open any row for what we'd do, why it works, the problem it solves, and how we'd size it.
1 · Fix what's leaking now
| # | Task | Type | Outcome | Surface | ICE | |
|---|---|---|---|---|---|---|
| 1 | Add a sticky click-to-call bar above the fold on mobile paid landing pages | Ship | Conversion | Paid LP | 8109 | |
What we'd do Pin a one-tap call bar to the top of every mobile paid landing page. Why it works Best practicePrimary action above the fold on mobile; one tap from intent to call. BenchmarkOne-tap call paths lift mobile lead capture in local services (WordStream local-services benchmarks). The problem it solves Ready mobile buyers leave the paid page without reaching the phone. See the observation → Sizing Recovers a share of the paid mobile visits that leave without contact. estimate Sized once call-tracking is connected. | ||||||
| 2 | Stand up a five-minute speed-to-lead callback routine | Build | Lead speed | Ops | 985 | |
What we'd do Route every new lead to an instant alert and a defined five-minute callback. Why it works BenchmarkContacting a web lead within five minutes vs an hour sharply raises qualifying odds (HBR, The Short Life of Online Sales Leads). MechanismThe first responder usually wins the job; speed compounds booking odds. The problem it solves Inbound is answered best-effort, often over an hour later. See the observation → Sizing A large lever on booked rate. estimate Sized once first-response time and booked rate are tracked. | ||||||
| 3 | Implement conversion tracking — forms, calls, and the booking webhook | Build | Measurement | Site-wide | 896 | |
What we'd do Wire analytics goals, call tracking by channel, and a booking-confirmed webhook. Why it works MechanismYou can't improve what you can't see; this unblocks sizing for every other item. The problem it solves Most of the funnel is invisible — the dominant booking-call path is unmeasured. See the observation → Unlocks Sizing of the booking and repeat opportunity, and honest before/after on every shipped change. | ||||||
2 · Quick wins
| # | Task | Type | Outcome | Surface | ICE | |
|---|---|---|---|---|---|---|
| 4 | Match each paid landing page to the ad that precedes it | Ship | Conversion | Paid LP | 797 | |
What we'd do Align each landing page's headline, hero, and CTA to the ad it follows. Why it works Best practiceMessage match — the page repeats the ad's exact promise and visual. MechanismMaintained scent lowers bounce and carries intent into the form. The problem it solves Ads promise an inspection; the page shows a generic services wall. See the observation → | ||||||
| 5 | Add a Google-reviews proof block beside the booking button | Ship | Trust | Booking | 698 | |
What we'd do Place a three-review proof block directly above the booking button. Why it works Best practiceProof at the point of decision. MechanismSocial proof answers the trust objection at the moment of commit. The problem it solves Strong reviews exist but sit in the footer. See the observation → | ||||||
| 6 | Surface the satisfaction guarantee on the landing-page hero | Ship | Trust | Site-wide | 689 | |
What we'd do Add the guarantee as a hero trust line and a badge beside the CTA. Why it works Best practiceReverse the buyer's real fear up front, where the decision is made. The problem it solves The guarantee exists but is buried; buyers never see the reason to feel safe. See the observation → | ||||||
| 7 | Add a visible "from $" price range to the landing page | Ship | Pricing | Site-wide | 578 | |
What we'd do Publish a starting price or range, with what's included. Why it works BenchmarkPrice transparency is a lane a local rival already owns ("from $199"); silence sends price-sensitive buyers away. The problem it solves No price is shown anywhere; price-sensitive buyers bounce rather than call to ask. See the observation → | ||||||
| 8 | Pin the phone number into a sticky header on every page | Ship | Conversion | Site-wide | 599 | |
What we'd do Add a persistent header with a tap-to-call number site-wide. Why it works MechanismThe call is the dominant intent; keep it one tap away at every scroll position. The problem it solves The number scrolls away on most pages. See the observation → | ||||||
3 · Bigger bets
| # | Task | Type | Outcome | Surface | ICE | |
|---|---|---|---|---|---|---|
| 9 | Build a dedicated paid inspection landing page | Build | Conversion | Paid LP | 875 | |
What we'd do Build a focused inspection page — one promise, proof, price, and a single CTA. Why it works Best practiceA purpose-built landing page out-converts a shared services page for paid traffic. The problem it solves Paid has no purpose-built page; it shares the generic services page. See the observation → Sequences after Builds on the message-match work (#4). | ||||||
| 10 | Upgrade the booking confirmation and reminder for show rate | Build | Conversion | Booking | 676 | |
What we'd do Add a same-day reminder, an easy reschedule link, and prep instructions. Why it works Best practiceReminders and easy reschedule reduce no-shows in appointment businesses. The problem it solves Confirmation fires but does little to reduce no-shows. See the observation → | ||||||
| 11 | Launch an annual re-inspection / membership offer | Test | Retention | Ops | 764 | |
What we'd do Test a low-cost annual re-inspection membership at the end of each job. Why it works BenchmarkRecurring offers lift lifetime value in home services. MechanismTurns a one-time job into a relationship with a reason to return. The problem it solves Every job ends the relationship; there's no reason to come back. See the observation → Sizing estimate A test, not a sure thing — sized after the booking and repeat opportunity is measured. | ||||||
| 12 | Build a post-job reviews-generation loop | Build | Trust | Ops | 676 | |
What we'd do Trigger a review request after every completed job, routed to Google. Why it works MechanismCompounds the strongest existing asset — review volume and recency feed the local pack. The problem it solves Reviews are strong but accumulate slowly and aren't asked for systematically. See the observation → | ||||||
How to run it
Most of the list is independent — work down it and check things off. A few items are best batched, and a few must wait on something else. Here is how the work groups into cycles.
| How to run it | Which items | Why |
|---|---|---|
| Do as much as you can | The quick wins (#4–#8) and the click-to-call (#1) | Independent, safe, fast. Ship them as a single release the first week. |
| Best done together | Speed-to-lead (#2) + booking reminder (#10) | Both touch the lead-to-booked hand-off; building them as one motion avoids rework. |
| Must be sequenced | Paid LP (#9) after message-match (#4); membership (#11) and reviews loop (#12) after tracking (#3) | The page needs the matched message first; the bets need measurement so their effect can be read. |
Parked for now
We looked at these and judged them below the bar for this cycle — listed so nothing reads as missed.
| Item | Why it's parked | Revisit when |
|---|---|---|
| Programmatic location pages for nearby towns | Real organic upside, but it depends on tracking and content capacity that aren't stood up yet. | Measurement lands |
What we know, and what's still dark
To make great decisions we'd want a full picture across these areas. Here is the whole framework, and where each part stands today — so you can see what's solid, what's partial, and what we still can't see. Nothing is hidden; the gaps are the first thing we close together.
| What we'd want to know | Why it matters for decisions | Status |
|---|---|---|
| Traffic & volume by channel | Where demand comes from and how much there is | Known |
| On-site engagement | What visitors do before they convert or leave | Partial |
| Channel attribution | Which channel actually drives booked jobs | Dark |
| Conversion tracking (form, call, booking) | Where the funnel leaks, by step and surface | Dark |
| Lead-to-booked rate | Whether leads become scheduled inspections | Dark |
| Job value & unit economics | What a job is worth and what acquisition can cost | Partial |
| Retention & repeat | Second jobs and lifetime value per household | Dark |
| Competitive footprint | How rivals show up on the observable facts | Known |
| Customer voice & objections | The buyer's own language and reasons to hesitate | Partial |
Dark funnel
Paths that are structurally hard to see — stated plainly so the sized numbers stay honest.
| Path | Why it's dark |
|---|---|
| Phone bookings | The dominant path is a call, and calls aren't yet attributed to a channel or tracked to a booking. |
| Offline close | Whether a booked inspection becomes a paid job lives in the field, not in any system we can read. |
| Repeat jobs | Second and third jobs from the same household aren't linked, so retention is invisible. |
What we'll start measuring
The instrumentation that turns the dark areas above into measured ones, and what each unblocks.
| Signal | Status | What it lets us see |
|---|---|---|
| Form submission | Proposed | Visit-to-lead on every page. Unblocks form-driven landing-page findings. |
| Phone tap | Proposed | Mobile call intent by channel. Unblocks click-to-call sizing. |
| Booking confirmed | Proposed | Lead-to-booked conversion. Unblocks full-funnel sizing and the repeat motion. |
| Call-tracking number per channel | Not started | Which channel drives booked calls. |
Open questions
What we'd ask you to help answer, why it's open, and what closes it.
| Question | Why it's open | What closes it |
|---|---|---|
| What's the true close rate from booked inspection to paid job? | The close happens offline. | 90 days of booking + invoice data. |
| What's the average job value by channel? | Revenue isn't tagged to source. | An invoice export with lead source. |
| How many mobile visitors choose calls vs forms? | Call taps aren't tracked. | The phone-tap event above. |
Out of scope this cycle
Deliberately set aside for now — listed so nothing reads as missed.
| Area | Why it's out of scope |
|---|---|
| Email & SMS nurture | No list or consent flow yet — revisit once lead capture and tracking are live. |
| Paid social | Not currently running; no spend to optimize this cycle. |
Competitive
How FMT lines up against the local players a buyer actually compares you to — on the observable facts only. Traffic, ad, and keyword counts are tool estimates from public sources; we never assert a competitor's conversion rate. A deeper teardown is a later cycle.
| Player | Est. monthly visits | Live ads | Page-1 keywords | Offer shown | Primary CTA | Where they win |
|---|---|---|---|---|---|---|
| Fast Mold Testing | ~6,900 | 4 | 34 | Inspection, no guarantee shown | Call / contact | Strong reviews (hidden) |
| MoldGuard Inspectors | ~12,400 | 9 | 120 | Satisfaction guarantee, up front | Book online | Guarantee & mobile call path |
| SafeAir Home | ~4,200 | 2 | 28 | "From $199" inspection | Book online | Transparent pricing |
The open lane
Where the comparison points to a position no local rival fully owns — the wedge the roadmap leans into.
| Dimension | What rivals do | The opening for FMT |
|---|---|---|
| Guarantee | MoldGuard states a satisfaction guarantee up front; SafeAir doesn't. | Surface a clear guarantee — FMT has one, but it's buried. |
| Price transparency | SafeAir shows "from $199"; MoldGuard hides price. | Publish a starting price — neither leader pairs price with a guarantee. |
| Proof at the decision | Both show some proof on the landing page. | FMT's review proof is stronger but hidden — move it to the decision. |
Your data sources
Every source we'd read to run the funnel — whether it's connected and flowing, and how far we trust it. This is where you can tell us a source is wrong, unreliable, or missing. The numbers themselves live in Inventories; this map is about the connections behind them.
| Source | What it should feed | Status | Reliability | Notes |
|---|---|---|---|---|
| Google Analytics 4 | Site traffic and on-site behavior | Partial | Partial | Tag fires, but no account access to verify events. Read access needed. |
| CallRail | Phone-call tracking | Flowing | Trusted | Calls captured; not yet tied to a channel or a booking. |
| Google Ads | Paid spend, clicks, conversions | Not connected | — | Read access needed to measure the paid funnel. |
| Google Business Profile | Local views, calls, directions | Flowing | Trusted | Insights available and consistent. |
| Google Search Console | Organic impressions, queries, position | Flowing | Trusted | Connected; backs the organic reads. |
| Booking system | Booked inspections | Partial | Partial | Confirmations fire, but no "booking confirmed" webhook yet — lead-to-booked is dark. |
| Job / invoicing system | Paid jobs, revenue, repeat customers | Not connected | — | The offline close lives here; an export is needed to size close rate and LTV. |
| Experiment tooling | Controlled before/after tests | Not connected | — | No way to run and read an A/B test yet. |
What we examined
The whole territory — including where we found nothing wrong. Healthy is stated, not hidden.
| Layer | Organic | Paid | Google Business | Repeat |
|---|---|---|---|---|
| Context | Finding | Finding | Healthy | Finding |
| Funnels | Finding | Finding | Healthy | Unmeasured |
| Surfaces | Partial | Finding | Healthy | Out of scope |
The facts we collected
A catalog of what is true about your site, your traffic, and your market — facts only, no judgment. Every verdict in the Full Audit reads from these facts; the Data tab maps the sources behind them. Every field is listed even when we have not measured it yet, so the gaps are visible, not hidden.
Site & platform
What the site is built on, how it performs, and how accessible it is.
| Tool | Category | What it does | Reliability | Feeds canonical data |
|---|---|---|---|---|
| Google Analytics 4 | Analytics | Site analytics (tag present, access not yet granted) | partial — tag fires, no account access to verify events | No |
| CallRail | Calls | Call tracking for phone leads | trusted | No |
| Page | Purpose | Category | Visits | Bounce | Lighthouse | Indexable |
|---|---|---|---|---|---|---|
| / (homepage) | Brand intro + routing | Acquisition | — | — | 58 | Yes |
| Criterion | Level | Status | What we saw |
|---|---|---|---|
| 1.4.3 Contrast (Minimum) | AA | Fail | Body text on teal fails 4.5:1 in the footer and CTA band |
Content & brand
What the site says and how it looks.
| Page | Type | Word count | Proof elements | Primary CTA |
|---|---|---|---|---|
| /mold-testing | Service | 480 | 1 | Call now |
| Asset | Class | Where used |
|---|---|---|
| Brand color — teal | Color | Header, primary buttons |
Acquisition & competitive
Where prospects come from and who else is competing for them. Volume and cost land once analytics and ad accounts are connected.
| Channel | Active | Monthly volume | Cost | CAC | CVR | Conversion event |
|---|---|---|---|---|---|---|
| Organic | Yes | — | $0 | — | — | Call |
| Paid search | Yes | — | — | — | — | Call |
| Competitor | Est. organic | Keywords | Page-1 | Live ads | Local pack | Offer |
|---|---|---|---|---|---|---|
| Regional Mold Prosregionalmoldpros.com · CTA: Book online | 2,400 | 610 | 41 | 6 | Yes | Free inspection |
Channels
The four acquisition and retention channels. SEO is read from public rank data; paid and lifecycle land once accounts are connected.
| Keyword | Volume | Position | Market | Verified SERP | Intent |
|---|---|---|---|---|---|
| mold testing raleigh nc | 1,300 | 14 | Raleigh NC | Yes | Commercial |
How this audit thinks
The model the engine assesses against — so the report reads as one coherent system, not a list of opinions.
The three layers
Every funnel is assessed top-down through three layers. A weak layer caps the ones below it: a brilliant landing page can't save a business with no offer, and a great offer can't save a funnel with no way to capture the lead. We use plain names in this report — the engine's internal terms are noted in parentheses.
The scorecard
Every area — a Context domain, a funnel piece, a surface — is scored the same way: against a defined checklist of what great looks like, each criterion drawn from a named framework. Every criterion gets one of three verdicts:
The score is how many criteria are done well over how many apply (e.g. Customer 4/7); criteria that don't apply are excluded, never counted against you. As a rough read, 70%+ is healthy, 40–69% is mixed, under 40% needs work. We show the passes as well as the misses, so you see what's working and exactly what to fix to raise the score — a count you can act on, not a vague grade.
The LIFT lens
LIFT is a lens we read each surface through — not the leading frame. We first score a surface against the concrete elements it should have (a hero that names the outcome, proof at the decision, a one-tap mobile call), then use LIFT to explain why a surface converts or doesn't. A page can pass every LIFT factor and still be a poor surface if the elements are disconnected, so the surface criteria lead and the lens follows. Value proposition is the central lever; relevance, clarity, and urgency lift it; anxiety and distraction drag it down; attention sits upstream of all of them.
Scoring & sequencing
Beyond the pass-rate scores, every recommended finding is rated on three 1–10 axes, then sequenced. We never publish an invented number — the metric named on each card is the real one we expect to move, and magnitude is left to the measured result rather than a fabricated forecast.
| Axis | Asks |
|---|---|
| Impact | How much revenue the fix is worth if it works. |
| Confidence | How well-evidenced it is — data, pattern, and mechanism. |
| Effort | How fast it ships (higher = faster, lower lift to build). |
Each finding is then routed by certainty and reversibility: high-certainty, easily-reversible changes are a Ship; uncertain-but-reversible ideas are a Test; uncertain-and-costly questions are Research first.
Causal chains
Where a symptom, its cause, and the fix line up, we say so explicitly — so the recommendation reads as a chain, not a guess.
Evidence & confidence
Every claim in this report is backed, and we show the backing. A finding earns confidence from up to five kinds of evidence — the more that stack, the higher the confidence we report on it.
When a number is measured, we show it. When it's an estimate or an inference — because the tracking isn't live yet — we flag it estimate and give it as a range, never a guarantee. We never assert a competitor's conversion rate or invent a "lift to X%" — magnitude is left to the measured result.
Observations & solutions
The audit produces two linked things. An observation is a problem or opportunity we found, with its evidence — it stands on its own, even where we don't yet prescribe a fix (we say why). A solution is an action that addresses one or more observations. The Full Audit leads with the observation; the Roadmap leads with the solution and links back to the problem it solves. One master list feeds both, so nothing is double-counted and every recommendation traces to something we observed.