saas · Aug 12, 2026

granite.so

40/100 Thin

Scores higher than 36% of 1,391 multi-step funnels we have measured. Among the 1,074 saas funnels in that group, higher than 25%.

How this was measured

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

Coverage 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. Per device: desktop 40 · mobile 40.

Walk 37 links on the entry page, 25 walkable. 2 matched a funnel step; we captured 3 pages in all, this one included.

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

What we recorded

Progress

2 scans

this funnel’s coverage score across measured re-scans

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

The funnel, frame by frame

3 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

▲ strongest
5 tactics

$9 +5 more

CountdownFAQTrust badgesLogo wallDemo / docs
Pricing
02

Pricing

▼ thinnest
2 tactics

$9 +11 more  ·  subscription

FAQDemo / docs
Products
03

Products

3 tactics
CountdownFAQDemo / docs

In their own words

29 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
Cloud Infrastructure for Startups • Granite.so
Meta description
Deploy apps, managed PostgreSQL, MySQL, MongoDB and Valkey, S3-compatible storage and a private Docker registry on one managed platform. No servers to run. See the pricing.
Headline
Your production stack. Solid as granite.
Section headings
How are you different from other hosting providers?How to install X on server?I need to run a command in the console. How do I do that?How does it work?Why do you use docker?Which Docker image registry should I use?How secure is it to use your managed databases?What databases do you currently support?
Buttons and links
PricingBlogDocumentationSign InSign UpDeployStart nowGet startedCompare all plansContact us+2 more, not shown
Prices on the page
$9$15$39$50$149$200

Sections

6 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 granite.so
Hero1% down the page
Features section of granite.so
Features33% down the page
Pricing section of granite.so
Pricing52% down the page
FAQ section of granite.so
FAQ62% down the page
Email capture section of granite.so
Email capture90% down the page
Footer section of granite.so
Footer96% down the page

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

Action path2 of 4

Lead-capture form email, email
Offers a demo or docs entry point Documentation

Trust & proof1 of 2

Shows customer logos or a trusted-by claim logo wall (4 distinct marks)

Friction reduction1 of 2

Answers buyer objections How are you different from other hosting providers?

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,084 of the 1,385 SaaS funnels we checked
Pricing tiers 699 of the 1,385 SaaS funnels we checked
Press / "as seen in" 508 of the 1,960 funnels we checked
Us-vs-them comparison 332 of the 1,968 funnels we checked
Proof above the fold 314 of the 1,968 funnels we checked
Usage / adoption proof 237 of the 1,539 funnels we checked
Scarcity / urgency copy 101 of the 1,960 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

14 run · 4 flagged

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

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

4 of 13 measured checks need work1 could not be measured — not counted either way

Body text size

type:body-text-size

Smallest body text is 12px (base ~12px). below the ~16px readable floor.

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

Render-blocking resources

weight:render-blocking-resources

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

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

Landmark regions

structure:landmark-regions

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

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

Tap-target size (mobile)

mobile:tap-target-size-mobile

104 of 146 interactive targets are under 44×44px on mobile.

smallest: “(unnamed)” at 32×32px

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

Worth knowing5

Line length

3 paragraphs run past ~95 characters per line.

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

type:line-length
Form labels

3 form fields rely on placeholder text as the only label.

FixBack placeholders with a real <label>. placeholder text vanishes on input.

a11y:form-labels
Heading levels

1 heading skips 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

Not measurable1

Page weight

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

weight:page-weight

Clear4

Text contrast (WCAG AA) · 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#000000
accent#000000
bg#fafafa
surface#ffffff
text#dcdcdc
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 dog36px
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
12pxAa
14pxAa
16pxAa
18pxAa
20pxAa
24pxAa
36pxAa
48pxAa
WEIGHTS
Aa400
Aa500
Aa600
Aa700
Aa900
FAMILIES
Roboto
rendered in their own type system · webfont not loaded. system fallback if uninstalled

Measured, found none

2 of 10 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.

X-ray a funnel

Your competitor's funnel is one URL away.

Give your AI real references · Measured facts, not taste

Similar crawls