Adoria Threads — Master CRO & Conversion Rate Optimization Audit

Prepared: 22 August 2026 · Domain: https://adoriathreads.com · Platform: Shopify (theme #135006290073, CC/Creative schema) Synthesized from: pageaudit/homepage.md, pageaudit/plp.md, pageaudit/pdp.md, pageaudit/cart-checkout.md, pageaudit/support-and-utility.md, business-analysis.md, web-quality-audit.md, ai-seo-audit.md, digital-brand-intelligence.md, competitive-analysis.md

Reader note on method & scope. This master audit is a synthesis of independent page-level audits already performed on the live site (desktop 1280×577 HeadlessChrome render, with curl HTML backups where the live browser hung). The headless environment could not visually verify the mobile breakpoint (no emulation/screenshot), and the sandbox blocked/disabled some AJAX behaviors — those are flagged as environmental, not store defects, and recommended for real-device re-check. Where sub-audits disagree (notably on the rendering of on-site reviews and the existence of a FAQ page), the inconsistency is called out and framed as a validation item rather than a certainty. All findings below are traceable to the named source files. Business context: Canadian made-to-order slow-fashion studio (founder Lynn, Okanagan BC); 37 dress SKUs; CAD $230–$270; Etsy 4.8/5 (~855 sales, ~196 reviews/12mo); ~126 D2C visits/mo.

