saas · Aug 30, 2026

photo2ads.com

50/100 Thin

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

How this was measured

Measured by Roentgen 1.27.0 on 2026-08-30. 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 50 · mobile 50.

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

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

What we recorded

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

4 tactics
Sticky CTAReviewsFAQLogo wall
Pricing
02

Pricing

4 tactics

$39.99 +2 more  ·  Save 50%  ·  subscription  ·  1 proof point

Sticky CTAFAQFree trialPricing 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
Product Photo to Ads: AI Product Ad Generator | Photo2Ads
Meta description
Discover how to turn one product photo into AI ads for ecommerce and social media. Choose UGC styles, scenes, formats, and models for image or video campaigns.
Headline
Turn one product photo into ads.
Section headings
Choose how your product shows up.Product photo to ads: see real results.Product Photo to Ads in Three Simple Steps.What is an AI product ad generator?One product. More ways to promote it.Start with the product-ad format you need.AI product ad generator FAQYour next campaign starts with one photo.+8 more, not shown
Buttons and links
Log inGet startedCreate your first adALLIMAGETIKTOKUGCCOMMERCIALWarm Limestone Fragrance 01Charcoal Earbuds Portrait 02+2 more, not shown

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
Nav section of photo2ads.com
Nav0% down the page
Hero section of photo2ads.com
Hero1% down the page
FAQ section of photo2ads.com
FAQ75% down the page
Footer section of photo2ads.com
Footer85% 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

Offer clarity1 of 1

Makes the pricing ladder explicit $39.99/mo, $79.99/mo, $159.99/mo, free

Action path1 of 4

Offers a free trial or free tier free credits

Trust & proof1 of 2

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

Friction reduction2 of 2

Answers buyer objections What is an AI product ad generator? + A tool that turns product photos into ready-to-use a
Offers a free trial or free tier also shown under Action path

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

Press / "as seen in" 508 of the 1,960 funnels we checked
Demo / docs entry 477 of the 1,393 funnels we checked
Lead-capture form 342 of the 1,393 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

13 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 13 measured checks need work

Text contrast (WCAG AA)

contrast:text-contrast-wcag-aa

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

worst: “Studio” at 1:1 (10px, #72e5bc on #72e5bc). needs 4.5: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 body text is 6px (base ~8px). below the ~16px readable floor.

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

Page weight

weight:page-weight

At least 16.5 MB across 157 measurable resources. 16 cross-origin resources did not expose a size, so the real total is higher.

FixCompress and lazy-load below-the-fold media; drop unused third-party scripts.

Oversized images

weight:oversized-images

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

“studio-kettle-silver.jpg” is 1000px wide, displayed at 181px

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

Tap-target size (mobile)

mobile:tap-target-size-mobile

64 of 111 interactive targets are under 44×44px on mobile.

smallest: “Toggle theme” at 32×32px

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

Worth knowing4

Line length

10 paragraphs run past ~95 characters per line.

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

type:line-length
Label in name

6 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
Keyboard reachability

6 elements look clickable but cannot be reached by keyboard.

FixUse <button>/<a>, or add role + tabindex="0" and a key handler.

structure:keyboard-reachability

Clear4

Mobile viewport · Language declared · Image alt text · Render-blocking resources

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#72e5bc
accent#72e5bc
bg#f4f2ed
surface#ffffff
text#07110d
See the roles applied
accent

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

the roles, doing their job
The quick brown fox60px
Jumps over the lazy dog24px
A subheading in their voice20px

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
6pxAa
7pxAa
8pxAa
9pxAa
10pxAa
11pxAa
12pxAa
14pxAa
16pxAa
20pxAa
24pxAa
60pxAa
WEIGHTS
Aa300
Aa500
Aa600
Aa700
FAMILIES
Noto Sans
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.

X-ray a funnel

Your competitor's funnel is one URL away.

Give your AI real references · Measured facts, not taste

Similar crawls