Body text size
type:Smallest body text is 10px (base ~18px). below the ~16px readable floor.
FixKeep body copy ≥15-16px; reserve sub-13px for fine print only.
affiliate · Aug 15, 2026
65/100 Partial
Scores higher than 75% of 1,391 multi-step funnels we have measured. Among the 80 affiliate funnels in that group, higher than 83%.
Measured by Roentgen 1.25.1 on 2026-08-15. 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 10 that apply to an affiliate funnel. Per device: desktop 65 · mobile 65.
Walk 33 links on the entry page, 25 walkable. 1 matched a funnel step; we captured 2 pages in all, this one included.
this funnel’s coverage score across measured re-scans
measuredextracted directly from the live page. a fact, not an opinionsee 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 opinionTruShot: AI Dating Photos That Look Real and Get Dates
TruShot turns 4 selfies into the most realistic AI dating photos across 100+ scenes. Get 10x more matches and more dates on Tinder, Hinge, and Bumble. 4.8/5.
THE #1 AI PHOTO GENERATOR FOR DATING APPS
From Getting Ignored To 2-3 Dates a Week
4 Photos In. 10x More Matches Out.
9 Out of 10 Men Have Dating App Photos That Kill Their Chances.
You've Seen AI Photos That Look Fake. This Isn't That.
Create Realistic AI Dating Photos in 3 Steps
Thousands of reviews. Real results.
Your Style. Your Matches.
Better Dating Photos Make Everything Easier+8 more, not shown
Get My AI Photos
Get Photos That Get Swipes
Analyze & Optimize My Profile
Get My AI Photos Made
Transform My Profile Now
Create Realistic AI Photos
Analyze Profile & Get My AI Photos
30% OFF ends Sunday
Get AI Photos Risk-Free — 100% Guarantee
General+2 more, not shown
$300
$500
$29
$38
$49
$64
$85
$111
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 opinionranked list
4.8/5 rating 10k+ users
trusted by
10,000+ users
Frequently Asked Questions
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
88% of measurable text passes WCAG AA. 4+ runs fail. 46% of text was unmeasurable (over images/gradients). not counted either way.
worst: “First week” at 2.43:1 (12px, #9ca3af on #f9fafb). needs 4.5:1
FixRaise text/background contrast to ≥4.5:1 (≥3:1 for large text), especially on CTAs and body copy.
Smallest body text is 10px (base ~18px). below the ~16px readable floor.
FixKeep body copy ≥15-16px; reserve sub-13px for fine print only.
1 button/link has no accessible name (icon-only, no aria-label).
FixAdd aria-label to icon-only buttons and links.
No <main> or <header> or <footer> landmark. screen-reader users cannot jump between regions.
FixWrap the page in <header>, <main> and <footer> (or matching ARIA roles).
70 of 111 interactive targets are under 44×44px on mobile.
smallest: “(unnamed)” at 20×20px
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:6 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: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 images are shipped at more than 2x the width shown.
FixServe responsive sizes (srcset/sizes) matching the rendered width.
weight:36 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 3 fields. browsers cannot autofill.
FixAdd autocomplete="email"/"tel"/"name" to identity fields.
forms:At least 1.7 MB across 137 measurable resources, but 91 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 · Render-blocking resources · 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.