1. Executive Summary (SCQA Format)

  • Situation: Adoria Threads is a Canadian micro slow-fashion studio selling made-to-order, custom-measured women's linen/cotton dresses (CAD $230–$270, 37 SKUs) with a genuinely strong off-site trust asset (Etsy 4.8/5, ~855 sales) and best-in-class agentic-commerce plumbing (llms.txt, agents.md, UCP+MCP). The site is technically clean (SEO 100, Accessibility 93) but its bottleneck is discovery (~126 D2C visits/mo) and its on-site conversion experience is actively leaking trust at every stage.
  • Complication: Conversion is held back by a cluster of fixable, mostly low-effort defects that concentrate at exactly the two moments that matter — the decision point (PDP) and the trust/brand-integrity layer that should underpin it. The single largest is the near-total absence of usable social proof at the decision point: the PDP, PLP, and homepage all show zero on-site reviews despite Judge.me being installed and a strong Etsy record existing off-site. This is compounded by a cascade of brand-integrity failures (a wrong/previous-brand email hello@nangthelabel.com on every PDP, a stale caramelmonster.com reference on the Returns page, a default-variant color that contradicts the product title), by broken discovery (the "Shop" dropdown's category links all 404; the PLP has no working filters), and by two real 404 footer links (Garment Care, Affiliate Program). The empty Size Guide is a direct conversion suppressor for a custom-measured brand.
  • Question: What must be resolved to convert the brand's small but high-intent top-of-funnel traffic — much of it arriving from Etsy/Instagram with purchase intent — into completed orders without eroding its quiet-luxury positioning?
  • Answer: Phase 1 — fix trust and brand integrity first (near-zero effort, removes active revenue leaks): purge the wrong-brand email and stale caramelmonster.com references, fix the default-variant color, surface the existing review asset (Etsy/Trustpilot) at PDP/home/PLP, and repair or remove the two 404 footer links and the empty Size Guide. Phase 2 — remove structural friction: build real category collections + filters, add breadcrumbs, fix the mobile LCP (16.8s), and add the missing trust/FAQ/schema layer. The brand should protect its honest made-to-order positioning (no fake urgency, no discount erosion) while closing the reassurance gaps a first-time $250 buyer needs.

Overall CRO Score: 4.0 / 10 — a trustworthy, well-built storefront with strong fundamentals, but a conversion experience undermined by brand-integrity defects, missing social proof, broken discovery, and two hard 404s. The score is low not because the store is broken, but because the trust infrastructure that should convert high-intent visitors is missing or contradictory.

Estimated conversion impact (relative, assumptions in §11): fixing the top friction set plausibly lifts on-site conversion +20% (conservative) to +45% (optimistic). Because absolute D2C revenue is not publicly disclosed and traffic is ~126/mo, this is expressed as a relative lift on the existing funnel, not an absolute CAD figure — see §11.


2. Funnel Analysis

E-commerce funnel mapped against B2C benchmarks (fashion sector CVR 1.5–2.5%, cart abandonment 75–80%). Observed performance is inferred from the page audits (no analytics access); status reflects friction severity, not measured rates.

StageBenchmark CVRObserved friction signalStatusPrimary drop-off driver
Visit → HomepageClean first paint but no value-prop above fold (leads with 2–5 wk lead-time caveat); load-triggered newsletter popup⚠️ ModerateFirst-time visitor can't immediately answer "why trust this $250 brand" (homepage F1/F2)
Homepage → Category/PLP40–60%Hero slider link + 12-card carousel; but "Shop" dropdown Dresses/Tops/Bottoms all → /collections/all (no category promise)⚠️ ModerateWeak category scent; no genuine browse-by-garment path
PLP → PDP30–50%No ratings on cards, no real filters (only disabled "Out of stock"), sort/filter lost on Back, default sort = Alphabetical🔴 WeakMissing reassurance + orientation at discovery; broken category browsing (PLP P1/P2/P3/P4)
PDP → Add to Cart8–12%0 on-site reviews, wrong-brand email, default color ≠ title, no per-color imagery, empty Size Guide, buy-box links same-tab away, add-to-cart did not fire in this pass🔴 WeakDecision-stage trust + identity + a possible silent add-to-cart break (PDP F1/F2/F4; cart C0)
Cart → Checkout45–55%Empty cart is a dead-end (only "Continue shopping"); populated cart unverified (add failed in pass)⚠️ ModerateNo recovery merchandising in empty cart (cart C1)
Checkout → Purchase50–65%/checkout with no cart safely redirects home (no 404); full checkout unverified⚠️ ModerateCould not be reached this pass; no-cart interstitial is bare (cart C2)
Purchase → RepeatNo loyalty/membership, no post-purchase review prompt surfaced, blog empty, no FAQ🔴 Missing linkNo nurture loop for a made-to-order repeat/considération business

Blocked arteries (high-traffic, under-converting paths):

  • PDP decision zone (every product) — the most expensive leak: reviews + correct identity + fit guidance all weak or contradictory here.
  • Discovery / category browse — the "Shop" dropdown and PLP filters promise structure that does not exist (category URLs 404; no working facets).

Missing links (absent funnel stages):

  • No FAQ / objection-handling hub before purchase (support U17).
  • No post-purchase review-request / loyalty loop surfaced.
  • No personalized/recently-viewed recovery on homepage or PDP.
  • Empty Size Guide means the brand's core "we fit you" promise is unActionable (support U7).

3. Per-Page Reviews

3.1 Homepage

  • What's Working: Image-led hero with an honest made-to-order/lead-time narrative; clean footer with 11 payment icons; chat widget; currency selector; skip-to-content link. The brand story and use-case band are present. No broken primary nav.
  • Opportunity Areas
    • Category A — Objective Friction. No on-site reviews/ratings on the homepage despite Judge.me being installed and strong off-site proof (Etsy 4.8/5) existing. The single highest-leverage trust gap for a trust-led brand. Source: homepage F1.
    • Category A — Objective Friction. No prominent above-the-fold product/CTA — the hero leads with a 2–5 week lead-time caveat rather than product or a crisp value-prop/USP button. First-time visitors see a duty-free bar, a logo, and a wait message. Source: homepage F2/F6.
    • Category A — Objective Friction. The "Shop" dropdown's Dresses/Tops/Bottoms all point to /collections/all (no category filtering exists) — a navigation defect that implies structure that isn't there. Source: homepage F3 → escalated on PLP.
    • Category A — Objective Friction. Product/carousel images have empty alt="" — accessibility + image-SEO defect. Source: homepage F4.
    • Category B — Strategic Choice. Load-triggered newsletter dialog fires on first visit (bounce risk at ~126 visits/mo). Source: homepage F5.
    • Category B — Strategic Choice. USP (custom fit / French seams) not on homepage — lives only on About (a dead-end). Social links inconsistent (popup has FB/Pinterest; footer only IG/TikTok). Norway currency mislabeled "CAD". Source: homepage F6/F7/F8/F9.

3.2 Product Listing Page (PLP)

  • What's Working: Image hover-marquee preview works; 8 sort options with verified-correct price sort; shareable sort/filter URLs; clean 4-col grid; no fake sale badges (consistent with 0-on-sale model).
  • Opportunity Areas
    • Category A — Objective Friction. No working product filters — the only facet is "Availability," and "Out of stock" is disabled (all 37 in stock), so it's a no-op. Shoppers cannot narrow by type/color/length/price. Source: PLP P1.
    • Category A — Objective Friction (escalated to Critical). Category URLs don't exist/collections/dresses, /collections/tops, /collections/bottoms, /collections/linen all return 404; the dropdown merely masks this by pointing everything at /collections/all. No way to browse by garment. Source: PLP P2 (confirms homepage F3).
    • Category A — Objective Friction. No on-site ratings on PLP cards despite Judge.me installed. Source: PLP P3.
    • Category A — Objective Friction. Sort/filter state lost on Back button (PLP→PDP→Back resets to default Alphabetical) — high friction because the PLP is the primary browse surface. Source: PLP P4.
    • Category B — Strategic Choice. Default sort = Alphabetical A–Z (weakest merchandising default). Generic "Products" H1; no breadcrumb; phantom "page 4" link; load-popup re-fires. Source: PLP P5/P7/P8/P9.

3.3 Product Detail Page (PDP)

  • What's Working: Clean title/price/variant layout; "Add to Cart" flow verified working by the sibling PDP audit (badge 0→1, "added to your cart"); "You may also like" recommendations populated (30 links); Josie's description has strong fit/fabric/care/model-measurement content; Personalization Request box supports made-to-order; 11 payment marks + Buy with Shop.
  • Opportunity Areas
    • Category A — Objective Friction (Critical). Default Color = "Emerald Green" on every PDP regardless of title (Penelope in Raisin, Josie in White, Annie in White all default to Emerald Green). Shopper sees a wrong-color image vs the title → identity confusion, returns/trust risk. Source: PDP F1.
    • Category A — Objective Friction (Critical). Wrong-brand email hello@nangthelabel.com in every PDP description footer — a leftover from a previous store/theme. Customers email a dead/wrong address → lost contact + severe trust break. Source: PDP F2 (also web-quality §6.2).
    • Category A — Objective Friction (Critical). Zero reviews on PDP despite Judge.me installed + strong off-site proof. Biggest single conversion leak at the decision point. (See §15 — the ai-seo audit reports 172 visible Judge.me reviews; the live-DOM PDP/web-quality audits read "0". This discrepancy must be validated in a real browser.) Source: PDP F4.
    • Category A — Objective Friction (Major). No per-color product photography — 24 colors share one generic image set; selecting a color gives no visual confirmation. A color-blind purchase for a color-driven dress store. Source: PDP F6.
    • Category A — Objective Friction (Major). Etsy残留 markup breaks Penelope's description; buy-box links (Shipping, Size Guide) navigate away same-tab + a dead empty-href "Color Selection" link; no breadcrumb; gallery alt="" + a size-chart PNG bundled into the gallery. Source: PDP F3/F5/F7/F8.
    • Category B — Strategic Choice. No inline trust/fulfilment badges in buy box; no lead-time signal in buy box (only "calculated at checkout"); no SKU; no product FAQ. Source: PDP F9/F10/F12/F13.

3.4 Cart & Checkout

  • What's Working: Shopify checkout structure is standard and safe — /checkout with no cart redirects to homepage (no 404); PDP variant <select> selectors are selectable; no JS errors on any interaction. The sibling PDP audit confirmed the add-to-cart → badge chain works.
  • Opportunity Areas
    • Category A — Objective Friction (Critical — flagged for re-verification). In this audit pass, add-to-cart did not fire — 3 real Add-to-Cart clicks + a real "Buy with Shop" click all resulted in cart badge stuck at 0, no drawer, server cart.js empty, and no JS error. The sibling PDP task reported the identical flow working (badge 0→1). Recorded as an observed live-traversal failure needing real-browser re-verification, NOT as proof the store is broken — but the zero error feedback means even a transient breakage leaves a shopper staring at a dead button. Source: cart C0.
    • Category A — Objective Friction (Major). Empty cart is a dead-end — only a bare "Continue shopping" link, no recovery merchandising (trending/bestsellers/quick-add). Source: cart C1.
    • Category B — Strategic Choice. No-cart /checkout deep-link silently redirects home with no "your cart is empty" interstitial. Source: cart C2.

3.5 Policy & Support Pages

  • What's Working: Order & Delivery has a strong objection-handling accordion (shipping cost, duties, expedited, tracking, cancellation). About page carries the genuine founder/French-seam narrative (the brand's best E-E-A-T asset). Privacy Policy is standard.
  • Opportunity Areas
    • Category A — Objective Friction (Critical). Size Guide has NO size chart — it tells shoppers to measure themselves but provides zero measurement→size mapping (0 <table> elements). A dead end that directly suppresses conversion for a custom-measured brand. Source: support U7.
    • Category A — Objective Friction (Critical). Returns/Exchanges references stale brand caramelmonster.com (twice) — a copy-paste leftover implying the page was never customized; a major trust-breaker at the purchase-risk moment. Source: support U10.
    • Category A — Objective Friction (Critical). Garment Care footer link → 404 (present twice in footer). Source: support U13.
    • Category A — Objective Friction (Major). Affiliate Program footer link → 404 (orphan UpPromote link; growth-channel leak). Source: support U15.
    • Category A — Objective Friction (Major). About Us is a dead-end (no shop CTA) with no founder/workshop imagery (2 empty alt="" slots). Contact has no phone, no WhatsApp, no address, no hours, no response SLA. Return-window contradiction (14 vs 10 working days). Shipping cost inconsistency ($45 USD vs $40 CAD expedited). Lead-time contradiction (homepage 2–5 wk vs policy 2–3 wk). No standalone FAQ (U17). Blog empty (U16). Source: support U1/U2/U5/U11/U8/U9/U17/U16.

