2026 · Q2 Audit

Fast Mold Testing

Overview
13
findings
5 sized · 1 parked
5
ship-now
quick wins
4
segments audited
channels
13
domains scored
across 3 layers

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

Overview — the headline read: what we audited, the biggest wins, what we need from you. Full Audit — the deep diagnosis: your context, your surfaces, and each funnel, scored against what great looks like. Roadmap — every fix and bet as one sortable list. Start at the top; filter by the outcome you care about. Unknowns — the full picture of what we'd want to know, and which parts are still dark. Competitive — who else competes for the same buyer, by the observable facts. Inventories & Data — the facts we collected and the data sources behind them.

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.

In placePartialGap
ContextThe knowledge that feeds strategy, decisions, and tactics — audited for completeness and accuracy15/34
Customer4/7 →
ICPTriggersAwarenessSegmentsVoice of customerObjectionsJTBD
Offer & positioning2/8 →
Offer statedPromiseOwnable claimNamed mechanismRisk reversalProofSecond-dollarDifferentiation
Economics3/4 →
Unit economicsPaybackMarginValue-metric pricing
Goals & capacity2/5 →
North starCapacityModel-market mathShipping pathConstraints
Measurement1/6 →
Canonical eventDominant pathAttributionExperiment toolingDashboardsData hygiene
Competitive context3/4 →
Rivals namedTeardownOpen laneCitable benchmarks
FunnelsThe systems that move people to a sale — assessed per active funnel, piece by piece5/22
Organic search Google Business Paid search Lifecycle / email Paid social
Acquisition where strangers come from1/4 →
Channel-mix fitMessage-matchPer-channel trackingCAC known
Conversion the platform and the route to a yes3/10 →
Primary actionPost-conversionArchetype fitPaid LPSecondary ladderRetargetingRecoveryProof placementForm UXMobile path
Lead handling turning a lead into a booked job1/4 →
Show-rate remindersSpeed-to-leadRoutingNo-show recovery
Retention / expansion revenue after the first yes0/4 →
Lifecycle mapSecond-dollarAdvocacyWinback
SurfacesHow well each touchpoint is built — scored against surface criteria, with LIFT as the lens120/192
Paid mold-inspection landing page value proposition and urgency are the failing levers32/64 →
AttentionValue propRelevanceClarityUrgencyAnxietyDistraction
Google Business profile complete and well-reviewed; posts and offers underused50/64 →
AttentionValue propRelevanceClarityUrgencyAnxietyDistraction
Organic service page ranks, but converts below the paid page38/64 →
AttentionValue propRelevanceClarityUrgencyAnxietyDistraction

The biggest wins

The five highest-impact moves. Open a row for the reasoning, the evidence behind it, and the problem it solves.

#TaskTypeICEMetric it moves
1Add a sticky click-to-call bar above the fold on mobile paid landing pagesShip8109Paid 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
2Stand up a five-minute speed-to-lead callback routineBuild985First-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
3Match each paid landing page to the ad that precedes itShip797Paid 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
4Add a Google-reviews proof block beside the booking buttonShip698Booking-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
5Test an annual re-inspection / membership offerTest764Repeat 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.
+ 8 more in the full roadmap →

Needed from you

A few inputs unblock the measurement and let us size the opportunity. Each is quick on your side.

The askWhat it unlocksUrgency
Grant analytics + Google Ads read accessMeasure the paid funnel end to endHigh
Confirm the booking system can fire a "booking confirmed" webhookLead-to-booked conversion trackingHigh
Share 90 days of call-tracking logsSee the dominant path — the booking call — for the first timeMedium
Approve the proposed tracking eventsForm submission · phone tap · booking confirmedMedium

Funnel by channel

Where each channel leaks today. Steps we can't measure yet are shown honestly.

Paid
Visit
2,600/mo
Lead
5.0%
Biggest drop: 95% of visits leave without a lead
Booked
Not yet measured
Organic
Visit
1,400/mo
Lead
3.2%
Biggest drop: 97% of visits leave without a lead
Booked
Not yet measured
Google Business
Views
3,100/mo
Calls / directions
8%
Booked
Not yet measured
Repeat & referral
Past customers
small base
Repeat booking
Not yet measured
See each funnel in the Full Audit →

