Body text size
type:Smallest sampled text is 10px, below the 13px floor this check uses.
FixKeep body copy ≥15-16px; reserve sub-13px for fine print only.
saas · Sep 7, 2026
Scores higher than 25% of 1,462 multi-step funnels we have measured. Among the 1,125 saas funnels in that group, higher than 15%.
35/100 Sparse
Measured by Roentgen 1.27.0 on 2026-09-07. 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 35 · mobile 35.
Walk 83 links on the entry page, 71 walkable. 1 matched a funnel step; we captured 2 pages in all, this one included.
see their whole funnel without clicking through it. scored step by step
measuredextracted directly from the live page. a fact, not an opinionthe entry page’s own title, headline, buttons and prices — quoted, never paraphrased
measuredextracted directly from the live page. a fact, not an opinionOne Custom Song - Personalized Song Gifts in Minutes.
Create a personalised song for any occasion. one custom song gift turns memories into music. Great for birthdays, anniversaries, weddings, and more.
Gift A Custom Song They’ll Cherish Forever
From one memory to a tear-worthy song in minutes
Add the voice only they would recognize
The Complete Personalized Gift
For Every Precious Moment, A Personal Melody
onecustomsong.com vs. Songfinch
Common Questions About Our Custom Songs
Tell Us Your Story
Preview & Perfect for Free+2 more, not shown
Gift Ideas Gift Ideas Gift Ideas
Sign In Sign In Sign In
Create video styles
Create wall art
How does onecustomsong.com work?
What makes you different from other custom song platforms?
Can I edit the lyrics or change the music genre?
How can I share my personalized music gift?
Are there any hidden fees, and is my payment secure?
How long are my custom songs stored?+2 more, not shown
$200
$199
structural bands identified on this funnel, cropped from its own capture
measuredextracted directly from the live page. a fact, not an opinion
the atomic pieces — price anchors, ratings, guarantees — with their verbatim on-page text
measuredextracted directly from the live page. a fact, not an opinion
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 opinionFree Trial
logo wall (24 distinct marks)
Common Questions About Our Custom Songs
applicable tactics we checked for and did not see on any step we reached
measuredextracted directly from the live page. a fact, not an opinionAbsence 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.
contrast, mobile, typography, accessibility, weight — each with what would fix it
measuredextracted directly from the live page. a fact, not an opinion5 of 16 measured checks need work1 could not be measured — not counted either way
75% of measurable text passes WCAG AA. 4+ runs fail. 17% of text was unmeasurable (over images/gradients). not counted either way.
worst: “Create Song” at 1.02:1 (12px, #ffffff on #fffcf8). needs 4.5:1
FixRaise text/background contrast to ≥4.5:1 (≥3:1 for large text), especially on CTAs and body copy.
Smallest sampled text is 10px, below the 13px floor this check uses.
FixKeep body copy ≥15-16px; reserve sub-13px for fine print only.
13 stylesheets/scripts in <head> block first paint.
FixDefer non-critical JS (defer/async) and inline only critical CSS.
105 images are shipped at more than 2x the width shown.
“one-custom-song-rounder-logo-2-trimmed.p” is 2017px wide, displayed at 192px
FixServe responsive sizes (srcset/sizes) matching the rendered width.
116 of 152 interactive targets are under 44×44px on mobile.
smallest: “Open menu” at 36×36px
FixGive tappable controls a ≥44×44px hit area. the touch minimum.
5 paragraphs run past ~95 characters per line.
FixCap measure at ~60-75ch for comfortable reading.
type:2 form fields rely on placeholder text as the only label.
FixBack placeholders with a real <label>. placeholder text vanishes on input.
a11y: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:No same-page “skip to content” link was found. Keyboard users tab through the whole nav on every page.
FixAdd a first-in-DOM <a href="#main"> that is visible on focus.
a11y:2 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:90 elements look clickable but cannot be reached by keyboard.
FixUse <button>/<a>, or add role + tabindex="0" and a key handler.
structure:No autocomplete attributes across 2 fields. browsers cannot autofill.
FixAdd autocomplete="email"/"tel"/"name" to identity fields.
forms:At least 3.1 MB across 116 measurable resources, but 76 cross-origin resources did not expose a size. The true weight cannot be determined from the page.
weight:Mobile viewport · Language declared · Image alt text · Inline validation
palette by on-page usage · type rendered live
measuredextracted directly from the live page. a fact, not an opinionBody copy in their text role, on a surface card.
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.
layers we ran on this funnel that came back empty
measuredextracted directly from the live page. a fact, not an opinionPlaybook 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.