ecommerce · Sep 30, 2026

royalcaribbean.com

3 conversion tactics detected

2 pages walked · measured by Roentgen 1.28.1

Put this x-ray to work Brief your AI X-ray your funnel
How this was measured

Measured by Roentgen 1.28.1 on 2026-09-30. 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 15 that apply to an ecommerce funnel. A low count means we did not detect those patterns, not that the funnel is weak.

Walk 235 links on the entry page, 206 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

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

    Runs a visible countdown timer
    Only {0} Days Left Sale ends in 00 Days
    Displays a wall of customer reviews
    5 review elements
    Answers buyer objections
    FAMILY CRUISE FAQS Planning a family vacation? Here’s everything you need to know about fa

    See all 3

  2. Not seen

    12 of 15 applicable tactics we checked for and did not see

    Press / "as seen in"
    Media logos or an "as seen in / featured in" claim borrowing publication credib…
    Us-vs-them comparison
    A comparison table framing the brand against alternatives.
    Proof above the fold
    Social proof rendered within the first viewport on at least one step.

    + 9 more

    See what we looked for

  3. Flagged

    6 of 16 build checks flagged, each with a fix

    Text contrast (WCAG AA)
    74% of measurable text passes WCAG AA. 4+ runs fail.
    Body text size
    Smallest sampled text is 10px, below the 13px floor this check uses.
    Language declared
    No html[lang] attribute. screen readers can’t pick the right voice.

    + 3 more

    See the fixes

  4. Walked

    2 pages walked, Homepage / Lander to Plan A Cruise

    Step 1
    Homepage / Lander
    Step 2
    Plan A Cruise

    Walk it frame by frame

  5. In their words

    The headline: Royal Caribbean Cruises

    Promise
    Cruise to unforgettable destinations with Royal Caribbean. Save with the best cruise deals and packages to th…
    Prices shown
    $800 · $100 · $395

    Read every quote

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

What we recorded

Progress

3 scans

this funnel’s coverage score across measured re-scans

measuredextracted directly from the live page. a fact, not an opinion
1 fewer tactic detected 4 → 3 across 3 scans since 2026-08-09. The ruleset changed in this window, so part of this may be our detection improving rather than the page changing.
  1. 4 tactics 2026-08-09
  2. 4 tactics 2026-08-10
  3. 3 tactics 2026-09-30

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

3 tactics

$800 +15 more

ReviewsCountdownLogo wall
Plan A Cruise
02

Plan A Cruise

3 tactics

$9

ReviewsFAQLogo wall

In their own words

47 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
Cruises - Amazing Cruises and Cruise Deals | Royal Caribbean Cruises
Meta description
Cruise to unforgettable destinations with Royal Caribbean. Save with the best cruise deals and packages to the Caribbean and the Bahamas. Start your dream vacation with a cruise to Alaska, the Mediterranean, Mexico, or the South Pacific.
Headline
Royal Caribbean Cruises
Section headings
Explore short Caribbean getawaysPerfect Day CocoCayLegend of the SeasLast minute cruise dealsRoyal ONE™ Visa Signature® CardsVacation planning made easyCRUISES FROM TEXASNEWEST. BOLDEST. BEST.+8 more, not shown
Buttons and links
skip to main contentCruisesDestinationsShipsDealsLoyaltyManage my cruiseNeed helpShop nowAny date+2 more, not shown
Prices on the page
$800$100$395$630$369$590$850$446+8 more, not shown

Sections

3 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 royalcaribbean.com
Nav0% down the page
Hero section of royalcaribbean.com
Hero0% down the page
Pricing section of royalcaribbean.com
Pricing30% down the page

What we found

3 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

proof1 of 5

Displays a wall of customer reviews 5 review elements

urgency1 of 2

Runs a visible countdown timer Only {0} Days Left Sale ends in 00 Days

objection1 of 2

Answers buyer objections FAMILY CRUISE FAQS Planning a family vacation? Here’s everything you need to know about fa

What we didn’t find

12 of 15 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 see12 of 15 applicable

Press / "as seen in" 642 of the 2,417 funnels we checked
Us-vs-them comparison 441 of the 2,420 funnels we checked
Proof above the fold 381 of the 2,420 funnels we checked
Scarcity / urgency copy 125 of the 2,417 funnels we checked
Anchor / strikethrough pricing 116 of the 238 ecommerce funnels we checked
Free shipping 81 of the 238 ecommerce funnels we checked
Express wallets 41 of the 238 ecommerce funnels we checked
Money-back guarantee 33 of the 238 ecommerce funnels we checked
Proof at every step 26 of the 238 ecommerce funnels we checked
Per-unit price anchor 11 of the 238 ecommerce funnels we checked
Stacked free gifts
Subscription / auto-ship

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

16 run · 6 flagged

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

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

6 of 15 measured checks need work1 could not be measured — not counted either way

Text contrast (WCAG AA)

contrast:text-contrast-wcag-aa

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

worst: “Why Cruising is the Best Way to” at 1:1 (27px, #ffffff on #ffffff). 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.

Language declared

a11y:language-declared

No html[lang] attribute. screen readers can’t pick the right voice.

FixAdd lang="en" (or the page’s language) to <html>.

Render-blocking resources

weight:render-blocking-resources

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

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

Oversized images

weight:oversized-images

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

“2025-best-cruise-line-overall-stack-whit” is 1280px wide, displayed at 253px

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

Tap-target size (mobile)

mobile:tap-target-size-mobile

159 of 272 interactive targets are under 44×44px on mobile.

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

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

Worth knowing7

Line length

17 paragraphs run past ~95 characters per line.

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

type:line-length
Label in name

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

5 elements look clickable but cannot be reached by keyboard.

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

structure:keyboard-reachability
Autocomplete hints

No autocomplete attributes across 3 fields. browsers cannot autofill.

FixAdd autocomplete="email"/"tel"/"name" to identity fields.

forms:autocomplete-hints

Not measurable1

Page weight

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

weight:page-weight

Clear2

Mobile viewport · 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#0071ed
accent#0071ed
bg#ffffff
surface#f7f8f9
text#ffffff
See the roles applied
accent

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

the roles, doing their job
The quick brown fox80px
Jumps over the lazy dog72px
A subheading in their voice48px

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
13pxAa
14pxAa
16pxAa
20pxAa
24pxAa
28pxAa
32pxAa
40pxAa
48pxAa
72pxAa
80pxAa
WEIGHTS
Aa400
Aa600
Aa700
FAMILIES
Proxima Nova Regular
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.

Similar crawls