What we can't see yet

The honest edges of this audit. These shape what we can size and what we'll measure first.

The booking call is the dominant conversion path — and it isn't tracked yet
So the sized numbers cover only the funnel we can already measure.
Lead-to-booked conversion is unmeasured until the booking webhook lands
We can see leads arrive, not whether they turn into booked inspections.
Repeat / reactivation rate is unknown — no tracking on second jobs
We can't yet size the retention opportunity, only name it.
See all unknowns →
View Funnel Surface

How this page is organized

Context — the knowledge behind the work: is the strategy sound? Audited once, applies to everything. Site-wide surfaces — the pages every visitor meets, whatever brought them. Funnels — each path to a sale, end to end: the pieces it needs and the surfaces inside it. Scoring — each criterion is Gap Partial Done well. The score counts the ones done well.

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.

Context · 15 / 34 criteria 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: the best buyer is named with their economics, the job they hire you for is in their words, the trigger and objections are known, and the site speaks to that buyer.
What great looks likeWhat we observedVerdict
ICP & segments namedPrimary buyer named — homeowners post-failure or with visible mold; urgent intent.Done well
Job-to-be-done in buyer languageGoal inferred from reviews ("peace of mind"), never captured in an interview.Partial
Buying trigger namedClear triggers: failed inspection, a home sale, visible mold, a health worry.Done well
Voice-of-customer corpus currentNo systematic review or transcript mining; verbatim phrases aren't collected to reuse.Gap
Objection inventory presentTop objections aren't counted from non-converters; the big five are unswept.Gap
Awareness-stage mix knownPaid skews problem-aware, Google Business solution-aware; messaging mostly matches.Done well
Site speaks to the best buyerThe 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: a one-sentence offer, an ownable claim a rival couldn't paste, a named mechanism, a risk reversal scoped to the buyer's real fear, and a designed second purchase.
What great looks likeWhat we observedVerdict
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 alternativeNo frame against "do nothing" or a DIY test kit — the actual alternatives.Gap
Value-equation variables engineeredDream outcome and perceived likelihood left generic; the weakest variable isn't worked.Gap
Named unique mechanismNo named "how" a competitor couldn't claim.Gap
Risk reversal scoped to the fearA satisfaction line exists but is buried; the real fear isn't reversed up front.Partial
The second dollar is designedNo engineered next transaction (re-inspection, membership) — caps affordable CAC.Gap
Sophistication-matched messageA 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: unit economics known, LTV:CAC and payback inside tolerance for this model, and pricing that scales on a value metric.
What great looks likeWhat we observedVerdict
Unit economics knownJob value and rough CAC known; estimated honestly where soft.Done well
LTV:CAC clears this model's barHealthy for a high-margin one-time job; the ratio supports paid acquisition.Done well
Payback inside toleranceCAC pays back inside a single job — well within the cash window.Done well
Pricing scales on a value metricFlat 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: a named north star with a target, market math that supports it, a known capacity ceiling, a documented shipping path, and a recorded constraints map.
What great looks likeWhat we observedVerdict
North star + the number namedBooked inspections per month, target +25% in two quarters.Done well
Model-market math supports the goalReachable demand × price not yet modeled against the revenue target.Gap
Capacity ceiling knownInspectors can absorb ~25% more bookings before scheduling breaks.Done well
Shipping velocity & approval path knownWho ships site changes, how fast, and who approves isn't documented.Gap
Constraints map capturedUntouchables — 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: one canonical conversion event, the dominant path measured end to end, source-level conversion readable, honest attribution, a written dark-funnel list, and experiment tooling.
What great looks likeWhat we observedVerdict
Canonical conversion event definedNo single, deduplicated, source-attributed conversion event per funnel.Gap
Dominant path measured end to endThe phone-booking path, where most revenue flows, is unmeasured.Gap
Source-level conversion readableUTMs don't survive into the analytics/CRM join, so per-channel conversion is partial.Gap
Attribution honestyNo self-reported "how did you hear about us?" alongside the software read.Gap
Dark-funnel list writtenWhat's structurally unmeasurable is stated, not hidden (see Unknowns).Done well
Experiment infrastructure presentNo 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: the real comparison set named, each rival torn down on observable facts, the open lane identified, and category benchmarks sourced. The full head-to-head lives in the Competitive tab.
What great looks likeWhat we observedVerdict
Real comparison set namedThe local rivals buyers actually compare you to are named.Done well
Line-by-line teardown doneEach rival torn down on offer, proof, and pricing — not just homepages.Done well
The open lane identifiedA stated guarantee plus transparent pricing is a lane no local rival owns.Done well
Category benchmarks sourcedWe 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
AttentionValue propClarityAnxietyDistraction
What we expect on a homepageWhat we observedVerdict
Headline names the outcome, not the categoryLeads with "Mold Inspection Services" — a category label, not the worried homeowner's outcome.Gap
A single, obvious primary actionCall and "request inspection" both present; the call path is clear.Done well
Phone tappable above the fold on mobileNumber is in the header but not a one-tap sticky action on mobile.Partial
Proof near the top142 reviews at 4.8★ exist but sit far down the page.Gap
Services and coverage area are clearWhat's offered and where is easy to find.Done well
Reads clearly in five secondsA stranger can state what's sold and who it's for.Done well
Loads fast on mobileAcceptable 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 includesWhat we observedVerdict
Phone number, tappablePresent in the header.Done well
A primary CTA button in the navNo standing "Book / Get an inspection" button in the nav bar.Gap
A pricing or "what it costs" entryNo pricing or cost-explainer link; a common buyer question goes unanswered.Gap
Services clearly labeledService categories are legible and conventional.Done well
Logo links home; links look like linksConvention-compliant.Done well
Usable on mobileMenu works; tap targets are adequate.Done well
Trimmed on paid landing pagesFull 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 expectWhat we observedVerdict
Real reviews with namesGenuine local reviews with real names.Done well
Review count + rating shown site-wideThe 4.8★ / 142-review proof isn't surfaced near decisions.Gap
Licensing & certification displayedState licensing and certification aren't shown as trust proof.Gap
A guarantee or risk reversal surfacedA satisfaction line exists but is buried.Partial
Nothing broken or staleNo dead links or placeholder content.Done well
Consistent name, address, phoneNAP 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 Google Business Paid search Lifecycle / email Paid social

