This report was measured 31 days ago — past our freshness window.

saas · Sep 20, 2026

visitharbor.com

We found more conversion tactics here than on 23% of the 1,413 multi-step SaaS funnels we have measured.

4 conversion tactics detected

2 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-20. 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 11 that apply to a saas funnel. A low count means we did not detect those patterns, not that the funnel is weak.

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

Walk 64 links on the entry page, 57 walkable. 1 matched a funnel step; we captured 2 pages in all, this one included.

The short version, in 5 parts

  1. Proven on the page

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

    Compares itself against alternatives
    comparison table:
    Answers buyer objections
    Frequently asked questions
    Shows customer logos or a trusted-by claim
    logos: Harbor, Save up to $1200 today, Verified Harbor member, Harbor Guarantee+, FedEx Ex

    + 1 more with evidence

    See all 4

  2. Not seen

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

    Free trial / freemium
    A free trial, free tier, or "no credit card" entry offer.
    Press / "as seen in"
    Media logos or an "as seen in / featured in" claim borrowing publication credib…
    Demo / docs entry
    A "book a demo" or documentation / API entry point.

    + 4 more

    See what we looked for

  3. Flagged

    5 of 15 build checks flagged, each with a fix

    Text contrast (WCAG AA)
    59% of measurable text passes WCAG AA. 4+ runs fail.
    Body text size
    Smallest sampled text is 10px, below the 13px floor this check uses.
    Render-blocking resources
    8 stylesheets/scripts in <head> block first paint.

    + 2 more

    See the fixes

  4. Walked

    2 pages walked, Homepage / Lander to Compare

    Step 1
    Homepage / Lander
    Step 2
    Compare

    Walk it frame by frame

  5. In their words

    The headline: The GLP-1 programfor results that last

    Promise
    Compounded semaglutide & tirzepatide, prescribed online by Harbor's licensed providers. 48-hour GLP-1 weight…
    Prices shown
    $99 · $149 · $299

    Read every quote

Captured Homepage / Lander
Step 1 · Homepage / Lander1 / 2

What we recorded

Progress

4 scans

this funnel’s coverage score across measured re-scans

measuredextracted directly from the live page. a fact, not an opinion
Unchanged across 4 scans Same 4 conversion tactics detected since 2026-07-30.
  1. 4 tactics 2026-07-30
  2. 4 tactics 2026-08-02
  3. 4 tactics 2026-08-03
  4. 4 tactics 2026-09-20

The funnel, frame by frame

2 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
Homepage / Lander
01

Homepage / Lander

5 tactics

$99 +3 more  ·  subscription  ·  1 proof point

Sticky CTAFAQTrust badgesLogo wallPricing tiers
Compare
02

Compare

5 tactics

$99 +7 more  ·  subscription  ·  1 proof point

Sticky CTAComparisonTrust badgesLogo wallPricing tiers

In their own words

31 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
Harbor GLP-1 Weight Loss Online | Semaglutide & Tirzepatide
Meta description
Compounded semaglutide & tirzepatide, prescribed online by Harbor's licensed providers. 48-hour GLP-1 weight loss medication delivered to your door.
Headline
The GLP-1 programfor results that last
Section headings
The GLP-1 program for results that lastMedical Weight Loss ProgramsThe team that stays with you – through every dose and beyondThe only GLP-1 program that guarantees your resultsYour journey, start to finishThe part other programs skipFrequently asked questionsTirzepatide Program+4 more, not shown
Buttons and links
NextHow does Harbor work?How much does it cost?Do I need a doctor visit?What happens when I reach my goal?Is insurance required?Get Started
Prices on the page
$99$149$299$89

Sections

4 identified

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

measuredextracted directly from the live page. a fact, not an opinion
Hero section of visitharbor.com
Hero0% down the page
Pricing section of visitharbor.com
Pricing1% down the page
FAQ section of visitharbor.com
FAQ68% down the page
Footer section of visitharbor.com
Footer83% down the page

Elements

1 harvested

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

measuredextracted directly from the live page. a fact, not an opinion
Guarantee element
Guarantee“12-Month Money Back Guarantee+”

What we found

4 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

objection2 of 2

Compares itself against alternatives comparison table:
Answers buyer objections Frequently asked questions

proof1 of 4

Shows customer logos or a trusted-by claim logos: Harbor, Save up to $1200 today, Verified Harbor member, Harbor Guarantee+, FedEx Ex

offer1 of 2

Makes the pricing ladder explicit free, $99/mo, $149/mo, $299/mo

What we didn’t find

7 of 11 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 11 applicable

Free trial / freemium 1,397 of the 1,750 SaaS funnels we checked
Press / "as seen in" 673 of the 2,522 funnels we checked
Demo / docs entry 594 of the 1,760 funnels we checked
Lead-capture form 457 of the 1,760 funnels we checked
Proof above the fold 406 of the 2,525 funnels we checked
Usage / adoption proof 301 of the 2,138 funnels we checked
Scarcity / urgency copy 131 of the 2,522 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

15 run · 5 flagged

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

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

5 of 14 measured checks need work1 could not be measured — not counted either way

Text contrast (WCAG AA)

contrast:text-contrast-wcag-aa

59% of measurable text passes WCAG AA. 4+ runs fail.

worst: “Why is everyone switching to Harbor?” at 1:1 (48px, #203040 on #203040). needs 3:1

FixRaise text/background contrast to ≥4.5:1 (≥3:1 for large text), especially on CTAs and body copy.

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.

Render-blocking resources

weight:render-blocking-resources

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

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

Oversized images

weight:oversized-images

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

“hims-logo.webp?dpl=dpl_9LJhGRccdPdoY3PtT” is 1601px wide, displayed at 86px

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

Tap-target size (mobile)

mobile:tap-target-size-mobile

51 of 124 interactive targets are under 44×44px on mobile.

smallest: “Open menu” at 32×32px

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

Worth knowing6

Line length

8 paragraphs run past ~95 characters per line.

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

type:line-length
Heading structure

The landing page has 2 <h1> elements (expected 1).

FixUse exactly one <h1> as the page’s title.

a11y:heading-structure
Label in name

4 controls have an aria-label that does not contain its visible text, so voice-control users cannot activate it by saying what they see.

FixMake the accessible name start with the visible label text.

a11y:label-in-name
Landmark regions

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

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

structure:landmark-regions

Not measurable1

Page weight

At least 1.9 MB across 166 measurable resources, but 76 cross-origin resources did not expose a size. The true weight cannot be determined from the page.

weight:page-weight

Clear3

Mobile viewport · Language declared · Image alt text

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 %
primary#f79433
accent#f79433
bg#ffffff
surface#f1f6f6
text#203040
See the roles applied
accent

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

the roles, doing their job
The quick brown fox48px
Jumps over the lazy dog44px
A subheading in their voice36px

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
13pxAa
14pxAa
16pxAa
18pxAa
20pxAa
24pxAa
30pxAa
36pxAa
44pxAa
48pxAa
WEIGHTS
Aa400
Aa500
Aa600
Aa700
Aa800
FAMILIES
Onest
rendered in their own type system · webfont not loaded. system fallback if uninstalled

Measured, found none

1 of 10 layers

layers we ran on this funnel that came back empty

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

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

We ran this pass 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