3.6 Search & Navigation

  • What's Working: Header predictive search overlay present; currency selector functional; footer policy links resolve (Privacy, Order & Delivery, Returns all 200).
  • Opportunity Areas
    • Category A — Objective Friction. On-site search is product-only; informational/objection content (sizing, shipping, returns) is unreachable through search, and there is no FAQ hub. Source: support U17 + homepage search.
    • Category B — Strategic Choice. "Shop" dropdown implies category browse that 404s; footer Store-Info links duplicated in two lists; Norway currency mislabeled. Source: homepage F3, support redundancy, PLP.

4. The O/CO Framework (Objection / Counter-Objection)

Mapped to the Big 5 universal objections, sourced from the page audits and inferred from the high-consideration made-to-order dress category.

Visitor ObjectionWhat the site currently doesGapRecommended Counter-Objection (CO)
Trust — "Why should I believe a $250 brand I found on Instagram/Etsy?"Made-in-Canada narrative, 11 payment icons, policy links, honest lead-timeZero on-site reviews at decision; wrong-brand email (nangthelabel.com); stale caramelmonster.com on Returns; no authority/Founder strip on homepageSurface Etsy 4.8/5 (and verified Trustpilot if real) rating + review count on PDP buy box, cards, and homepage; purge wrong/stale emails; add a homepage trust strip (Made in Canada · French seams · Custom fit · Secure checkout)
Fit — "Will it fit / suit me? (custom-measured)"Custom Sizing option, Personalization box, Size Guide linkSize Guide has no chart (measure-but-no-mapping); no per-color imagery; default color ≠ title; no model-spec in buy boxBuild the size↔measurement chart (XS–3XL / numeric); add color-swatch hover preview + per-color hero shots for top colors; fix default variant to match title; add model height/size-worn
Price — "Is it worth $230–$270?"Flat, clear pricing; no fake discounts (on-brand)No value/ROI framing for made-to-order; no EMI/per-month (low AOV, less critical)Frame custom-tailoring + French-seam + natural-fiber value explicitly near price; keep no-discount positioning
Timing — "When will I get it?""2–5 weeks" on homepage/About; "note at checkout"Lead-time not in the buy box; contradiction between homepage (2–5 wk) and policy (2–3 wk); shipping cost hidden until checkoutAdd "Made to order — ships in 2–5 weeks" inline near Add to Cart; align to one stated turnaround site-wide; add indicative shipping-cost hint
Effort — "How hard is this?"Custom Sizing form, guest-style checkout (Shop Pay), clear CTAsBuy-box links pull off-PDP same-tab; no FAQ; Contact lacks phone/WhatsApp/SLA; empty cart dead-end; add-to-cart silent-failure riskOpen policy/size links in modal/_blank; build searchable FAQ hub; enrich Contact (WhatsApp + SLA); add empty-cart recovery carousel; add Add-to-Cart loading/error state