Organic search running

The primary channel: buyers searching "mold testing near me" land on a service page and call or book.

The pieces · 0 done well · 2 partial · 2 gaps
PieceWhat it needsWhat we observedVerdict
AcquisitionRank for the terms buyers searchRanks for core local terms; long-tail and intent coverage thin.Partial
ConversionA page that turns the visit into a call or bookingService page ranks but converts below paid — thin proof, weak CTA.Partial
Lead handlingA fast, owned response to the inboundBest-effort callback, often over an hour; no speed-to-lead routine.Gap
RetentionA reason and a path to returnNo lifecycle or repeat motion after the job.Gap
Surfaces in this funnel
Organic service pageRanks and reads clearly, but converts below the paid page38/64
AttentionValue propRelevanceClarityUrgencyAnxietyDistraction
Key surface checksWhat we observedVerdict
Clear, well-structured contentReads cleanly; ranks for its terms.Done well
Proof near the CTAReviews are thin and far from the booking ask.Gap
A specific, outcome-named CTAGeneric "Contact us" rather than "Book an inspection".Gap
A reason to act nowNo honest urgency surfaced.Gap
Risk reversal where the fear isGuarantee 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.

The pieces · 0 done well · 4 gaps
PieceWhat it needsWhat we observedVerdict
AcquisitionEach ad matched to a landing surface, trackedCampaigns live, but no message-match and per-channel tracking is dark.Gap
ConversionA dedicated, message-matched landing pagePaid shares the generic services page; the phone is buried on mobile.Gap
Lead handlingA fast response to paid leadsSame gap — no speed-to-lead routine.Gap
RetentionRecapture of non-convertersNo retargeting or abandonment recovery.Gap
Surfaces in this funnel
Paid mold-inspection landing pageThe flagship paid surface — value proposition and urgency are the failing levers32/64
What a paid landing page needsWhat we observedVerdict
Continues the ad's exact promiseAd promises an inspection; the page shows a generic services wall.Gap
Headline names the buyer's outcomeNames 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 decisionReview proof isn't placed near the CTA.Gap
A clean, short formForm mechanics are sound — single column, few fields.Done well
Focused path, minimal competing linksAttention ratio trends to one action, though full nav remains.Partial
Through the LIFT lens · each factor's score is the share of its checks that pass — expand a factor to see them
AttentionValue propRelevanceClarityUrgencyAnxietyDistractionDistinctiveness
6/10Attention · upstream — earns the read
Glance reads professional & on-categoryThe 50ms impression is clean and credible.
Squint test: headline + CTA surviveBlurred, the two key elements still stand out.
Single standout = the conversion actionSeveral elements compete; the call/book action isn't the one isolated thing.
Fold payload earns the scrollThe fold lacks a proof element and a clear reinforcing visual.
Decision-critical content in 3 screenfulsThe core argument is within the attention budget.
No false floor; content continues at the foldThe edge signals more below.
No auto-rotating carouselStatic hero — good.
Selective emphasis only on key elementsToo many elements carry equal visual weight.
Complexity ceiling: simple silhouetteThe squint silhouette stays ordered.
Gaze direction toward CTAThe hero face looks away from the headline/CTA.
2/7Value proposition · the central lever
Headline names the problem or outcomeHeadline names the category ("Mold Inspection Services"), not the worried homeowner's outcome.
The after-state is shownNo picture of the calm, certain "your home is safe" outcome.
Subhead adds a concrete specific"Results in 48 hours" gives one real specific.
A named unique mechanism is on the surfaceNo named "how" that a competitor couldn't paste.
The offer is concreteThe visitor can tell what the inspection includes.
The cost side is collapsedEffort/time-delay not named down ("no prep", "we handle it").
One element memorable enough to retellNothing sticky — no signature guarantee, number, or named process.
3/8Relevance · lift — continues what brought them
No continuity break from the adThe ad's specific promise isn't echoed on the page (floor failure).
H1 matches the ad's promise + keywordGeneric headline; not matched to the paid keyword.
Depth matches awareness stageProblem-aware visitors get category framing, not problem-first.
Entry intent is the first subjectThe inspection-for-a-home-sale intent isn't led with.
Names who it's for"For homeowners and home buyers" appears.
Copy echoes the segment's wordsNo review/transcript language on the page.
Proof matches the visitor's situationSome local homeowner reviews present.
Every persona has a visible pathBuyers and owners both have a route.
7/11Clarity · lift — parses fast
Five-second test passesA stranger can state what's sold and who it's for.
Convention complianceLogo links home, links look like links.
Front-loaded words in headingsSeveral headings bury the information word.
Layer-cake testMessage survives reading only headings + bullets.
ScannabilityChunked, short paragraphs.
Reading level 5th–7th gradePlain language.
Accessibility floorBody text under 16px on mobile in places; one low-contrast pair.
Line measure & alignmentReadable measure, left-aligned.
No content styled like an adNo banner-blindness risk.
CTA copy says what happens next"Submit" / "Contact us" — generic verbs.
Complexity absorbed (defaults, pre-fill)Form doesn't pre-fill or progressively disclose.
0/2Urgency · lift — a reason to act now
Honest urgency where it existsNo real urgency surfaced — appointment scarcity, health risk of waiting, or a response promise.
CTA names the outcome, not the mechanism"Submit" instead of "Get my inspection booked".
5/13Anxiety · drag — the trust blockers
Named proof above the foldReview count + rating not shown above the fold.
Real names, faces, specifics in testimonialsReviews carry real names.
Risk reversal named where fear existsCertification/guarantee not surfaced near the decision.
Price honestyNo price, anchor, or stated reason it varies.
Top objections answered before the CTA"How long, what does it cost, is it certified" not addressed pre-CTA.
Numbers over adjectivesSome quantified claims present.
Nothing broken or staleNo dead links or placeholder text.
Sensitive asks explainedPhone field carries a short why.
No negative priming near the formNo "spam"/risk words.
Certifications / licensing shownState licensing + certification not displayed as trust proof.
Cost transparency before the last stepNo cost visible at any step.
Honest defaults, no dark patternsA pre-checked upsell isn't the majority-best choice.
Honest urgency renderingA generic "limited slots" line isn't tied to a real deadline.
9/13Distraction · drag — friction on the path
One dominant path per viewportAttention ratio trends to one primary action.
Competing CTAs removed / nav minimalFull site nav stays on the paid page.
CTA repeats at each decision pointNo sticky/repeated CTA; requires scroll-back on mobile.
Option count ≤ 4Few choices at once.
Section order advances an argumentNo restated points.
Form asks only what's neededShort form, fields defended.
Form mechanics soundTop labels, single column, inline validation.
Guest path primaryNo forced account.
Mobile: one-tap, above-fold, thumb-reachableCall action not one tap above the fold.
Speed: LCP under 2.5s mobileMobile LCP ~3.8s (Lighthouse).
Post-click step as easy as promisedNo surprise fields after the click.
CTA mechanics: contrast, Fitts-compliantButton is the highest-contrast element.
Feedback & momentumResponsive states, working back/undo.
1/3Distinctiveness · scored independently — the brand axis
Masked-brand testCover the logo and it could be any inspector — zero surviving cues. The "bland" failure.
Competitive squint testAt thumbnail distance it's at least separable from the two rivals.
Asset consistency (≥2 registered assets)No registered brand assets beyond logo + color.

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.

