affiliate · Sep 22, 2026

cntrctrs.com

We found more conversion tactics here than on 27% of the 84 multi-step affiliate funnels we have measured.

3 conversion tactics detected

4 pages walked · measured by Roentgen 1.27.0

Put this x-ray to work Brief your AI X-ray your funnel
How this was measured

Measured by Roentgen 1.27.0 on 2026-09-22. A capture is read once and its measurements freeze there, so the stamp says which ruleset read this one.

This is detection coverage, not a verdict — it counts the conversion tactics we could prove are present, out of the 10 that apply to an affiliate funnel. A low count means we did not detect those patterns, not that the funnel is weak.

Against all 1,781 multi-step funnels, more conversion tactics than 20% of them.

Walk 48 links on the entry page, 35 walkable. 2 matched a funnel step; we captured 4 pages in all, this one included.

The short version, in 5 parts

  1. Proven on the page

    3 conversion tactics detected, each backed by text on the page

    Answers buyer objections
    Common questions from Savannah homeowners
    Shows customer logos or a trusted-by claim
    backed by
    Ranks options in a best-of list
    ranked list

    See all 3

  2. Not seen

    7 of 10 applicable tactics we checked for and did not see

    Press / "as seen in"
    Media logos or an "as seen in / featured in" claim borrowing publication credib…
    Us-vs-them comparison
    A comparison table framing the brand against alternatives.
    Proof above the fold
    Social proof rendered within the first viewport on at least one step.

    + 4 more

    See what we looked for

  3. Flagged

    2 of 13 build checks flagged, each with a fix

    Body text size
    Smallest sampled text is 10px, below the 13px floor this check uses.
    Tap-target size (mobile)
    142 of 150 interactive targets are under 44×44px on mobile.

    See the fixes

  4. Walked

    4 pages walked, Savannah Ga to Electrical Repair

    Step 1
    Savannah Ga
    Step 2
    Electrical
    Step 3
    Electrical Installation

    + 1 more step

    Walk it frame by frame

  5. In their words

    The headline: Home Service Experts in Savannah

    Promise
    Connect with verified local contractors in Savannah. Get free quotes from licensed HVAC technicians, plumbers…

    Read every quote

Captured Savannah Ga
Step 1 · Savannah Ga1 / 4

What we recorded

The funnel, frame by frame

4 steps walked

see their whole funnel without clicking through it. scored step by step

measuredextracted directly from the live page. a fact, not an opinion
Savannah Ga
01

Savannah Ga

▼ thinnest
0 tactics

no named tactics detected on this step

Electrical
02

Electrical

1 tactic

$1,700 +13 more

FAQ
Electrical Installation
03

Electrical Installation

▲ strongest
2 tactics

$2,500 +10 more

FAQLogo wall
Electrical Repair
04

Electrical Repair

1 tactic

$2,500 +11 more  ·  subscription

FAQ

In their own words

13 quoted

the entry page’s own title, headline, buttons and prices — quoted, never paraphrased

measuredextracted directly from the live page. a fact, not an opinion
Page title
Find Home Service Experts in Savannah | HVAC, Plumbing & Electrical | cntrctrs
Meta description
Connect with verified local contractors in Savannah. Get free quotes from licensed HVAC technicians, plumbers, and electricians serving Savannah and surrounding areas.
Headline
Home Service Experts in Savannah
Section headings
Available Services in SavannahReady to Get Started?Popular Services in SavannahMore Cities in GeorgiaElectricalHVACPlumbing
Buttons and links
SERVICESGUIDESGET FREE QUOTES

Sections

2 identified

structural bands identified on this funnel, cropped from its own capture

measuredextracted directly from the live page. a fact, not an opinion
Nav section of cntrctrs.com
Nav0% down the page
Footer section of cntrctrs.com
Footer84% down the page

What we found

3 tactics

conversion tactics we could prove are present, with the on-page text that evidences each

measuredextracted directly from the live page. a fact, not an opinion

objection1 of 2

Answers buyer objections Common questions from Savannah homeowners