5. Persuasion Assets Audit

  • Credentials & Authority (exists, under-used): About page founder narrative (Lynn, generational sewing, French seams, Okanagan BC studio) is the brand's strongest E-E-A-T asset — but it lives on a dead-end page with no imagery and is not surfaced as Organization/Founder JSON-LD (ai-seo §4) or as a homepage trust strip.
  • Social Proof (exists off-site, absent on-site): Genuine Etsy 4.8/5 across ~855 sales is verifiable and strong. The ai-seo audit also reports a /pages/faq and 172 visible Judge.me reviews — but the live-DOM PDP and web-quality audits read "Customer Reviews (0)" / "Product reviews (0)". This is the central unresolved discrepancy (see §15): either the review widget is misconfigured/non-rendering, or the ai-seo reading is stale. Until validated, treat on-site reviews as effectively absent at the decision point — which is the dominant trust gap.
  • Risk Reversal (weak): Policy links exist, but the Returns page carries a stale brand reference and a 14-vs-10-day contradiction; store-credit-only is acceptable for made-to-order but should be surfaced pre-checkout. No money-back-style guarantee (acceptable for the category, but communicate transparently).
  • Data & Specificity (partial): Product Offer schema is correct (CAD, InStock); but aggregateRating is missing despite any visible reviews, and Organization/WebSite/BreadcrumbList JSON-LD is absent site-wide (web-quality §3.3, ai-seo §4).
  • Process & Methodology: Custom-measured form + Personalization Request + Shop Pay are strong "done-for-you" signals — but the Size Guide that should operationalize fit is empty.

Asset Acquisition Wishlist (action plan):

  1. Surface the existing review asset at product level + homepage (import/enable Etsy/Trustpilot reviews into Judge.me; configure star ratings + count). No new asset needed — validate the rendering discrepancy first.
  2. Build the Size Guide chart (measurement→size matrix + printable PDF) — turns the brand's core "we fit you" promise into an actionable tool.
  3. Purge brand-integrity artifacts: replace hello@nangthelabel.com with hello@adoriathreads.com across all body_html; replace caramelmonster.com on Returns/Exchanges; fix default variant color.
  4. Build a searchable FAQ hub (sizing, custom tailoring, dispatch, returns, shipping) and link from footer (replacing or augmenting the broken Garment Care / Affiliate slots).
  5. Add Organization + Founder + BreadcrumbList + (once reviews exist) aggregateRating JSON-LD; add twitter:image.
  6. Repair or remove the two 404 footer links (Garment Care, Affiliate Program).

6. Friction Audit (Fogg B=M+A+P)