The pieces · 2 done well · 2 gaps
PieceWhat it needsWhat we observedVerdict
AcquisitionShow up in the local pack, well-reviewedStrong presence — 142 reviews at 4.8★, complete profile, real photos.Done well
ConversionA one-tap call or directions actionCall and directions are present and prominent.Done well
Lead handlingA fast response to the callSame gap — no speed-to-lead routine once the phone rings.Gap
RetentionA firing review-ask loopNo systematic review request after the job to compound the proof.Gap
Surfaces in this funnel
Google Business profileComplete and well-reviewed; posts and offers underused50/64
AttentionValue propRelevanceClarityUrgencyAnxietyDistraction
Key surface checksWhat we observedVerdict
Complete profile with real photosCategories, hours, services, and genuine photos all present.Done well
Strong, recent reviews142 reviews at 4.8★, recent and specific.Done well
Clear primary actionCall and directions are one tap.Done well
Posts & offers usedThe 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.

FunnelWhat we observedStatus
Lifecycle / emailNo flows live — welcome, post-job, review-ask, and reactivation are all open opportunities.Not running
Paid socialNot applicable — FMT runs no paid social today; high-intent search fits the urgent buyer better.N/A
Filter
No items match these filters. Clear filters

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

Stop the active loss first. The urgent items on the main bottleneck — ready buyers who never reach you.
#TaskTypeOutcomeSurfaceICE
1Add a sticky click-to-call bar above the fold on mobile paid landing pagesShipConversionPaid LP8109
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.
2Stand up a five-minute speed-to-lead callback routineBuildLead speedOps985
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.
3Implement conversion tracking — forms, calls, and the booking webhookBuildMeasurementSite-wide896
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