proof1 of 5

Shows customer logos or a trusted-by claim backed by

offer1 of 1

Ranks options in a best-of list ranked list

What we didn’t find

7 of 10 applicable

applicable tactics we checked for and did not see on any step we reached

measuredextracted directly from the live page. a fact, not an opinion

What we didn’t see7 of 10 applicable

Press / "as seen in" 642 of the 2,417 funnels we checked
Us-vs-them comparison 441 of the 2,420 funnels we checked
Proof above the fold 381 of the 2,420 funnels we checked
Usage / adoption proof 289 of the 2,043 funnels we checked
Scarcity / urgency copy 125 of the 2,417 funnels we checked
Affiliate disclosure 35 of the 146 affiliate funnels we checked
Outbound offer CTAs 6 of the 146 affiliate funnels we checked

Absence is a measurement, not a recommendation: we do not know why a tactic is missing, whether it belongs here, or whether adding it would change anything. Where a walk stopped early, a tactic living deeper would also read as not detected.

How well it’s built

13 run · 2 flagged

contrast, mobile, typography, accessibility, weight — each with what would fix it

measuredextracted directly from the live page. a fact, not an opinion

2 of 13 measured checks need work

Body text size

type:body-text-size

Smallest sampled text is 10px, below the 13px floor this check uses.

FixKeep body copy ≥15-16px; reserve sub-13px for fine print only.

Tap-target size (mobile)

mobile:tap-target-size-mobile

142 of 150 interactive targets are under 44×44px on mobile.

smallest: “Toggle mobile menu” at 42×42px

FixGive tappable controls a ≥44×44px hit area. the touch minimum.

Worth knowing6

Line length

71 paragraphs run past ~95 characters per line.

FixCap measure at ~60-75ch for comfortable reading.

type:line-length
Heading levels

7 headings skip a level (e.g. <h2> followed by <h4>). Screen-reader users navigate by this outline.

FixStep heading levels one at a time; use CSS for size, not a deeper level.

a11y:heading-levels
Render-blocking resources

6 stylesheets/scripts in <head> block first paint.

FixDefer non-critical JS (defer/async) and inline only critical CSS.

weight:render-blocking-resources
Oversized images

4 images are shipped at more than 2x the width shown.

FixServe responsive sizes (srcset/sizes) matching the rendered width.

weight:oversized-images
Landmark regions

No <header> landmark. screen-reader users cannot jump between regions.

FixWrap the page in <header>, <main> and <footer> (or matching ARIA roles).

structure:landmark-regions

Clear5

Text contrast (WCAG AA) · Mobile viewport · Language declared · Image alt text · Page weight

Brand kit

5 colour roles

palette by on-page usage · type rendered live

measuredextracted directly from the live page. a fact, not an opinion
full palette ordered by on-page usage %
accent#eef2ff
bg#ffffff
surface#f8fafc
text#475569
See the roles applied
accent

Body copy in their text role, on a surface card.

the roles, doing their job
The quick brown fox72px
Jumps over the lazy dog30px
A subheading in their voice24px

Body copy set at their measured paragraph size. This is how their product reads to a first-time visitor. same family, same scale, same weight.

  • List item one, at body scale
  • List item two
  • List item three
Type scale, weights & families
SIZE SCALE
10pxAa
12pxAa
14pxAa
16pxAa
18pxAa
20pxAa
24pxAa
30pxAa
72pxAa
WEIGHTS
Aa400
Aa600
Aa700
FAMILIES
Outfit · Inter
rendered in their own type system · webfont not loaded. system fallback if uninstalled

Measured, found none

2 of 9 layers

layers we ran on this funnel that came back empty

measuredextracted directly from the live page. a fact, not an opinion

Elements — the atomic pieces — price anchors, ratings, guarantees — with their verbatim on-page text

Playbook match — which funnel play this page runs — measured, evidence-quoted

We ran these passes on the pages we captured and found nothing to show. That is a measurement of this funnel, not a recommendation — and it is a different statement from a layer we never ran, which does not appear here at all.

Similar crawls