Friction TypeFindingSeverityQuick Win?
Physical (Ability)Mobile LCP 16.8s (6.7× Poor threshold) — JS-render-blocking Shopify theme, 75 scripts, 3,262 KiB payloadHigh Confidence (Lighthouse lab)No (theme work) — but defer/inline CSS + cut preconnects is medium
Physical (Ability)Category browse broken — /collections/{dresses,tops,bottoms,linen} 404; "Shop" dropdown masks itHigh ConfidencePartial (create real collections)
Physical (Ability)No working PLP filters (only disabled Availability)High ConfidenceNo (needs filter menu)
Physical (Ability)Empty cart dead-end (no recovery merch)High ConfidenceYes (add carousel)
Physical (Ability)Sort/filter state lost on BackHigh ConfidenceMedium
Cognitive (Ability)Zero on-site reviews at decision (PDP/PLP/home)High Confidence (pending §15 validation)Partial (config existing asset)
Cognitive (Ability)Size Guide has no chart (measure-but-no-mapping)High ConfidenceYes (add table)
Cognitive (Ability)No per-color imagery; default color ≠ titleHigh ConfidenceYes (fix default) / High (per-color shots)
Cognitive (Ability)Buy-box links navigate away same-tab + dead "Color Selection" linkHigh ConfidenceYes
Emotional (Motivation)Wrong-brand email + stale caramelmonster.com — active trust breakHigh ConfidenceYes (text edit)
Emotional (Motivation)Two 404 footer links (Garment Care, Affiliate)High ConfidenceYes (create or remove)
Emotional (Motivation)No trust strip / authority cues at discovery; lead-time contradictionSignificantYes
Emotional (Motivation)Add-to-cart silent-failure risk (this pass)ValidateYes (add loading/error state)

Most conversion problems sit in Ability (make the purchase easy, trustworthy, findable), not Motivation — consistent with the Fogg diagnostic. The brand's desire (quiet-luxury dress) is present; the friction is in making the $250 commitment feel safe and informed.


7. Bugs & Structural Anomalies

  • Brand-integrity artifacts (validate + fix): wrong-brand email hello@nangthelabel.com in every PDP body_html (confirmed PDP F2 + web-quality §6.2); stale caramelmonster.com on Returns/Exchanges (support U10); Etsy wt-* dialog markup wrapping Penelope's description (PDP F3). All are copy-paste migration leftovers.
  • Default-variant color bug: every PDP loads "Emerald Green" regardless of title (PDP F1) — product-identity confusion.
  • On-site review-count discrepancy (validate): ai-seo-audit reports 172 Judge.me reviews / 4.8★ rendering on PDPs; the live-DOM PDP audit and web-quality audit read "Customer Reviews (0)" / "Product reviews (0)". Either the widget is misconfigured/non-rendering in headless, or the ai-seo reading is stale. Must be confirmed in a real browser. Related: aggregateRating JSON-LD is absent despite any visible reviews (ai-seo §4).
  • FAQ existence discrepancy (validate): the support-utility audit found no standalone FAQ in nav/footer; the ai-seo audit reports /pages/faq exists (200). Confirm whether a FAQ page is live and/or linked.
  • Trustpilot ~579 correction: business-analysis and web-quality cite "~579 Trustpilot reviews," but the digital-brand-intelligence task corrected this — Trustpilot returns 404 for the brand (ador.com), so ~579 is unverified. Off-site trust should be stated as Etsy 4.8/5 (~855 sales) only until Trustpilot is re-confirmed. Older 579 references are stale.
  • Two hard 404 footer links: Garment Care + Affiliate Program (both duplicated in footer lists) — real user-clickable dead ends (support U13/U15).
  • Category 404s: /collections/dresses|tops|bottoms|linen all 404; the real handle is dresses-collection (web-quality §3.5). The "Shop" dropdown hides this by pointing at /collections/all.
  • Empty Size Guide: 0 <table> elements; trailing "find your size from the info below" with nothing after (support U7).
  • Schema/SEO defects (CRO-adjacent): zero Organization/WebSite/BreadcrumbList JSON-LD site-wide; twitter:image missing; lang="en" not en-CA; homepage H1 is the logo (no topical H1); heading hierarchy skip (h3→h5).
  • Performance: mobile LCP 16.8s, desktop LCP 2.5s; 3,262 KiB payload; 704 KiB unused JS; desktop CLS 0.135 (web-quality §1).
  • Support contradictions: return window 14 vs 10 working days (U11); shipping $45 USD vs $40 CAD expedited (U8); lead-time 2–5 wk vs 2–3 wk (U9).
  • Accessibility: empty alt="" on all product/carousel/gallery images site-wide (homepage F4, PLP P6, PDP F7, support U3); empty aria-labels on icon buttons (inferred, consistent with homepage).
  • Minor: phantom PLP "page 4" link; Norway currency mislabeled "CAD"; typos ("fine your size", "initinitiate", "customed"); duplicated Contact/About brand-story; Privacy Policy references a non-existent "Terms of Service" (U14).

8. Quick Wins (Ranked by Impact/Effort)