Low-hanging fruit. Small, safe changes with fast lift — ship them in a batch.
#TaskTypeOutcomeSurfaceICE
4Match each paid landing page to the ad that precedes itShipConversionPaid LP797
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 →
5Add a Google-reviews proof block beside the booking buttonShipTrustBooking698
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 →
6Surface the satisfaction guarantee on the landing-page heroShipTrustSite-wide689
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 →
7Add a visible "from $" price range to the landing pageShipPricingSite-wide578
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 →
8Pin the phone number into a sticky header on every pageShipConversionSite-wide599
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

Longer-term, compounding. Fewer, larger builds that change what the funnel can do — start once the early lifts are banked.
#TaskTypeOutcomeSurfaceICE
9Build a dedicated paid inspection landing pageBuildConversionPaid LP875
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).
10Upgrade the booking confirmation and reminder for show rateBuildConversionBooking676
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 →
11Launch an annual re-inspection / membership offerTestRetentionOps764
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.
12Build a post-job reviews-generation loopBuildTrustOps676
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 itWhich itemsWhy
Do as much as you canThe quick wins (#4–#8) and the click-to-call (#1)Independent, safe, fast. Ship them as a single release the first week.
Best done togetherSpeed-to-lead (#2) + booking reminder (#10)Both touch the lead-to-booked hand-off; building them as one motion avoids rework.
Must be sequencedPaid 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.

ItemWhy it's parkedRevisit when
Programmatic location pages for nearby townsReal 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.

KnownPartialDark — not yet measured
What we'd want to knowWhy it matters for decisionsStatus
Traffic & volume by channelWhere demand comes from and how much there isKnown
On-site engagementWhat visitors do before they convert or leavePartial
Channel attributionWhich channel actually drives booked jobsDark
Conversion tracking (form, call, booking)Where the funnel leaks, by step and surfaceDark
Lead-to-booked rateWhether leads become scheduled inspectionsDark
Job value & unit economicsWhat a job is worth and what acquisition can costPartial
Retention & repeatSecond jobs and lifetime value per householdDark
Competitive footprintHow rivals show up on the observable factsKnown
Customer voice & objectionsThe buyer's own language and reasons to hesitatePartial

Dark funnel

Paths that are structurally hard to see — stated plainly so the sized numbers stay honest.

PathWhy it's dark
Phone bookingsThe dominant path is a call, and calls aren't yet attributed to a channel or tracked to a booking.
Offline closeWhether a booked inspection becomes a paid job lives in the field, not in any system we can read.
Repeat jobsSecond 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.

SignalStatusWhat it lets us see
Form submissionProposedVisit-to-lead on every page. Unblocks form-driven landing-page findings.
Phone tapProposedMobile call intent by channel. Unblocks click-to-call sizing.
Booking confirmedProposedLead-to-booked conversion. Unblocks full-funnel sizing and the repeat motion.
Call-tracking number per channelNot startedWhich channel drives booked calls.

Open questions

What we'd ask you to help answer, why it's open, and what closes it.

QuestionWhy it's openWhat 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.

AreaWhy it's out of scope
Email & SMS nurtureNo list or consent flow yet — revisit once lead capture and tracking are live.
Paid socialNot 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.

PlayerEst. monthly visitsLive adsPage-1 keywordsOffer shownPrimary CTAWhere they win
Fast Mold Testing~6,900434Inspection, no guarantee shownCall / contactStrong reviews (hidden)
MoldGuard Inspectors~12,4009120Satisfaction guarantee, up frontBook onlineGuarantee & mobile call path
SafeAir Home~4,200228"From $199" inspectionBook onlineTransparent pricing
Estimates from SEO tools and public ad libraries. Counts are observable facts, not performance claims.

The open lane

Where the comparison points to a position no local rival fully owns — the wedge the roadmap leans into.

DimensionWhat rivals doThe opening for FMT
GuaranteeMoldGuard states a satisfaction guarantee up front; SafeAir doesn't.Surface a clear guarantee — FMT has one, but it's buried.
Price transparencySafeAir shows "from $199"; MoldGuard hides price.Publish a starting price — neither leader pairs price with a guarantee.
Proof at the decisionBoth 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.

Several sources aren't connected yet, which is why much of the funnel is dark. Connecting them is the first work in the roadmap.
SourceWhat it should feedStatusReliabilityNotes
Google Analytics 4Site traffic and on-site behaviorPartialPartialTag fires, but no account access to verify events. Read access needed.
CallRailPhone-call trackingFlowingTrustedCalls captured; not yet tied to a channel or a booking.
Google AdsPaid spend, clicks, conversionsNot connectedRead access needed to measure the paid funnel.
Google Business ProfileLocal views, calls, directionsFlowingTrustedInsights available and consistent.
Google Search ConsoleOrganic impressions, queries, positionFlowingTrustedConnected; backs the organic reads.
Booking systemBooked inspectionsPartialPartialConfirmations fire, but no "booking confirmed" webhook yet — lead-to-booked is dark.
Job / invoicing systemPaid jobs, revenue, repeat customersNot connectedThe offline close lives here; an export is needed to size close rate and LTV.
Experiment toolingControlled before/after testsNot connectedNo 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.

LayerOrganicPaidGoogle BusinessRepeat
ContextFindingFindingHealthyFinding
FunnelsFindingFindingHealthyUnmeasured
SurfacesPartialFindingHealthyOut 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.

Measured read directly from the site or a tool Partial some of the field set captured Not measured needs access we do not have yet Not applicable the channel is not in play
The catalog 13 buckets

Site & platform

What the site is built on, how it performs, and how accessible it is.

Tech Stackvia fingerprintPartial
Every tool the site runs, what it does, how trustworthy it is, and what the platform constrains.
Platform / CMS
WordPress
Hosting / CDN
WP Engine
Platform contract expiry
Not yet measured
Platform constraints
Theme-locked; no tag manager installed; no A/B tooling detected
Tools (2)
ToolCategoryWhat it doesReliabilityFeeds canonical data
Google Analytics 4AnalyticsSite analytics (tag present, access not yet granted)partial — tag fires, no account access to verify eventsNo
CallRailCallsCall tracking for phone leadstrustedNo
Sitevia crawlPartial
Traffic composition (device, channel mix, acquisition vs existing) and the page inventory.
Total monthly visits
Not yet measured
Acquisition vs existing split
Not yet measured
Pages crawled
18
Mobile share
Not yet measured
Desktop share
Not yet measured
Pages per visit
Not yet measured
Mobile bounce rate
Not yet measured
Desktop bounce rate
Not yet measured
Avg session
Not yet measured
Pages (1 of 18 detailed)
PagePurposeCategoryVisitsBounceLighthouseIndexable
/ (homepage)Brand intro + routingAcquisition58Yes
Technicalvia LighthouseMeasured
Core Web Vitals, page weight, Lighthouse scores, and crawl/index health.
LCP
3.1s
CLS
0.04
INP
Not yet measured
FCP
1,800 ms
TTFB
640 ms
Page weight
4.2 MB
Lighthouse performance
58
Lighthouse best practices
79
Lighthouse SEO
83
Structured data present
No
Sitemap.xml present
Yes
Broken links
2
Full page · Homepage, desktop, above the fold
Mobile Performancevia LighthouseMeasured
The mobile-lens deep dive: mobile CWV, tap targets, viewport, mobile engagement.
Mobile LCP
5.4s
Mobile CLS
0.07
Mobile INP
Not yet measured
Tap targets ≥44px
No
Viewport configured
Yes
Min body font (px)
14 px
Mobile traffic share
Not yet measured
Mobile bounce rate
Not yet measured
Element · Primary CTA on mobile, below the fold
WCAG Accessibilityvia axePartial
The accessibility checklist: pass/fail counts per conformance level, plus the per-criterion roll.
Standard
WCAG 2.1 AA
Level A pass
22
Level A fail
5
Level AA pass
14
Level AA fail
9
Contrast violations
7
Missing alt text
12
Keyboard navigable
Not yet measured
Criteria (1 of 51 detailed)
CriterionLevelStatusWhat we saw
1.4.3 Contrast (Minimum)AAFailBody text on teal fails 4.5:1 in the footer and CTA band

Content & brand

What the site says and how it looks.

Contentvia crawlPartial
The content inventory: pages, proof, differentiation visibility, metadata hygiene.
Service pages
4
Blog posts
6
Meta descriptions unique
No
Testimonials present
Yes
Before/after present
No
Differentiation visible
No
Pages (1 detailed)
PageTypeWord countProof elementsPrimary CTA
/mold-testingService4801Call now
Design & Brandvia css-extractMeasured
The extracted design system: typography, color, imagery, brand assets.
Heading font
Montserrat
Body font
Open Sans
Type scale
1.250 (major third)
Primary color
#1a5e63
Secondary color
#0d3b3e
Accent color
#f4a259
Logo present
Yes
Imagery style
Stock photography, inconsistent treatment
Assets (1 detailed)
AssetClassWhere used
Brand color — tealColorHeader, 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.

Traffic AcquisitionNot measured
Where new prospects come from — volume, cost, and CAC per channel.
Total monthly visits
Not yet measured
Acquisition-relevant visits
Not yet measured
Primary channel
Organic
Channels (2)
ChannelActiveMonthly volumeCostCACCVRConversion event
OrganicYes$0Call
Paid searchYesCall
Competitivevia cro-researcherPartial
The competitor set and each rival's observable footprint — facts only; the head-to-head comparison is the Audit.
Competitors catalogued
3
Market
Raleigh NC
Competitors (1 of 3 detailed)
CompetitorEst. organicKeywordsPage-1Live adsLocal packOffer
Regional Mold Prosregionalmoldpros.com · CTA: Book online2,400610416YesFree inspection

Channels

The four acquisition and retention channels. SEO is read from public rank data; paid and lifecycle land once accounts are connected.

SEOvia dataforseoPartial
Organic footprint: rankings, ranked-keyword depth, branded split, trend, backlinks, plus per-keyword rows.
Ranked keywords
312
Page-1 keywords
34
Page-1 share
11%
Branded share
68%
Est. organic traffic
1,900
Est. paid-traffic equivalent
$5,400
Keywords gained
Not yet measured
Keywords lost
Not yet measured
Avg position
38.5
Referring domains
47
Keywords (1 of 312 detailed)
KeywordVolumePositionMarketVerified SERPIntent
mold testing raleigh nc1,30014Raleigh NCYesCommercial
LifecycleNot measured
Email/retention: the flow inventory, list health, deliverability, owned-revenue share, segmentation.
Flows present
Not yet measured
Flow count
Not yet measured
List size
Not yet measured
Deliverability rate
Not yet measured
Owned-revenue share
Not yet measured
Send cadence
Not yet measured
Segmentation present
Not yet measured
Paid SocialNot applicable
FMT runs no paid social. The field set is held ready for when the channel comes into play.
Campaigns
Not applicable
Monthly spend
Not applicable
Avg CTR
Not applicable
Avg CPM
Not applicable
Frequency
Not applicable
Audiences
Not applicable
Creatives
Not applicable

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.

Context (Foundation)
Is the strategy sound? — customer, offer, economics, goals, measurement, competition
Funnels (Funnel)
Does the machine exist and work? — the canonical pieces that move demand to revenue, per funnel you run
Surfaces (Execution)
Is each touchpoint built well? — the pages and profiles a visitor actually meets

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:

Gap the element is absent — score 0
Partial it exists but is compromised — score 1, still counts as not passing
Done well it's in place and working — score 2, the only one the number counts

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.

CentralValue proposition — the strength of what's offered relative to the cost of acting.
LiftRelevance — does the page match the intent that brought the visitor?
LiftClarity — is the offer and the next step immediately understood?
LiftUrgency — is there a real reason to act now?
DragAnxiety — what fear or doubt blocks the action?
DragDistraction — what competes with the single intended action?
UpstreamAttention — does the surface earn the first three seconds?

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.

AxisAsks
ImpactHow much revenue the fix is worth if it works.
ConfidenceHow well-evidenced it is — data, pattern, and mechanism.
EffortHow 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.

Symptom: leads lost on mobileCause: call buried below the foldFix: sticky click-to-callOutcome: more booked calls

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.

DataA measured number from your own analytics or tools.
BenchmarkA category or competitor figure, with the source named so you can check it.
Best practiceAn established convention with a track record.
HeuristicA conversion principle that reliably holds.
MechanismThe plain reason the change should work.

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.

Observation: ready buyers leave without the phoneSolution: sticky click-to-call (Ship)Measured on: paid mobile visit-to-lead