High-impact, low-effort fixes implementable within 1–3 business days:

  1. Purge wrong-brand email hello@nangthelabel.comhello@adoriathreads.com across all product body_html; strip Etsy wt- markup. Source: PDP F2, web-quality §6.2.*
  2. Replace stale caramelmonster.com on Returns/Exchanges with adoriathreads.com; full policy copy-edit. Source: support U10.
  3. Fix default variant color to match each product's title color (or a true product photo). Source: PDP F1.
  4. Build the Size Guide chart (measurement→size matrix + printable PDF + link to sizing help). Source: support U7.
  5. Repair or remove the two 404 footer links (Garment Care, Affiliate Program). Source: support U13/U15.
  6. Surface the existing review asset at PDP buy box + homepage + PLP cards (configure Judge.me; import Etsy ratings). Validate discrepancy first — see §15. Source: PDP F4, PLP P3, homepage F1.
  7. Add twitter:image mirroring og:image; set <html lang="en-CA">; fix homepage heading hierarchy. Source: web-quality §3.2/§7.
  8. Add Organization + WebSite + BreadcrumbList JSON-LD (theme.liquid); add About-page Founder (Lynn) JSON-LD. Source: web-quality §3.3, ai-seo §4.
  9. Add empty-cart recovery carousel (trending/bestsellers + quick-add). Source: cart C1.
  10. Open buy-box policy/size links in modal or target="_blank"; fix/remove the empty-href "Color Selection" link. Source: PDP F8.
  11. Add Add-to-Cart loading + error state so a failed add is never silent. Source: cart C0.
  12. Build a searchable FAQ hub consolidating existing Q&As + sizing/fit/customization; link from footer. Source: support U17.

9. Top Opportunities (PIE-Prioritized)

PIE = (Potential + Importance + Ease) / 3, each scored 1–10.

#OpportunityPIEPIEExpected impact
1Purge brand-integrity artifacts (wrong email, stale caramelmonster.com, Etsy markup) — removes active trust leaks91099.3Restores credibility at the exact purchase-risk moment
2Surface reviews/ratings at decision (PDP buy box + cards + homepage) using the existing Etsy/Trustpilot asset91078.7Lifts PDP→cart across every product; highest-leverage trust fix
3Build the Size Guide chart (measurement→size mapping)9988.7Turns "we fit you" promise into action; cuts fit-abandon/returns
4Fix default-variant color + add per-color/swatch preview8877.7Removes identity confusion + return risk for a color-driven store
5Create real category collections + filter menu (fix 404s, add facets)8957.3Restores browse-by-garment; biggest discovery fix
6Mobile performance hardening (defer CSS, cut JS/preconnects, lazy-load)9937.0Protects the mobile audience from a 16.8s LCP wall
7Repair/remove 2× 404 footer links + dead-end recovery (Garment Care, Affiliate, empty cart)7797.7Removes hard dead-ends; cheap
8Add breadcrumbs + persist sort/filter on Back6766.3Restores orientation on the primary browse surface
9Build FAQ hub + enrich Contact (WhatsApp/SLA/address)7766.7Converts pre-purchase objections; reassures high-consideration buyers
10Homepage value-prop + trust strip + fix lead-time contradiction7877.3Improves first-visit clarity at widest top of funnel

10. A/B Testing Roadmap

Hypotheses in "If we [X], then [Y] will improve because [Z]." P0 = implement without testing (clear wins/bugs); P1 = test first; P2 = when capacity allows.

#HypothesisICE (I/C/E)PriorityPrimary metric
1If we purge the wrong-brand email + stale caramelmonster.com references, then brand trust and contact-form completion will rise because the purchase-risk moment no longer implies "is this a real store?"9/9/9P0 (text edit)Contact volume; trust sentiment
2If we surface Etsy/Trustpilot ratings + review count on the PDP buy box, PLP cards, and homepage, then PDP→cart and PLP→PDP CTR will rise because first-time $250 buyers get the reassurance they lack at the decision point.9/9/7P0 (config, after §15 validation)PDP→cart; conversion
3If we build the Size Guide measurement→size chart, then add-to-cart and return rate will improve because fit anxiety is reduced pre-purchase for a custom-measured brand.9/9/8P0 (low risk)Add-to-cart; return rate
4If we fix the default variant color to match the title and add color-swatch hover preview, then return rate and variant-selection accuracy will improve because the shopper sees the actual color.8/8/7P1Return rate; variant accuracy
5If we create real category collections + a filter menu (replacing the 404s), then PLP→PDP CTR will rise because shoppers can finally browse by garment/color/length.8/8/5P1PLP→PDP CTR; bounce
6If we add a homepage value-prop hero line + trust strip (Made in Canada · French seams · Custom fit · Secure checkout), then homepage bounce will fall because new visitors immediately grasp the differentiation.8/8/8P1Bounce; hero-CTA CTR
7If we add empty-cart recovery merchandising (trending + quick-add), then abandoned-cart recovery will rise because the empty state re-engages instead of dead-ending.7/7/9P0 (config)Cart recovery rate
8If we add Add-to-Cart loading + error states, then silent-failure abandonment will fall because a failed add is never invisible.8/8/9P0 (defensive)Add-to-cart success rate
9If we defer/re-inline critical CSS and cut render-blocking JS/preconnects, then mobile LCP will improve (target <4s) because the theme no longer blocks first paint on throttled mobile.9/8/4P2 (engineering)Mobile LCP; bounce
10If we build a searchable FAQ hub, then pre-checkout objection rate will fall because sizing/customization/shipping questions are self-served.7/7/6P1Pre-checkout exits; FAQ views

Testing discipline: calculate sample size before launch; run ≥1 full business cycle; 95% confidence; do not peek/stop early. The brand-integrity, size-guide, review-surfacing, and empty-cart items are near-zero-risk and ship as P0 improvements; value-prop and category items validate as P1 tests.


11. Revenue Impact Estimate

Assumptions (explicit — no analytics access; figures from business-analysis.md):

  • D2C traffic is ~126 monthly visits (user-provided SimilarWeb, treated as ground truth per skill priority). Absolute D2C revenue is not publicly disclosed (Etsy ~855 cumulative sales is the only volume signal). Therefore absolute CAD revenue impact cannot be responsibly quantified — any number would be fabricated.
  • The friction set here is structural/on-site: missing social proof, brand-integrity defects, broken discovery, dead-end support pages. These depress on-site conversion rate (CVR), not traffic. The honest framing is a relative CVR uplift on whatever traffic the store already has.
  • Sector fashion CVR benchmark 1.5–2.5%; cart abandonment 75–80%. For a high-consideration $230–$270 made-to-order dress, decision-stage trust (reviews, fit guidance, brand integrity) and discovery (filters, categories) are the dominant CVR levers.
ScenarioRelative on-site CVR liftRationale
Conservative+20%Surfacing reviews + fixing brand-integrity + size guide closes the biggest trust/fit leaks only
Base+30%Plus category/filter rebuild + homepage trust strip + empty-cart recovery
Optimistic+45%Plus mobile-LCP fix (recovers mobile bounce) + FAQ + full schema/social-proof distribution

These are directional relative ranges, not forecasts. They exclude the separate, larger upside from the discovery program (content hub / AEO / Pinterest activation / paid social) addressed by the sibling content-strategy, ai-seo, and ad-intelligence reports — those grow the ~126/mo top-of-funnel, whereas this CRO audit improves the conversion of traffic already arriving. Real-device validation of add-to-cart + the review-widget rendering (§15) should precede any firm commitment.


12. CRO Score Breakdown

CategoryScoreNotes
Value Proposition Clarity4 / 10No positioning above fold; USP stranded on dead-end About; leads with lead-time caveat
Trust & Credibility3 / 10Wrong-brand email + stale caramelmonster.com + 0 on-site reviews at decision; Etsy off-site trust not surfaced
Navigation & Findability3 / 10Category URLs 404; no working filters; no breadcrumbs; sort lost on Back
Product Presentation5 / 10Good photography (real, not AI); but default-color≠title, no per-color imagery, empty Size Guide, buy-box same-tab links
Cart & Checkout5 / 10Standard safe Shopify flow; empty-cart dead-end; add-to-cart silent-failure risk (this pass)
Persuasion Assets2.5 / 10Etsy trust exists but unsurfaced; About narrative stranded; no reviews/testimonials/UGC at decision
Urgency & Scarcity4 / 10Made-to-order lead-time is honest but front-loaded as friction; no helpful scarcity
Risk Reversal3.5 / 10Policy links exist but contradictory (return window, shipping cost, lead-time) + stale brand ref
Support & Utility3 / 102 hard 404s, empty Size Guide, no FAQ, Contact missing channels
Technical Performance4 / 10SEO 100 / A11y 93 strong; but mobile LCP 16.8s is a wall; schema gaps
Overall4.0 / 10Trustworthy store, but conversion experience undermined by brand-integrity defects, missing social proof, broken discovery, and dead-end support pages

13. Recommendations Summary

Immediate (This Week) — critical fixes & bugs (all Low effort)

  • Purge hello@nangthelabel.comhello@adoriathreads.com and Etsy wt-* markup from all product descriptions.
  • Replace caramelmonster.com on Returns/Exchanges; full policy copy-edit (fix 14-vs-10 day and $45-vs-$40 contradictions).
  • Fix default variant color to match each title; build the Size Guide measurement→size chart.
  • Repair or remove the two 404 footer links (Garment Care, Affiliate Program).
  • Surface Etsy (and verified Trustpilot) ratings at PDP buy box + homepage + PLP cards — after validating the review-widget discrepancy (§15).
  • Add Add-to-Cart loading + error state; add twitter:image; set <html lang="en-CA">.

Short-Term (This Month) — high-confidence improvements

  • Create real category collections (Dresses/Tops/Bottoms) + a Shopify filter menu; point the "Shop" dropdown at them.
  • Add breadcrumbs + persist sort/filter on Back; fix phantom pagination link.
  • Build a searchable FAQ hub; enrich Contact (WhatsApp wa.me + studio city + "we reply within 24h").
  • Add Organization + Founder + BreadcrumbList JSON-LD; About-page founder imagery.
  • Add empty-cart recovery carousel; open buy-box policy/size links in modal/_blank.

Medium-Term (This Quarter) — structural changes

  • Mobile performance hardening: defer/inline critical CSS, cut 704 KiB unused JS, reduce preconnects to 2–3, lazy-load below-fold, explicit image dimensions (fix CLS).
  • Align lead-time to a single stated turnaround site-wide; add "Made to order — ships in 2–5 weeks" near Add to Cart.
  • Publish the content hub (care/sizing/style guides) to fill the empty blog and feed AEO discovery.
  • Add aggregateRating schema once on-site reviews exist; add a "Where to Buy" page (D2C + Etsy + Shop.app).

Long-Term (This Year) — strategic initiatives

  • Pursue a sustainable/slow-fashion roundup mention (third-party citations are 6.5× more likely to be used by AI).
  • Activate the dormant Pinterest Verified Merchant.
  • Consider a lighter theme (Dawn-class) if mobile LCP cannot be tamed via app trimming.
  • Monthly monitoring of on-site review coverage, mobile LCP, and add-to-cart success rate.

14. Measurement Plan

MetricToolFrequencyBaseline (assumed)Target
Conversion rate (D2C)Shopify Analytics / GA4Weekly~1.5–2.0% (sector)+20–45% relative
Add-to-cart success rateShopify Analytics + theme eventsWeekly100% of intended adds; no silent failures
Cart abandonment rateShopify AnalyticsWeekly~75–80% (sector)< 70%
PDP→cart rateShopify AnalyticsWeeklyLift after reviews + size guide + color fix
PLP→PDP CTRShopify AnalyticsWeeklyLift after ratings + breadcrumb + filters
Review coverage / countJudge.meMonthly0 on-site (validate §15)Import Etsy; product-level coverage → 100% of active SKUs
Mobile LCPCrUX / LighthouseWeekly16.8s (lab)< 4s
Empty-cart recovery rateShopify AnalyticsMonthly0 (dead-end)Establish baseline post-carousel
Return rateShopify / returns logMonthlyFall after size guide + per-color imagery
Brand-email contact volumeEmail/helpdeskMonthlyRise after purging wrong email

15. Mandatory Self-Check

CheckQuestionResult
FrictionDiagnosed via Fogg (Prompt→Ability→Motivation)?✅ Ability-dominated (reviews, size guide, filters, brand-integrity, mobile LCP) — see §6
MobileRecommendations tested on mobile?⚠️ Inferred from DOM/CSS only; not visually verified (tool limit, but mobile LCP 16.8s is lab-measured) — flag for real-device validation
EthicsNo dark patterns / misleading urgency?✅ Recommendations avoid fake scarcity; brand's honest made-to-order positioning preserved
DataBacked by data/benchmarks?✅ Sector CVR/abandonment benchmarks + Lighthouse CWV + sub-audit evidence cited
PrioritizationPIE-prioritized?✅ §9
LocalLocal payment/methods accounted for?✅ CAD/en-CA, Shop Pay, 22-currency selector surfaced; made-to-order model noted
AssumptionsTraffic/CVR assumptions explicit?✅ §11 — absolute revenue not quantified (undisclosed); expressed as relative CVR lift

Self-Check: Complete (with the mobile-verification, review-rendering, FAQ-existence, and Trustpilot-correction remarks noted).

To validate (user / real-device / real-browser):

  1. On-site review rendering — resolve the live-DOM-vs-ai-seo discrepancy: the PDP/web-quality audits read "Customer Reviews (0)" while the ai-seo audit reports 172 Judge.me reviews / 4.8★ visible on PDPs. Confirm in a real browser whether the widget renders and whether aggregateRating JSON-LD emits. This determines whether Opportunity #2 is a config win or a rebuild.
  2. Add-to-cart behavior — re-run on a real device/browser. This pass observed a silent failure (badge stuck 0, no drawer, no error) while the sibling PDP task reported PASS. Confirm which is the live behavior; add loading/error states regardless.
  3. FAQ page existence — the support-utility audit found no standalone FAQ; the ai-seo audit reports /pages/faq exists (200). Confirm whether a FAQ page is live and/or footer-linked.
  4. Trustpilot ~579 — the digital-brand-intelligence task corrected this to unverified (Trustpilot 404 for ador.com). Re-confirm before citing Trustpilot as off-site trust; for now state Etsy 4.8/5 (~855 sales) as the verified asset only.
  5. Mobile nav, sticky buy-bar, hover gallery, filter bottom-sheet — visually verify on device (desktop-only render here).
  6. Category 404s + the two footer 404s (Garment Care, Affiliate) — confirm reproducible on a live storefront and either build the pages or remove the links.

Sources: pageaudit/homepage.md, pageaudit/plp.md, pageaudit/pdp.md, pageaudit/cart-checkout.md, pageaudit/support-and-utility.md, business-analysis.md, web-quality-audit.md, ai-seo-audit.md, digital-brand-intelligence.md, competitive-analysis.md (all in /root/cro-reports/adoriathreads/20260822-094749/). Live-site evidence captured 22 Aug 2026.