Private · Order #55111153516 · Updated July 17, 2026
The Arctic Audit · Scale Private · Order #55111153516 · Updated July 17, 2026

Reflux Gourmet

Ordering reopened on July 16, and we re-verified it live on July 17 with a real add-to-cart. The relaunch also shipped three new breakages. This is the full-depth scan of the hand-off you inherited: every leak measured on July 10, re-measured on July 17, priced in engineering hours, and sequenced backend-first, in the order you asked for.

Prepared for  Angela Belafsky Domain  refluxgourmet.com Scale tier Measured  July 10, 2026 Updated  July 17, 2026 · Re-verified live
Findings, ranked
33
Across 8 revenue dimensions, ranked by projected-recovery midpoint. 2 resolved this week, 31 open.
Open recovery range
$198K to $466K
Annualized, open findings only, drawn from AG's historical cohort. Not a promise, a model.
Core-tier hours, open
645
Patch ~240 hrs · Core ~645 hrs · Deep ~1,420 hrs, open findings only.
Free-fix candidates
6
Patch tier, 15-hour cap. You pick one, we ship it free inside 14 days.
Executive Summary

33 findings. $198K to $466K in projected annual recovery, open findings only.

A measured Scale-tier diagnostic of refluxgourmet.com against the natural-reflux and gut-health cohort (RefluxRaft, Wonderbelly, Genexa, Seed, Arrae). The load-bearing fact this week: your team reopened on-domain ordering on July 16, and we re-verified it on July 17 with a real add-to-cart. The relaunch also shipped three new breakages, measured as Findings #31 to #33. Every number below is sourced from the July 10 crawl and re-verified live on July 17, every fix is scoped to hours, and the first fix ships inside 14 days, free.

Findings (ranked)
33 2 resolved · 31 open
10-dimension scan, ranked by projected-recovery midpoint. Findings #31 to #33 added July 17.
Projected annual recovery range
$198K to $466K
Open findings only: #1 and #26, resolved by your team on July 16, are excluded. Top 5 open = $73K to $161K. Projection drawn from AG's historical cohort. Not a guarantee. 3 findings at high confidence, 16 medium, 14 low. The high and medium rows are the ones we'd stake a bet on. Low confidence is the long tail, directional only.
Core-tier hours
~645 hrs
Open findings: Patch ~240 hrs · Core ~645 hrs · Deep ~1,420 hrs.
Cohort gap
23 / 100
Reflux Gourmet 23 vs cohort avg 65 on the 10-dimension scorecard (230 vs 652 of 1,000).
Speed55 / 62
Conversion25 / 71
Order value15 / 64
Retention5 / 60
Search15 / 66
Multi-region5 / 54
Wholesale40 / 62
PDP narrative45 / 77
Email / SMS15 / 63
Paid destination10 / 73

Composite score 23 of 100 versus a cohort average of 65, with every one of the ten dimension scores below its cohort average.

The week between · July 10 to July 17
July 10
Audit measured and built. The full Scale scan of refluxgourmet.com, every finding verified live the same day you finished your answers.
July 14
Collaborator access granted. Your approval landed at the store level; the read-only inside verification session is the first working item it unlocks.
July 16
Your team reopened on-domain ordering. Re-verified by us July 17 with a real cart: line item created, checkout renders.
July 17
Three new relaunch breakages measured and added as Findings #31 to #33; all 30 original findings re-verified live.
Every check in this report is read-only. We look, we measure, we do not touch, and nothing gets changed without a fix list you have approved in writing.
A note from Anthony

Angela, this is the backend-first audit you asked for, updated through July 17.

On July 10 you wrote the clearest scoping sentence a client has ever sent us: you need "the backend set-up audited to ensure that it has all been done correctly," fixed where it hasn't been, and everything in "good working order and shiny and finished" before anyone spends a minute on the front-facing experience. That is exactly what this report is, and the order of operations below follows it: backend verification first, stabilization second, growth parked until you say the word. One thing to say plainly up front: you purchased the Growth audit, and we ran the full Scale scan at no charge, because "first and best," as you put it on July 10, deserves first and best.

Since the first measurement on July 10, three things changed. Collaborator access to your store was granted on July 14, thank you for the fast turnaround on the code. On July 16 your team reopened on-domain ordering, and we verified it on July 17 with a real add-to-cart: the line item was created and checkout rendered. And the July 17 re-verification pass measured three new breakages the relaunch shipped: two of your three homepage hero product cards now link nowhere and show a $ 50 placeholder price, Klaviyo was removed entirely so the store is taking orders with no email stack behind it, and the blog moved to a new URL structure leaving all 39 posts returning 404 with no redirects. Those are Findings #31, #32, and #33, measured to the same evidence standard as everything else in here.

One commitment, in plain words, because it matters: every check in this report is read-only. We look, we measure, we do not touch, and nothing gets changed without a fix list you have approved in writing. The first working item on our side is the inside verification session, the read-only pass through payments, shipping, tax, notifications, apps, and the migration history that no outside crawl can see. Access arrived July 14; that session lands with your Monday, July 20 working session with Brooke, and it answers your question about what shape the setup is in.

Every finding now carries a status pill. What your team resolved on July 16 is marked resolved, kept in the document as the baseline, and excluded from the open recovery totals. What the re-verification confirmed is marked still open. What the relaunch broke is marked new. And the growth material, the multi-region review, the email arc, the prototype direction, is all Phase 2, clearly parked until the site is, in your words, shiny and finished.

If anything below is wrong, reply to this report. We argue with the data and either defend it or drop the finding. Brooke owns the calendar for Monday, July 20.

Anthony SpalloneCo-Founder · Arctic Grey · since 2015
Part 1 · Diagnose (I to III)
What is broken, measured live on July 10 and re-verified July 17, with the receipts attached.
I.

How this audit was measured

Methodology

A Scale audit is the deep diagnostic. Every measurement here is reproducible by you, your team, or any third party using publicly available tools. Where a measurement could not be captured live (the PageSpeed lab grid was rate-limited on July 10), we say so, fall back to direct payload analysis, and mark confidence accordingly.

1

Forensic crawl

Direct HTTP and rendered-browser measurement of the homepage, 3 PDPs (Vanilla Caramel Rescue first), /collections/all-products, /cart, /pages/clinician-program, all 4 policy URLs, robots.txt, the full sitemap set, and /products.json on July 10, 2026. We captured payloads, metadata, JSON-LD, theme markers, and the live add-to-cart behavior, verified by clicking it.

2

5-competitor cohort

Same crawl methodology against RefluxRaft (the direct alginate twin), Wonderbelly, Genexa, Seed, and Arrae, fetched July 10. 10-dimension scorecard, 0 to 100 per dimension, evidence-anchored to live pages, not marketing claims.

3

Benchmark sourcing

Conversion, AOV, retention, and multi-region assumptions anchored to Baymard Institute, Shopify Plus 2024 commerce benchmarks, Google Core Web Vitals data, Klaviyo 2024 health-and-wellness benchmarks, Recharge 2024 subscription data, and FTC + UK CMA consumer-protection guidance.

4

10-dimension scoring

Speed, Conversion, AOV optimization, Retention/Subscription/Loyalty, Search/Discovery, Multi-region, Wholesale/B2B/practitioner, Brand narrative on PDP, Email/SMS program, and Paid-traffic destination quality. Each scored 0 to 100 against the cohort.

5

Recovery modeling

Every finding shows its assumption stack: sessions × baseline CR × expected lift × AOV × 12. Sessions modeled from category bands for a $5M to $20M brand; CR baseline from the supplements vertical (2.0 to 2.8%) with ordering open again since July 16; AOV drawn from your visible price ladder ($22 to $32 consumables, $28 Rescue tubes), assumed until confirmed inside.

6

The rescue lens

This relationship is four days old, so the audit is sculpted around what you actually wrote between July 6 and July 10. Everything you flagged is validated and prioritized, credited to you by date, never presented as our discovery. Discovery credit is reserved for what the crawl surfaced beneath and beyond your flags.

Three-point estimation (PERT) on every fix

Software estimation is a range, not a number. Industry-standard PERT estimation gives a low / most-likely / high band. We rename them so the scope reads cleanly:

Patch
P10 · Optimistic
The minimum viable fix
Removes the immediate bleed. Skips edge cases. Leaves polish, A/B wiring, and analytics instrumentation for later.
CoreRecommended
P50 · Most likely
The recommended scope
Fixes the root cause, handles the obvious edge cases, ships QA'd across mobile and desktop. This is what AG would normally quote a Bulk Hours client.
Deep
P90 · Unlikely
The deep build
Root cause plus adjacent surface area. Adds test infrastructure, analytics events, copy iteration, and a 30-day post-launch monitoring window.
Expected hours = (Patch + 4 × Core + Deep) / 6 · This is the PERT weighted average. Core gets 4× weight because it is the most-likely outcome.
II.

The ten-dimension scan

Scored vs cohort

Each score reflects how refluxgourmet.com performs against the 5-competitor cohort on a 0 to 100 scale. 50 = parity, higher = better. One reading before the gauges: speed, the priority you named on July 10, is actually your closest-to-parity dimension (55 vs 62), because the server is edge-fast and the DOM is small. The speed problem is concentrated in one 2.05 MB asset, not spread across the stack. The six deepest deficits below are where the findings concentrate.

25
Conversion
vs cohort −46
5
Retention
vs cohort −55
15
Order Value
vs cohort −49
5
Multi-region
vs cohort −49
15
Email / SMS
vs cohort −48
10
Paid Destination
vs cohort −63

Reflux Gourmet vs 5-competitor cohort (radar, 10 dimensions)

Source: AG forensic crawl + cohort triangulation, July 10, 2026. Cohort = RefluxRaft, Wonderbelly, Genexa, Seed, Arrae.

Reflux Gourmet trails the cohort on all ten dimensions, narrowest on speed (55 vs 62), widest on paid destination (10 vs 73).

Reflux Gourmet is closest to the cohort on speed (55 vs 62) and wholesale/practitioner (40 vs 62, on the strength of a clinician program the cohort had to invent). The gap is widest on retention (5 vs 60), paid-traffic destination quality (10 vs 73), and multi-region (5 vs 54). The top 5 open findings alone account for $73K to $161K of the projected open range.

The same ten dimensions, sorted by gap

Source: identical scorecard data to the radar, ordered by cohort-average minus Reflux Gourmet. Gold = Reflux Gourmet, grey = cohort average.

Sorted by gap, paid destination is widest (10 vs 73) and speed narrowest (55 vs 62); every dimension trails the cohort average.

The four widest gaps (paid destination, retention, search, order value) are revenue plumbing, not brand. Speed, the priority you named on July 10, is the narrowest gap on the board.

Homepage payload & request diet vs cohort

Source: Reflux Gourmet bars are measured directly (July 10 crawl: 2,096 KB hero PNG, 223 KB CSS, 174 requests, ~115 scripts). Cohort bars are directional estimates from stack inspection; a keyed PSI grid re-captures all six live during your strategy room.

Payload summary: Reflux Gourmet's hero image is 2,096 KB against cohort heroes of 210 to 640 KB; code payloads are comparable across the six brands.

One image is the story: the 2.05 MB hero PNG outweighs most competitors' entire above-the-fold payload. Wonderbelly, the fastest site in the cohort, ships AVIF images on a headless build. Reflux Gourmet's server is fast (~19 ms TTFB); the theme's media pipeline is what drags.

The buyer exile · July 10 to July 16

Modeled from the Section III assumption stack. Projection, not a measurement. This exile closed on July 16; the chart stays as the historical record.
Monthly sessions · modeled ~55,000 PDP views ~22,000 Add-to-cart clicks ~1,650 Maintenance modal shown ~1,650 Exits to Amazon / Walmart ~1,485 every one of these buyers pays marketplace fees and surrenders the customer record

Of ~55,000 modeled sessions, ~22,000 view a PDP, ~1,650 click add-to-cart, all 1,650 meet the modal, and ~1,485 exit to Amazon or Walmart.

Five steps from arrival to exile, as measured July 10. The wall sat at step four: 100% of add-to-cart clicks met the maintenance modal, and the two gold bars are demand your domain earned and a marketplace collected. Your team closed this exile on July 16; we re-verified the open cart path on July 17. Hover any step for its count, step conversion, and cumulative share.
III.

Thirty-three findings, ranked by projected recovery

Scale scope

Each finding shows the observation (with your own words and their dates where you flagged it first), the literal evidence captured during the July 10 crawl and re-verified live on July 17, a cohort benchmark plus an external benchmark, the projected annual recovery range with its assumption stack, and a Patch/Core/Deep engineering scope. Every finding now carries a status pill: what your team resolved on July 16 is marked resolved, kept as the baseline record, and excluded from the open totals; what the July 17 pass confirmed is marked still open; the three relaunch breakages are marked new. The Top 5 carry an animated gold "Top 5" tag in the header strip.

Note on modeled recovery rangesEvery dollar range in this audit is a modeled estimate, derived from Arctic Grey's historical cohort of comparable Shopify Plus engagements and the published industry benchmarks cited per finding. Ranges represent observed outcomes when similar fixes have shipped on comparable storefronts. They are projections, not commitments. Past cohort performance is not a guarantee of future results on refluxgourmet.com, and actual impact will depend on shipping quality, traffic mix, seasonality, and downstream merchandising decisions.

Filter the thirty-three findingsShowing 33 of 33
Each cell is one finding, tinted by projected-recovery midpoint (deeper gold = larger). Hover for the title and range; click to jump to the finding.

How to read the hours

PatchThe honest estimate for the fix itself. Quote this number to your own developer.
CorePatch plus QA, mobile testing, analytics wiring, and adjacent cleanup. The durable version, and what our own engagement scopes.
DeepAdds test infrastructure, monitoring, and analytics dashboards.

If a number here would make a competent senior developer raise an eyebrow, tell us. We recalibrate in the open.

Findings index
#FindingDimensionProjected recoveryCore hoursConfidence
1The storefront cannot take an order · resolved July 16Top 5Conversion$32K to $68K40 to 64High
2Clinician form fails silentlyTop 5Wholesale$20K to $44K24 to 40Medium
32.05 MB PNG is the LCP elementTop 5Speed$15K to $34K6 to 10Medium
4Zero structured dataTop 5SEO$12K to $27K12 to 20Medium
5No subscription on a replenishment productTop 5Retention$12K to $26K60 to 90Medium
6No bundles for the Rescue lineAOV$10K to $22K30 to 50Medium
7No practitioner pricing tierWholesale$9K to $20K40 to 64Medium
8No email capture popupRetention$8K to $19K14 to 24Medium
9Zero reviews on PDPConversion$8K to $18K10 to 14Medium
10Blog moved, 39 legacy URLs 404SEO$7K to $17K24 to 38Medium
11Policy pages missing while PDPs say no returnsConversion$7K to $16K12 to 20Medium
12No sample-to-reorder pipelineWholesale$6K to $14K22 to 36Low
13174 requests, ~115 scriptsSpeed$6K to $13K18 to 30Low
14Newsletter bypasses KlaviyoRetention$5K to $13K8 to 14Medium
15Founders missing from the PDPBrand$5K to $12K16 to 28Low
16No free-shipping thresholdAOV$5K to $11K6 to 10Medium
17UK/EU demand, USD-only storeMulti-region$4K to $11K24 to 40Low
18No cross-sell or gift-with-purchaseAOV$4K to $10K18 to 30Low
19No SMS channelRetention$4K to $9K18 to 28Low
20No srcset across PDPsSpeed$3K to $9K12 to 20Low
21Science pages carry no schemaBrand$3K to $8K12 to 20Low
22No anchor pricing ladderAOV$3K to $8K10 to 16Low
23Meta and OG stubs sitewideSEO$3K to $7K3 to 5Medium
24One 223 KB CSS fileSpeed$2K to $7K12 to 20Low
25No press or UGC surfaceBrand$2K to $6K12 to 20Low
26Add-to-cart can freeze the page · resolved July 16Conversion$2K to $6K4 to 8High
27Hero video + image weight · partly resolvedSpeed$2K to $5K8 to 14Low
28No hreflang, no locale pathsMulti-region$1K to $5K8 to 14Medium
29No local payment presentationMulti-region$1K to $4K8 to 14Low
30DDU-by-default duties postureMulti-region$1K to $3K6 to 10Low
31Dead homepage hero cards · new July 17Conversion$14K to $30K6 to 10High
32Email stack removed at relaunch · new July 17Retention$12K to $26K20 to 32Medium
33Blog migration, 39 URLs 404 · new July 17SEO$4K to $12K12 to 20Medium
Showing 33 of 33
1Conversion · CheckoutResolved · July 16Top 5§
Scale

The storefront cannot take an order. Every buyer is exported to Amazon or Walmart.

What a shopper saw until July 16: a store that looked fully open but literally could not take an order. Every attempt to buy ended in a popup pointing to Amazon or Walmart.

Your team reopened ordering on July 16. We verified it on July 17 with a real add-to-cart. The July 10 record below stays as the baseline the recovery math started from. You flagged this first, on July 10: "The ordering/purchasing is suspended as it has yet to test successfully." Here is the full depth of it, measured. Every add-to-cart on refluxgourmet.com fires a JavaScript "Store Under Maintenance" modal that routes the buyer to Amazon or Walmart, and the theme monkey-patches window.fetch so even direct cart calls return a fake success while the cart stays empty. The store looks fully shoppable, prices and PDPs render, and it converts 0% on-domain. Every rescued sale pays marketplace fees and surrenders the customer record.

Evidence (verified live, July 10) URL: refluxgourmet.com/products/vanilla-caramel-rescue
Clicked "Add to cart" → modal rendered: "Store Under Maintenance" · cart count stayed 0
Modal CTAs: "Buy On Amazon" → the Amazon brand store, "Buy on Walmart" → a single Mint Chocolate listing, whatever flavor the buyer wanted
Inline theme JS: window.fetch monkey-patched; any /cart/add request short-circuits to a fake Promise response
/products.json: all 15 variants available:true. Inventory is not the blocker; the JS wall is
Source & benchmark Every brand in the cohort lands traffic on a working buy path: Seed's paid traffic deep-links to a preloaded cart URL (seed.com/cart?cart=syn-wk), one click from ad to checkout. Baymard 2024: interstitials on the purchase path are the single most abandonment-prone pattern measured. Marketplace referral + fulfillment fees on supplements typically run 15 to 22 points of margin versus on-domain orders.
Projected annual recovery $32K to $68K Confidence High
~55,000 monthly sessions × 2.0 to 2.8% baseline CR × $29 AOV = $32K to $45K/mo of on-domain demand currently exported × 40 to 60% realistically recaptured × 15 to 22 pt marketplace-fee margin delta × 12, plus the owned customer record (email, LTV, subscription eligibility) on every recaptured order.
midpoint $50K
Recommended fix · PERT scope
Patch
16 to 24 hrs
Remove the interception layer cleanly (modal bindings, form hijacks, the fetch monkey-patch), restore native /cart/add, and run a full test-order pass: cart, checkout, payment capture, order confirmation, Amazon MCF fulfillment handoff. Exceeds the free-fix ceiling; see Section XII.
Core
40 to 64 hrs
Patch scope plus end-to-end verification the previous build never did: payment methods (cards, Shop Pay), tax settings, shipping rates against the free-ship promise, refund path dry-run, MCF order-routing confirmation on a live SKU, transactional email QA, and a rollback-safe deploy with the modal preserved behind a feature flag for genuine maintenance windows.
Deep
90 to 140 hrs
Core scope plus the 3PL-readiness layer you described on July 9: order-routing architecture that can toggle between the new 3PL and Amazon MCF per your requirement, weight data restored (all variants currently ship grams:0), checkout analytics events, and a 30-day post-launch order-integrity monitor.
Why the spread is wide: removing the wall is fast; proving the checkout your buyers will actually hit is the work the migration skipped. Dependencies: admin access (your July 9 question, answered in the strategy room). Findings #26 and #16 ship inside this workstream naturally.
2Wholesale · Clinician channelStill open · re-verified July 17Top 5§
Scale

The Clinician Sample Program form can fail without telling anyone, including you.

What a shopper sees: a clinician fills in the sample request form, sees a thank-you screen, and the request can quietly vanish. The form looks like it works, but submissions can disappear without anyone ever knowing.

Your words, July 10: "this program is critical to our success and I don't have faith it, or any of the forms, has been set-up correctly." Your instinct was right. The form posts to a hardcoded Zapier webhook, exposed in page source, in no-cors mode, which means the browser cannot read the response and every failure is silently swallowed. The page then redirects to the thank-you screen regardless of outcome. A clinician can request samples, see "thank you," and vanish.

Evidence (form architecture) URL: refluxgourmet.com/pages/clinician-program
JS strips the form action, POSTs FormData to an exposed hooks.zapier.com URL in mode:'no-cors'; errors only reach console.error
Second POST to /contact, then an unconditional redirect to /pages/clinician-thank-you
17 inputs; State, ZIP, specialty, and clinician-count are free-text with no validation; the webhook URL is spammable by anyone reading source
Re-verified July 17: hooks.zapier.com (1×), no-cors (1×), removeAttribute('action') (1×) all still in fresh page source; "Wholesale Not Available" still rendered
Source & benchmark RefluxRaft, the direct alginate competitor, runs its practitioner sample request on a Klaviyo form with a one-click refill flow, feeding a tracked clinical pipeline. Baymard 2024 form-UX research: silent submission failure is the most damaging form error class because the user never retries. For a brand whose growth engine is clinician sampling to patient recommendation, this is infrastructure, not a web form.
Projected annual recovery $20K to $44K Confidence Medium
Modeled 30 to 60 clinician requests/mo × 10 to 20% at-risk of silent failure or abandonment × each recovered active clinician driving 3 to 6 patient orders/mo at $29 AOV, ramping across 12 months, plus the pipeline value of requests that currently land in no system of record.
midpoint $32K
Recommended fix · PERT scope
Patch
8 to 14 hrs
Rewire the form to a reliable endpoint with real failure states: server-verified submission, inline error and retry UX, required-field validation (State picker, ZIP format, email), notification to your team on every request, and removal of the exposed webhook from page source. This is free-fix candidate #1, pre-selected.
Core
24 to 40 hrs
Patch scope plus a proper system of record: submissions land in Klaviyo as clinician profiles with practice metadata, an auto-acknowledgement email to the clinician, an internal fulfillment queue with status, and the stray "Wholesale Not Available" label cleaned out of the form area.
Deep
60 to 90 hrs
Core scope plus the productized program in Finding #12: one-click sample refills, a clinician nurture flow, HCP-facing collateral download, and per-practice tracking so you can see which clinics drive patient orders. This is the RefluxRaft playbook, run back on the brand that wrote it.
Why the spread is wide: a reliable form is hours; a tracked clinician pipeline is a program. Dependencies: confirm during the strategy room where submissions should land and who on your team owns fulfillment, then Findings #7 and #12 stack on this foundation.
3Speed · LCPStill open · re-verified July 17Top 5§
Scale

A 2.05 MB uncompressed PNG is the largest element on your homepage, and it loads twice.

What a shopper sees: mobile visitors download a desktop-sized photo before they can read a word, so the page feels slow exactly where most of your shoppers are, on their phones.

Speed was the #1 priority you named on July 10, so we went straight at the biggest measurable leak. The homepage hero is a 2,096 KB PNG at 1440×947, served with no WebP or AVIF alternative and no responsive srcset, and the identical file is referenced a second time as the social-share image. It is the LCP element on both mobile and desktop: a phone downloads roughly 2 MB before the first meaningful paint of a store that currently cannot sell.

Evidence (measured payloads) Asset: /cdn/shop/t/6/assets/hero-banner.png · 2,096 KB · image/png · 1440×947
Referenced twice: theme asset + /files/hero-banner_65d6037d…png (both measured 2,096 KB)
No srcset, no WebP/AVIF, no mobile variant; it is also the og:image on every page type
Context: PDP hero JPEG is 105 KB at width=1000, so the problem is concentrated here
Re-verified July 17: HEAD content-length: 2146252 (2.05 MB), image/png, loading="eager", still no srcset
Source & benchmark Wonderbelly, the fastest site in the cohort, serves AVIF hero imagery on a headless build. Google Core Web Vitals guidance: LCP images should be ≤100 to 200 KB after modern compression; a 2 MB PNG typically converts to ~150 to 250 KB WebP at visually identical quality, an ~90% payload cut on the critical path. Google/Deloitte milliseconds research ties each 100 ms of mobile LCP to measurable conversion movement.
Projected annual recovery $15K to $34K Confidence Medium
~60% mobile share of ~55K monthly sessions × +0.15 to +0.35pp CR on a multi-second LCP improvement × $29 AOV × 12. Lab LCP seconds not captured this run (PSI rate-limited); payload measured directly, so the range stays conservative and confidence is capped at medium.
midpoint $24.5K
Recommended fix · PERT scope
Patch
2 to 4 hrs
Convert the hero to WebP with a compressed PNG fallback, add responsive srcset breakpoints (mobile stops inheriting the 1440px asset), preload the LCP image, and deduplicate the second 2 MB reference. Free-fix candidate #3.
Core
6 to 10 hrs
Patch scope plus the bundle around it, stated plainly: cross-device QA of the new hero, explicit width/height on hero media to kill layout shift, fetchpriority tuning, and a before/after speed report once the keyed PSI grid is captured. The fix itself is the 2 to 4 Patch hours.
Deep
12 to 20 hrs
Core scope plus a sitewide image pipeline: every template moved to responsive srcset with modern formats (Finding #20), a compression standard for future uploads your team is trained on, and a 28-day CrUX follow-up to verify field LCP.
Why the spread is wide: one asset is an afternoon; a sitewide pipeline with team training is a project. Dependencies: none. Ships independently and first-week.
4Technical SEO · SchemaStill open · re-verified July 17Top 5§
Scale

Zero structured data on a medical-adjacent catalog. Google sees no product, price, or brand.

What a shopper sees: the page looks normal, but Google cannot tell what you sell, so the people searching for exactly this product may never see you.

This is one you had no way to see, and it matters directly to the month-over-month growth number you watch. There are zero JSON-LD blocks on the homepage, on PDPs, and on collections: no Product, no Offer, no Organization, no BreadcrumbList, no FAQPage. The migration dropped Shopify's default structured data and nothing replaced it. For a physician-founded brand in a health category, Google currently receives no machine-readable signal about who you are or what you sell.

Evidence (JSON-LD census, July 10) Homepage: 0 application/ld+json blocks
PDP (Vanilla Caramel Rescue): 0 blocks · no Product, Offer, AggregateRating, or BreadcrumbList
Collection (/collections/all-products): 0 blocks · no ItemList
FAQ page exists with no FAQPage schema; founder bio pages exist with no Person/Organization schema
Re-verified July 17: 0 JSON-LD blocks on fresh home, PDP (Vanilla Caramel + Mint Chocolate), and /collections/all-products; sharper now that products are buyable
Source & benchmark Genexa, the clean-medicine comp, ships schema across its catalog and wins rich results on symptom queries. Google Search Central: Product + Offer markup is the eligibility gate for price and availability rich results. Search Engine Journal 2024: rich-result PDPs see 17 to 28% higher organic CTR than plain listings in commerce SERPs.
Projected annual recovery $12K to $27K Confidence Medium
Modeled 8K to 12K monthly organic product+brand impressions × +17 to 28% CTR with rich results × 2.2% conversion at $29 AOV × 12, compounding as the blog estate (Finding #10) comes back online.
midpoint $19.5K
Recommended fix · PERT scope
Patch
6 to 10 hrs
Install the core JSON-LD layer: Organization on the homepage, Product + Offer on all 12 PDPs, BreadcrumbList on collections and products. Validate every template in Google's Rich Results Test. Free-fix candidate #4.
Core
12 to 20 hrs
Patch scope plus the QA bundle, stated plainly: FAQPage schema on the FAQ and PDP accordions, Person schema on the two physician-founder pages, WebSite SearchAction, product_type + taxonomy backfill (currently blank on all 12 products), and re-validation of every template so feeds and filters inherit clean data. The fix itself is the 6 to 10 Patch hours.
Deep
24 to 40 hrs
Core scope plus Article schema across the restored blog, review markup wired to Finding #9's review platform for star-rated SERP listings, and a Search Console monitoring dashboard tracking rich-result impressions over 90 days.
Why the spread is wide: the core layer is mechanical; the full E-E-A-T surface touches every template. Dependencies: aggregateRating markup waits on Finding #9 (reviews). Everything else ships now.
5Retention · SubscriptionStill open · re-verified July 17Top 5§
Scale

A monthly-replenishment consumable with no subscription. Your best customers have no way to stay.

What a shopper sees: a customer who finishes their tube has to remember to come back every month. Nothing offers to bring them back automatically.

You told us on July 10 the Rescue line is your biggest earner and the Vanilla Caramel 8oz tube your most popular seller. Used after meals and before bed, an 8oz tube is a roughly monthly repurchase, and there is no subscription option anywhere: no Recharge, no native Shopify subscriptions, no subscribe-and-save pricing, nothing. RefluxRaft runs Replenish & Save on every consumable. Seed is subscription-native. Your repeat revenue currently depends on customers remembering you exist.

Evidence (tech-stack census) Subscription app markers: none detected (no Recharge, Stay AI, Smartrr, Appstle, native selling plans)
/products.json: no subscription or selling-plan tags on any of 12 products; compare_at_price null on all 15 variants
Rescue 8oz tubes $28, Single Serve Multipack $32: consumption-cycle products, one-time purchase only
Source & benchmark RefluxRaft's Replenish & Save: 20 to 25% off first order, 10 to 15% recurring, 4/6/8-week frequency with a self-serve portal. Recharge 2024 health-and-wellness benchmark: consumable brands adding subscriptions see 18 to 31% of revenue move to recurring within 12 months, with subscriber LTV 2.4× one-time buyers. Klaviyo 2024: replenishment-cycle brands without subscriptions lose the majority of second orders to marketplace search.
Projected annual recovery $12K to $26K Confidence Medium
Modeled 700 to 1,100 monthly on-domain buyers now that ordering has reopened × 8 to 12% subscriber attach in year 1 × $26 discounted subscription AOV × 4.2 to 6.8 renewals per subscriber per year, net of the subscribe-and-save discount.
midpoint $19K
Recommended fix · PERT scope
Patch
24 to 40 hrs
Launch subscribe-and-save on the 3 Rescue SKUs using Shopify native selling plans: 15% first order, 10% recurring, 30/45/60-day frequencies, dual-price display on the PDP buy box, and a Klaviyo confirmation flow.
Core
60 to 90 hrs
Patch scope plus the full retention frame: subscription across gums and lattes, a self-serve manage portal (skip, pause, swap flavors), churn-save offers, Klaviyo flows for upcoming-charge and failed-payment, and MCF/3PL routing verified for recurring orders so fulfillment survives your planned 3PL switch.
Deep
130 to 200 hrs
Core scope plus a Recharge-class build: tiered plans with strikethrough anchor pricing (the Arrae pattern), a starter-kit-to-subscription funnel from the Single Serve Multipack, subscriber-only perks, and cohort retention dashboards reviewed at the 90-day re-audit.
Why the spread is wide: native selling plans are quick; a portal, churn-save, and tiered pricing is a retention platform. Dependencies: a working checkout, in place since July 16 (Finding #1, resolved). Sequence second month, per Section XVI.
6AOV · BundlesStill open · re-verified July 17§
Scale

A 3-product hero line with no trio bundle, no variety pack, no starter kit.

What a shopper sees: someone who wants to try all three flavors has to buy them one at a time at full price. There is no set, no starter kit, nothing to reach for.

The Rescue line is three flavors at $28, and the catalog already contains the natural on-ramp: a $32 Single Serve Multipack. What does not exist is any laddering between them. No Rescue trio at a bundle price, no gum-plus-Rescue starter kit, no "stock up" 2-pack or 3-pack of the tube a reflux patient finishes monthly. Every competitor with an AOV score above 60 merchandises exactly this: RefluxRaft sells Duos and a Bundle & Save builder, Genexa sells kits as first-class SKUs.

Evidence (catalog census) /products.json: 12 products, zero bundle or kit SKUs; no bundle tags anywhere
Rescue line: Mint Chocolate $28, Vanilla Caramel $28, Single Serve Multipack $32, sold only as singles
No cross-SKU offers, no multi-unit discounts, no cart-level bundle logic detected
Source & benchmark RefluxRaft ships Duo 2-packs ($65.98 to $67.98) and a Bundle & Save builder; Genexa merchandises kits ($19.99) with auto-applied in-cart discounts. Shopify Plus 2024 AOV benchmark: bundle SKUs on consumable catalogs lift AOV 11 to 19% on affected orders with near-zero new traffic required.
Projected annual recovery $10K to $22K Confidence Medium
Modeled ~1,100 monthly orders now that ordering has reopened × 6 to 10% bundle attach × +$18 to +$26 incremental AOV per bundled order × 12, margin-adjusted for a 10% bundle discount.
midpoint $16K
Recommended fix · PERT scope
Patch
12 to 20 hrs
Launch two fixed bundles as real SKUs: the Rescue Trio (all three flavors) and a Starter Kit (Multipack + one tube), priced ~10% under components, merchandised on the homepage product row and both Rescue PDPs.
Core
30 to 50 hrs
Patch scope plus a variety-pack build-your-own flow (pick 3 flavors across Rescue and gum), automatic in-cart bundle discount (the Genexa mechanic), inventory-safe component tracking for MCF fulfillment, and bundle-aware Klaviyo post-purchase flows.
Deep
70 to 110 hrs
Core scope plus bundle-to-subscription pathways (subscribe to the Trio, the Arrae anchor pattern), gift-ready reflux care kits for the pillow + consumable pairing, and a quarterly bundle-performance review wired into the KPI dashboard.
Why the spread is wide: two fixed SKUs are days; build-your-own with component inventory is real engineering. Dependencies: a working checkout, in place since July 16. Pairs naturally with #5 and #16.
7Wholesale · B2B pricingStill open · re-verified July 17§
Scale

"Wholesale Not Available" is rendered, literally, on the clinician page. The cohort sells B2B.

What a shopper sees: a clinic that wants to stock the product reads the words Wholesale Not Available and either gives up or pays retail like any shopper.

The clinician form area renders the stray label "Wholesale Not Available," and it is accurate: there is no trade portal, no tiered pricing, no request-an-account flow, no /wholesale page (404). Clinics that want to stock Rescue after sampling it have no way to buy except retail, or Amazon. You already own the hard part, the clinical relationships. The purchasing layer for them simply does not exist.

Evidence (B2B surface census) /pages/wholesale, /wholesale, /b2b: all 404
Literal string rendered in clinician form area: "Wholesale Not Available"
No login-gated pricing, no MOQ language, no B2B catalog, no trade inbox surfaced
Product tags: zero wholesale/sample/subscription tags across the catalog
Source & benchmark Seed's practitioner program dispenses through Fullscript with per-practitioner patient discount codes, turning clinician recommendations into tracked recurring revenue. Arrae runs a dedicated wholesale portal (business.arrae.com) with retailer login. Shopify Plus 2024 B2B benchmark: DTC health brands adding a practitioner purchasing tier see B2B reach 6 to 14% of revenue within 18 months.
Projected annual recovery $9K to $20K Confidence Medium
Modeled 15 to 30 active clinics converting from sampling to stocking in year 1 × $60 to $110 average monthly reorder per clinic × 12, at wholesale margin; conservative because the sampling funnel (Finding #2) must ship first.
midpoint $14.5K
Recommended fix · PERT scope
Patch
14 to 22 hrs
Stand up a practitioner purchasing page: tagged-customer wholesale pricing on Rescue SKUs, a request-an-account form (built on the Finding #2 plumbing), and order-minimum logic. Remove the "Wholesale Not Available" artifact.
Core
40 to 64 hrs
Patch scope plus a real trade tier: gated practitioner catalog with tiered price breaks, NET-terms readiness, per-practice discount codes for patient referrals (the Seed mechanic), and Klaviyo B2B flows for reorder reminders keyed to clinic order cadence.
Deep
90 to 150 hrs
Core scope plus a practitioner portal proper: account dashboards, standing-order subscriptions for clinics, patient-education material fulfillment, and integration with the 3PL architecture so B2B cartons route correctly alongside DTC parcels.
Why the spread is wide: tagged pricing is a toggle; a practitioner portal is a channel build. Dependencies: Findings #1 and #2 first. This is the third act of the clinician story, sequenced in Section XVI.
8Retention · Email captureEscalated · July 17§
Scale

Klaviyo is installed and idling: no popup, no welcome offer, no list growth engine.

What a shopper sees: a first-time visitor browses, leaves, and is never asked for their email. There is no way to say hello twice.

On July 10 this finding read: Klaviyo installed and idling. Re-verified July 17, it is worse: the script is gone entirely (Finding #32), so there is now no popup, no welcome offer, no list growth engine, and no email platform behind any of them. The store reopened for orders with nothing between a first visit and goodbye except a footer field that feeds no marketing system. The capture engine scoped here builds on the Finding #32 reinstall.

Evidence (capture surface) July 10: Klaviyo onsite JS live sitewide, company SkGBhH; popup/flyout/embed forms: none on any crawled template
July 17: 0 klaviyo strings in fresh home, PDP, and clinician HTML; window._learnq and window.klaviyo undefined (Finding #32)
Only capture point: footer newsletter field (which posts to Shopify, not an email platform; Finding #14)
No offer, no incentive, no segmentation prompt (reflux type, frequency), both crawl dates
Source & benchmark Arrae captures email + SMS with a mystery-discount popup; Seed frames capture as content ("nerdy reads"). Klaviyo 2024 benchmark: well-built popups convert 2.5 to 4.5% of sessions to subscribers in health and wellness, and welcome flows drive the highest revenue-per-recipient of any flow type.
Projected annual recovery $8K to $19K Confidence Medium
~55K monthly sessions × 2.5 to 4.5% capture × welcome-flow conversion at 4 to 7% × $29 AOV × 12, plus list-driven repeat revenue as flows mature. Ordering is open again, so every captured address monetizes immediately; requires the Finding #32 reinstall first.
midpoint $13.5K
Recommended fix · PERT scope
Patch
4 to 8 hrs
Launch a Klaviyo popup with a 10% first-order offer and a 3-email welcome flow, on the stack Finding #32 reinstalls. Ordering is open, so the offer converts from day one.
Core
14 to 24 hrs
Patch scope plus segmentation at capture (reflux vs LPR vs pregnancy heartburn), exit-intent variant, embedded capture on the blog estate once restored, and abandoned-cart + browse-abandon flows staged to activate the day Finding #1 ships.
Deep
30 to 50 hrs
Core scope plus a full lifecycle architecture: post-purchase education series in Dr. Belafsky's voice, replenishment reminders timed to the 8oz consumption cycle, win-back at 60/90 days, and A/B tests on offer depth.
Why the spread is wide: one popup is an afternoon; a lifecycle program is a quarter of iteration. Dependencies: Finding #32 (the reinstall) first; flow verification pairs with #14.
9Conversion · Social proofStill open · re-verified July 17§
Scale

Zero reviews on every PDP. Seed's product page carries 13,647.

What a shopper sees: at the moment of doubt, does it work and does it taste okay, no one vouches for the product. Your own store shows zero reviews while Amazon shows hundreds.

There is no reviews app installed and no review, star, or testimonial anywhere on a product page. For a taste-driven medical-adjacent product, the two questions every first-time buyer asks, does it work and does it taste okay, are answered by nobody. Seed anchors its PDP with 13,647 reviews. Arrae runs written and video review tabs. Amazon shoppers can read hundreds of Reflux Gourmet reviews; your own store shows none of them.

Evidence (social-proof census) Reviews apps: none detected (no Yotpo, Loox, Stamped, Junip, Okendo, Judge.me)
PDP template: no rating UI, no testimonial block, no UGC
Homepage: no review strip or aggregate count anywhere
Source & benchmark Seed's PDP opens with 13,647 reviews anchor-linked at the top; Arrae surfaces "1M+ customers" plus video reviews. Baymard 2024: 95% of shoppers rely on reviews on unfamiliar brands, and PDPs with visible ratings convert up to 2× versus none in considered health purchases.
Projected annual recovery $8K to $18K Confidence Medium
Modeled ~28K monthly PDP sessions now that ordering has reopened × +0.2 to +0.45pp CR with ratings visible × $29 AOV × 12; review volume seeds fast via post-purchase flows on an existing customer base.
midpoint $13K
Recommended fix · PERT scope
Patch
3 to 6 hrs
Install a lightweight reviews platform (Judge.me or Junip class) and deploy it by configuration: stars and review list rendered on the three Rescue PDPs. The seeding campaign to past customers rides on the Finding #32 reinstall.
Core
10 to 14 hrs
Patch scope plus the bundle, stated plainly: sitewide rollout, a post-purchase review-request flow timed to first-tube finish (~3 weeks), photo/video review prompts, homepage aggregate strip, mobile QA, and moderation guidelines that respect supplement claim rules.
Deep
18 to 28 hrs
Core scope plus aggregateRating schema for starred SERP listings (with Finding #4), a clinician-voice testimonial rail distinct from patient reviews, and syndication strategy so on-domain proof compounds instead of accruing to Amazon.
Why the spread is wide: an install is quick; a proof engine with schema and clinician voices is a build. Dependencies: the checkout reopened July 16, so verified-buyer collection runs at full rate; the request campaign can start against past customers immediately.
10Technical SEO · Content estateEscalated · July 17§
Scale

The blog estate moved to /blogs/news, and every legacy URL now returns 404.

What a shopper sees: 39 real posts exist, but a reader who follows an older link, from a search result or a bookmark, lands on Page Not Found.

You flagged the blog on July 6: "Our online ordering and blog have both been suspended since migration two weeks ago." On July 10 the crawl found 39 real posts live, indexed, and unlinked behind a "Coming Soon" landing. Re-verified July 17: the blog moved instead of relaunching in place. The posts now live at /blogs/news and the nav links them, which is progress, but every legacy /blogs/refluxgourmet-blog/ URL returns 404 with zero 301 redirects, the second unredirected URL migration in four weeks (Finding #33). The old handle still renders the "Coming Soon" shell, and the WordPress-to-Shopify 301 map has still never been verified.

Evidence (content estate) July 10: /blogs/refluxgourmet-blog rendered "We're working on something good. Our blog will be live soon" over 39 live, unlinked posts
July 17: sitemap_blogs_1.xml = 41 locs, 39 × /blogs/news/, 0 × /blogs/refluxgourmet-blog/; nav Blog → /blogs/news
Spot-check July 17: /blogs/refluxgourmet-blog/understanding-acid-reflux → 404 (was 200 on July 10); no 301s detected
WordPress-era inbound URLs: redirect coverage still unverified post-migration
Source & benchmark RefluxRaft runs a Reflux 101 education hub and a Clinical Studies page doing exactly this SEO work. Google Search Central: orphaned pages (no internal links) are crawled less and rank worse; Ahrefs 2024 shows internal linking among the strongest on-site ranking factors. Post-migration 301 integrity is the classic silent traffic killer.
Projected annual recovery $7K to $17K Confidence Medium
39 posts × modeled 40 to 120 monthly organic sessions each at maturity × 0.8 to 1.4% content-to-purchase conversion × $29 AOV × 12, plus recovered equity from any WordPress URLs currently 404ing.
midpoint $12K
Recommended fix · PERT scope
Patch
8 to 14 hrs
Ship the 301 map: all 39 legacy /blogs/refluxgourmet-blog/ URLs redirected to their /blogs/news/ homes (with Finding #33), retire the orphaned "Coming Soon" handle, then crawl the legacy WordPress URL inventory and ship its redirect table too.
Core
24 to 38 hrs
Patch scope plus internal-link architecture: every post linked to relevant PDPs and the Science page, Article schema (with Finding #4), author attribution to the physician founders, and Search Console recovery tracking on the moved URL set.
Deep
50 to 80 hrs
Core scope plus a content-refresh pass on the top 10 posts by historical traffic, a reflux-education content calendar, and Search Console recovery tracking against the pre-migration baseline for 90 days.
Why the spread is wide: unhiding posts is fast; rebuilding a content moat with linking and schema is editorial + engineering. Dependencies: none. Big recovery for small hours, and it runs in parallel with the checkout work.
11Conversion · Trust & complianceStill open · re-verified July 17§
Scale

PDPs say "we do not accept returns" while the refund, shipping, and terms pages are blank.

What a shopper sees: a nervous first-time buyer goes looking for the fine print, returns, shipping, terms, and finds blank pages and dead links next to a no-returns notice.

Three of your four policy URLs return empty: refund policy, shipping policy, terms of service, all unpublished. The footer's Privacy Policy and Terms links are dead "#" anchors. Meanwhile every PDP states "we do not accept returns." A no-returns posture with no published refund policy is a consumer-protection exposure, not just a trust leak. And the one policy that is published lists a personal Gmail address as the privacy contact of record for a health brand handling personal data.

Evidence (policy surface, July 10) /policies/refund-policy, /policies/shipping-policy, /policies/terms-of-service: all empty/unpublished
Footer "Privacy Policy" and "Terms of Service" links: href="#" (dead anchors)
PDP accordion (verbatim): "Given that our products are perishable consumables, we do not accept returns."
Privacy policy contact: a personal Gmail address and personal cell as the data-rights contact of record
Re-verified July 17: all three policy pages still empty; footer links still "#"; privacy contact unchanged. Sharper now: the store is taking orders with no published refund, shipping, or terms pages
Source & benchmark Every cohort brand publishes complete policy sets; Genexa pairs a satisfaction guarantee with its clean-medicine story. FTC guidance and UK CMA practice both treat undisclosed or unpublished refund terms as an enforcement trigger, and card networks require published refund policies for dispute defense. Baymard 2024: policy access at the point of decision is a top-5 trust factor in first-purchase abandonment.
Projected annual recovery $7K to $16K Confidence Medium
Modeled ~28K monthly PDP sessions × +0.18 to +0.35pp CR from resolved policy trust (guarantee framing replacing bare "no returns") × $29 AOV × 12, plus avoided dispute losses once card-network policy requirements are met.
midpoint $11.5K
Recommended fix · PERT scope
Patch
4 to 8 hrs
Publish all three missing policies, repair the dead footer links, move the privacy contact to a branded inbox (privacy@ or support@), and align PDP shipping/returns copy with the published pages. Honest note: the 4 to 8 includes drafting all three policies; the link repair alone is 1 to 2 hours. Free-fix candidate #5.
Core
12 to 20 hrs
Patch scope plus a first-tube guarantee framework that respects the perishable no-returns reality (refund or replace on first order, no product return required), surfaced as a trust badge on PDPs, with the fine print in the refund policy.
Deep
24 to 40 hrs
Core scope plus a compliance pass across claims copy (FDA disclaimer placement, testimonial rules), an accessibility statement, and a documented policy-review cadence your CS team owns after the training you asked for on July 9.
Why the spread is wide: publishing pages is quick; a guarantee framework touches finance and CS policy. Dependencies: guarantee copy needs your sign-off; everything else ships without decisions.
12Wholesale · Reorder pipelineStill open · re-verified July 17§
Scale

Sampling is one-and-done: no refill flow, no nurture, no way to measure which clinics convert.

What a shopper sees: a clinic that sampled the product and wants more has to start over from a blank 17-field form. Nothing follows up, and nothing remembers them.

Even when the clinician form works, it is a single transaction with no pipeline behind it. There is no one-click refill for a practice that ran out of samples, no follow-up sequence, no education collateral download, and no tracking from sampled clinic to patient orders. RefluxRaft productized your own clinician playbook: sample kits with a refill flow, a downloadable HCP ebook, an endorsement wall, and a clinical newsletter called The Raft Report. The relationships are yours. The system is theirs.

Evidence (pipeline census) Sample refill flow: none (the form restarts from zero each time, 17 fields)
Clinician follow-up email sequence: none detected
HCP collateral (downloadable education material): none on the clinician page
Attribution from clinic to patient orders: no mechanism exists
Source & benchmark RefluxRaft's practitioner program: complimentary sample kits, a one-click refill flow, a 2026 HCP ebook, a named-KOL endorsement wall, and The Raft Report clinical newsletter. Klaviyo 2024 B2B benchmark: nurtured professional-referral programs produce 3 to 5× the reorder rate of un-nurtured ones.
Projected annual recovery $6K to $14K Confidence Low
Modeled 20 to 40 clinics/yr moving from one-time sample to repeat sampling × 2 to 4 incremental patient orders/mo per active clinic × $29 AOV × partial-year ramp; low confidence until Finding #2 instruments the funnel and gives us real request volume.
midpoint $10K
Recommended fix · PERT scope
Patch
8 to 14 hrs
Add a one-click refill path (pre-filled from the clinician's first request), a 2-email follow-up sequence at day 14 and day 45, and a simple "how did sampling go" reply capture.
Core
22 to 36 hrs
Patch scope plus a clinician nurture program in Klaviyo (education, patient-handout PDFs, restock cadence), a per-clinic code so patient orders attribute to the referring practice, and a quarterly clinician-channel report.
Deep
48 to 76 hrs
Core scope plus the full RefluxRaft-class program: an HCP resource hub, endorsement wall built from your existing physician relationships, a clinical newsletter, and the wholesale purchasing tier from Finding #7 as the graduation step.
Why the spread is wide: a refill link is small; a measured clinical channel is a program with content. Dependencies: Finding #2 first (reliable capture), then #7 (purchasing tier) completes the arc.
13Speed · Request dietStill open · re-verified July 17§
Scale

174 requests and ~115 scripts to render a 526-node page.

What a shopper sees: the page hesitates on a phone while about 174 separate pieces load behind the scenes. Shoppers feel the wait without ever seeing a reason for it.

The homepage DOM is small and clean, 526 nodes, which makes the network profile stand out: 174 requests, roughly 115 of them scripts, mostly tracking and platform bundles plus many small image fetches. The server answers in ~19 ms; the page then spends its budget on request overhead. This is the second speed lever after the hero image, and it is pure subtraction.

Evidence (network profile, July 10) Homepage: 174 requests · ~115 script requests · 526 DOM nodes
TTFB ~19 ms (edge-cached) · DOMContentLoaded ~399 ms warm
Script sources: Klaviyo onsite + tracking previews, Shopify trekkie/perf-kit/shop-js/web-pixels, consent API, checkout preloads
Source & benchmark Wonderbelly ships a minimal-script headless build, the cohort speed leader at 78/100. web.dev third-party-JS guidance: each avoided third-party request improves TBT and INP headroom; request-count diets of 30 to 50% on tag-heavy Shopify stores routinely recover 200 to 400 ms of main-thread time on mid-tier mobile.
Projected annual recovery $6K to $13K Confidence Low
~55K monthly sessions × 60% mobile × +0.08 to +0.18pp CR from interactive-time recovery × $29 AOV × 12. Low confidence: lab TBT/INP not captured this run (rate-limited); request census measured directly.
midpoint $9.5K
Recommended fix · PERT scope
Patch
6 to 10 hrs
Inventory all 115 scripts, remove dead and duplicate tags, defer everything non-critical, and consolidate the Klaviyo preview bundles. Target: under 100 requests without losing a single needed capability.
Core
18 to 30 hrs
Patch scope plus lazy-loading below-fold images (the many small CDN fetches), facade-loading for heavy embeds, script loading strategy documented per vendor, and a keyed PSI before/after grid to replace the rate-limited baseline.
Deep
40 to 64 hrs
Core scope plus a performance budget wired into theme CI (fail on request-count or KB regression), consent-gated tag loading, and a 28-day CrUX monitor to verify field INP/TBT movement.
Why the spread is wide: tag hygiene is quick; a performance budget with CI is engineering culture. Dependencies: sequence with #3, #20, #24, #27 as one speed workstream.
14Retention · ESP wiringEscalated · July 17§
Scale

The newsletter form doesn't feed Klaviyo. Signups land in Shopify contact instead.

What a shopper sees: a visitor types their email to hear from you and then never hears from you. The signup lands in a box nobody mails.

You said on July 10 you don't have faith the setup was done correctly. Here is a concrete case, and it deepened this week. The footer newsletter form posts to Shopify's native /contact endpoint, re-verified July 17. On July 10 that was a wiring mismatch, Klaviyo was installed but never fed. As of July 17 Klaviyo is gone entirely (Finding #32), so people who ask to hear from you land as contact submissions with no marketing system on the other end at all, and no flow greets them. Every flow remains unverified, because none exist to verify.

Evidence (form wiring) Footer form action: /contact#contact_form (Shopify-native, form_type=customer); re-verified July 17, unchanged
July 10: Klaviyo onsite JS live (SkGBhH), so the mismatch was wiring · July 17: Klaviyo removed entirely (Finding #32)
Copy promises "updates on Reflux Gourmet product information and news"; no confirmation email observed on submit
Source & benchmark Klaviyo's own integration guidance: list growth via native Klaviyo forms or API sync so consent status, profiles, and flows stay coherent. Klaviyo 2024 benchmark: welcome flows alone average $1.50 to $3.20 revenue per recipient in health and wellness; a form that skips the ESP earns $0 per recipient.
Projected annual recovery $5K to $13K Confidence Medium
Modeled 150 to 400 footer signups/yr currently stranded + flow revenue on the corrected pipeline (welcome + replenishment reminders) at $1.50 to $3.20 per recipient across a growing list × 12-month ramp.
midpoint $9K
Recommended fix · PERT scope
Patch
3 to 6 hrs
Replace the footer form with a Klaviyo-wired unit (consent-compliant) and backfill stranded contact submissions into Klaviyo with proper consent status, delivery verified end-to-end. Rides on the Finding #32 reinstall.
Core
8 to 14 hrs
Patch scope plus the bundle, stated plainly: verify the Shopify-Klaviyo sync (orders, carts, catalog), stand up the welcome flow on the corrected pipeline, mobile-test every capture point, and document where each form on the site delivers, plus the send domain + deliverability posture. The rewire itself is the 3 to 6 Patch hours.
Deep
16 to 28 hrs
Core scope plus segmentation architecture (customer vs clinician vs prospect), a replenishment-timed lifecycle keyed to the 8oz consumption cycle, campaign calendar, and your CS team trained to own it, per your July 9 ask.
Why the spread is wide: rewiring one form is hours; a verified lifecycle program is a build plus training. Dependencies: the Klaviyo reinstall (Finding #32) first. Pairs with #8; ordering is already open.
15Brand narrative · PDPStill open · re-verified July 17§
Scale

Two physicians and a Michelin-starred chef founded this brand. The PDP never says so.

What a shopper sees: someone deciding whether to trust you is never told that two physicians and a Michelin-starred chef made this. The page sells flavor and skips the credibility.

Your founding story is the strongest in the cohort and the buy box never tells it. The bio pages exist, the Science page exists, but the Vanilla Caramel PDP sells "the vanilla caramel taste sensation" with no physician-formulated credential, no chef-designed flavor line, no link to the science. Wonderbelly leads with a named medical advisory board; RefluxRaft fronts two ENT founders on the homepage. You have more story than either and surface less of it where the decision happens.

Evidence (PDP narrative census) PDP buy box: no founder, physician, or chef reference; no science link
Authority assets exist unlinked from PDPs: /pages/dr-peter-c-belafsky-md-mph-phd, /pages/ramon-a-franco-jr-md, /pages/chef-ken-frank, /pages/the-science-of-alginate-therapy
Accordion labels: benefits/usage/ingredients/shipping/FAQs, all generic
Source & benchmark Wonderbelly renders its named medical advisory board as a homepage trust block (former AGA president included); Genexa quotes pediatrician "Genexa Partners" inside the buying flow. Baymard 2024: expertise signals adjacent to the buy box measurably lift conversion for health products where efficacy doubt is the primary objection.
Projected annual recovery $5K to $12K Confidence Low
Modeled ~28K monthly PDP sessions × +0.12 to +0.25pp CR from credentialed buy-box trust × $29 AOV × 12; low confidence pending the on-domain baseline CR data now accruing since the July 16 reopening.
midpoint $8.5K
Recommended fix · PERT scope
Patch
6 to 10 hrs
Add a "Formulated by reflux physicians. Flavored by a Michelin-starred chef." credential strip above the buy box on all Rescue PDPs, linking to the founder and Science pages.
Core
16 to 28 hrs
Patch scope plus a founder-voice block per PDP ("why we made this," in Dr. Belafsky's words), the alginate raft mechanism explained in one diagram, and pregnancy-safety and kid-safety badges where claims substantiate, coordinated with your designer's direction per your July 9 note.
Deep
36 to 60 hrs
Core scope plus an ingredient-comparison module (your all-natural alginate vs generic antacid, the Wonderbelly "Check the Label" pattern), clinician-voice quotes with consent, and template rollout across gums and lattes.
Why the spread is wide: a credential strip is copy; comparison modules and founder blocks are design + substantiation review. Dependencies: your designer owns visual direction; we build to their punch list. Claims copy needs compliance eyes (Finding #11 Deep).
16AOV · ThresholdStill open · re-verified July 17§
Scale

Free shipping on everything means nothing to reach for. There is no threshold, no bar, no nudge.

What a shopper sees: shipping is free no matter what, so nobody has a reason to add a second tube. Most carts stay exactly one item deep.

Shipping is flat-free on all orders ("orders ship FREE via standard ground"), and there is no announcement bar anywhere on the site. Unconditional free shipping on a $28 single-tube order quietly caps AOV at one tube: the buyer has no reason to add a second. The cohort standard is a threshold that sits just above the hero price point, pulling singles into doubles.

Evidence (shipping economics) PDP copy (verbatim): "orders ship FREE via standard ground (3-5 business days)" · AK/HI flat $9
Announcement bar: none detected on any template
Cart: no progress-to-threshold UI (no threshold exists)
Hero price points: $22 to $32 consumables; single-item orders carry full shipping cost internally
Source & benchmark RefluxRaft runs a $50 free-shipping threshold in its announcement bar above $24.99 to $34 SKUs, exactly one-more-item economics. Shopify Plus 2024: threshold-based free shipping lifts AOV 8 to 15% versus unconditional, with cart progress bars the highest-performing implementation.
Projected annual recovery $5K to $11K Confidence Medium
Modeled ~1,100 monthly orders × 55 to 65% currently single-item × 12 to 20% of those adding one unit to clear a $45 to $50 threshold × +$22 to +$28 incremental × 12, net of shipping subsidy shift.
midpoint $8K
Recommended fix · PERT scope
Patch
2 to 4 hrs
Set a $45 to $50 free-shipping threshold, add the announcement bar stating it, and update PDP shipping copy to match. One decision, three surfaces.
Core
6 to 10 hrs
Patch scope plus the bundle, stated plainly: a cart progress bar ("You're $17 from free shipping"), nearest-item suggestions to clear the gap, and mobile QA across cart and drawer. The threshold itself is the 2 to 4 Patch hours.
Deep
12 to 20 hrs
Core scope plus threshold A/B validation against a flat-free control cohort for 30 days, threshold-aware bundle suggestions (Finding #6), a gift-with-purchase tier above $75 (Finding #18), and margin modeling per basket band once real shipping invoices from the new 3PL land.
Why the spread is wide: the threshold is a setting; the reach-for-it experience is UX + testing. Dependencies: orders exist again as of July 16. Coordinate the number with your 3PL cost model.
17Multi-region · MarketsStill open · re-verified July 17§
Scale

Alginate therapy is first-line clinical guidance in the UK. Your store renders USD-only.

What a shopper sees: a shopper in London, where this kind of remedy is the first thing doctors recommend, sees American prices and no sign the store serves them.

This is the strategic quiet one. Alginate rafting is standard first-line reflux guidance in the UK and much of Europe, the Gaviscon Advance home market, so international demand for exactly your mechanism already exists and already searches in English. The store has no Shopify Markets configuration: single currency USD, no region selector, /en-gb/ and /en-ca/ return 404. We are honest about priority here: nothing international outranks reopening US checkout. But the demand asymmetry is real and cheap to test.

Evidence (Markets census) window.Shopify: country "US", locale "en", currency USD at rate 1.0, single market
/en-gb/ → 404 · /en-ca/ → 404 · no currency or region selector in header or footer
Positioning wedge: US "Gaviscon" is antacid-based; high-dose alginate (Advance) is not sold in the US, and your line is the US-available analog
Source & benchmark RefluxRaft ships a ~190-country selector with multi-currency via Shopify Markets; Seed runs a dedicated international experience. Shopify Plus 2024 cross-border benchmark: localized currency alone adds 6 to 12% conversion per activated high-intent market.
Projected annual recovery $4K to $11K Confidence Low
Modeled 4 to 8% of sessions arriving from UK/CA/AU/EU today × localized-market CR uplift of 6 to 12% on that slice × $29 AOV × 12; low confidence pending analytics access to verify the actual international session share.
midpoint $7.5K
Recommended fix · PERT scope
Patch
8 to 14 hrs
Enable Shopify Markets for UK, Canada, and Australia: local currency display, a region selector, and shipping-rate configuration honest about delivery windows from US fulfillment.
Core
24 to 40 hrs
Patch scope plus supplement-import compliance review per market (labeling, ingredient rules for a kelp-derived product), duties posture (Finding #30), localized shipping copy, and a UK-focused landing page speaking the Gaviscon Advance mechanism language.
Deep
60 to 100 hrs
Core scope plus hreflang and locale paths (Finding #28), local payment methods (Finding #29), international Klaviyo segments, and a 3PL routing decision for cross-border once your new fulfillment partner is live.
Why the spread is wide: Markets is a toggle; compliant international commerce for a supplement is a program. Dependencies: your 3PL migration lands first. Findings #28 to #30 sequence inside this workstream.
18AOV · Cross-sellStill open · re-verified July 17§
Scale

No cross-sell anywhere: not on the PDP, not in the cart, no gift-with-purchase.

What a shopper sees: someone buying a tube is never shown the gum for daytime or the latte for evening. Every order stays exactly as small as it arrived.

The catalog has natural pairings, Rescue tube + gum for daytime, latte for evening, pillow for the committed, and no surface suggests any of them. There is no "pairs with" rail on PDPs, no cart cross-sell, no GWP tier. Arrae's PDP runs a "Thousands of Customers Also Buy" module; Genexa adds free product at thresholds. Every order here is exactly what the buyer arrived for, never more.

Evidence (merchandising census) PDP: no cross-sell or related-products rail on any template
/cart: no upsell module, no GWP logic, no threshold messaging
Natural pairings unmapped: Rescue↔gum (daytime), Rescue↔latte (evening), consumables↔pillow
Source & benchmark Arrae ships "Thousands of Customers Also Buy" cross-sell on the PDP; Genexa runs a GWP promo engine ("Free Product Added!"). Shopify Plus 2024: PDP + cart cross-sell adds 5 to 12% AOV on catalogs with complementary SKUs, highest where use-cases split by time of day, exactly your line.
Projected annual recovery $4K to $10K Confidence Low
Modeled ~1,100 monthly orders × 4 to 8% cross-sell attach × +$22 to +$26 incremental item value × 12; low confidence pending the on-domain attach-rate data now accruing.
midpoint $7K
Recommended fix · PERT scope
Patch
6 to 10 hrs
Hand-curated "pairs with" rail on the three Rescue PDPs (gum + latte + multipack), native Liquid, no app weight.
Core
18 to 30 hrs
Patch scope plus cart cross-sell with threshold awareness (works with Finding #16's progress bar), a GWP tier (single-serve sachets above $75), and click-through analytics so attach rate is measured from day one.
Deep
40 to 66 hrs
Core scope plus a routine-builder ("your reflux day": morning gum, mealtime Rescue, evening latte) as a merchandising module, personalized by purchase history via Klaviyo data once flows are live.
Why the spread is wide: a curated rail is small; a personalized routine engine is product work. Dependencies: a working checkout, in place since July 16; pairs with #6 and #16 in the AOV workstream.
19Retention · SMSStill open · re-verified July 17§
Scale

No SMS channel on a product bought during 2 a.m. reflux flare-ups.

What a shopper sees: a customer whose tube runs out at 2 a.m. gets no reminder before it happens. They reorder wherever their phone takes them, usually Amazon.

There is no SMS capture or sending capability anywhere on the site. For most brands SMS is a nice-to-have; for a product whose purchase trigger is often an urgent, uncomfortable moment, a replenishment text before the tube runs out is genuinely useful service. Arrae captures phone numbers alongside email in its welcome popup. You capture neither (Finding #8), so the channel cost is compounding.

Evidence (SMS census) SMS providers: none detected (no Postscript, Attentive, Klaviyo SMS markers)
Phone capture: none on any form except the clinician program's practice fields
Replenishment communications of any kind: none exist yet on any channel
Source & benchmark Arrae runs email + SMS capture in one popup with a mystery discount. Klaviyo 2024 SMS benchmark: replenishment and back-in-stock texts see 20 to 35% click rates in consumables, the highest-performing SMS use case measured.
Projected annual recovery $4K to $9K Confidence Low
Modeled 8 to 15% of captured emails also opting into SMS × replenishment-text conversion at 3 to 6% monthly per subscriber × $29 AOV × 12-month ramp from a standing start; low confidence until list growth (Finding #8) establishes a base.
midpoint $6.5K
Recommended fix · PERT scope
Patch
6 to 10 hrs
Enable Klaviyo SMS (no new vendor), add phone as an optional second step on the Finding #8 popup, and ship TCPA-compliant consent language with quiet hours configured.
Core
18 to 28 hrs
Patch scope plus the two flows that matter: replenishment reminder timed to the consumption cycle, and order/shipping notifications; campaign SMS reserved for restocks and launches only.
Deep
40 to 60 hrs
Core scope plus subscription-paired SMS (manage upcoming orders by text, with Finding #5), conversational keywords for flavor swaps, and quarterly compliance review.
Why the spread is wide: enabling a channel is quick; useful automation on it is a program. Dependencies: Finding #8 (capture) first, #5 (subscription) multiplies it. Sequenced late in the 90 days.
20Speed · Image pipelineStill open · re-verified July 17§
Scale

No responsive srcset anywhere: phones download desktop images sitewide.

What a shopper sees: phones download desktop-sized pictures on every page, not just the homepage, so every page pays a speed tax it does not need to.

Beyond the hero (Finding #3), the theme's image pipeline has no responsive discipline at all. Product and content images ship at fixed widths with no srcset, so mobile devices pull desktop-sized files on every template. Some assets are Amazon-listing exports (the Vanilla Caramel PDP hero is literally named RxG_Amazon_Listing_VCR_062426.jpg); pillowcase images are 300px uploads scaled up. It works, but every page pays a tax it doesn't need to.

Evidence (image pipeline) srcset attributes: none observed across crawled templates
PDP hero: RxG_Amazon_Listing_VCR_062426.jpg, 105 KB at width=1000, single size for all viewports
Pillowcase products: ~300px source images (upscaled); several screenshot-named assets in the catalog
Source & benchmark Wonderbelly serves AVIF at responsive sizes, the cohort speed leader. web.dev responsive-images guidance: correct srcset/sizes typically cuts image bytes 40 to 60% on mobile; Shopify's CDN generates every needed variant from one upload, so this is template work, not asset work.
Projected annual recovery $3K to $9K Confidence Low
~60% mobile share × 40 to 60% image-byte reduction on non-hero templates × +0.05 to +0.15pp CR from faster paints × ~55K sessions × $29 AOV × 12; lab metrics not captured this run, so the range stays conservative.
midpoint $6K
Recommended fix · PERT scope
Patch
4 to 7 hrs
Add srcset/sizes to the product-image and collection-card snippets (the two highest-traffic templates), with explicit width/height to stop layout shift.
Core
12 to 20 hrs
Patch scope plus a sitewide template pass (blog, pages, footer), lazy-loading below the fold, and replacement of the upscaled 300px pillowcase assets with proper masters.
Deep
26 to 44 hrs
Core scope plus an asset-naming and upload standard (no more Amazon-export filenames), art-directed crops for mobile heroes, and automated image-weight checks in the theme deploy pipeline.
Why the spread is wide: two snippets are quick; a governed pipeline with re-shot masters is broader. Dependencies: ships inside the #3/#13 speed workstream.
21Brand narrative · Science surfaceStill open · re-verified July 17§
Scale

The science exists, the FAQ exists, and search engines can't read either as expertise.

What a shopper sees: the science pages read as convincing to a person and as plain text to a search engine, so the expertise never reaches the shoppers searching for answers.

The Science of Alginate Therapy page and the FAQ are real E-E-A-T assets for a physician-founded brand, and both are structurally invisible: no FAQPage schema, no Person markup on the founder credentials, no citation structure. In a health category where Google weighs expertise signals heavily, your strongest trust content reads as plain text. RefluxRaft's Clinical Studies page and comparison tables do this work in machine-readable form.

Evidence (expertise surface) /pages/the-science-of-alginate-therapy: substantive content, zero schema
FAQ page: present in nav, no FAQPage markup
Founder bio pages: MD/PhD credentials as plain text, no Person schema
No citations block or study references rendered on the science page
Source & benchmark RefluxRaft maintains a Clinical Studies/research page plus a homepage comparison table (alginate vs PPIs vs antacids). Google's quality-rater guidance weights demonstrable expertise for health content; Search Engine Journal 2024: FAQ rich results lift informational-query CTR 8 to 15% where granted.
Projected annual recovery $3K to $8K Confidence Low
Modeled 3K to 6K monthly informational-query impressions × +8 to 15% CTR with FAQ/expertise rich results × 0.8 to 1.2% content-to-purchase conversion × $29 AOV × 12.
midpoint $5.5K
Recommended fix · PERT scope
Patch
4 to 8 hrs
Add FAQPage schema to the FAQ, Person schema with credentials to both physician pages, and a cited-references block to the Science page.
Core
12 to 20 hrs
Patch scope plus PDP FAQ accordions marked up per product, a mechanism explainer linked from every buy box (with Finding #15), and author bylines connecting blog posts to the founders' Person entities.
Deep
28 to 44 hrs
Core scope plus a structured clinical-evidence page (study summaries, plain-English findings, compliant framing), the RefluxRaft-style comparison table, and quarterly content review with your team.
Why the spread is wide: markup is mechanical; an evidence hub is content work with compliance review. Dependencies: ships with Finding #4's schema layer; content depends on study inventory from your side.
22AOV · Price architectureStill open · re-verified July 17§
Scale

compare_at_price is null on all 15 variants: no anchor, no ladder, no reason to trade up.

What a shopper sees: every price stands alone. A shopper sees $28 with no context, no value step, and no reason to trade up to a better deal.

The catalog has no price architecture. Every variant sells at list with no anchor pricing, and the natural ladder, $32 Single Serve Multipack as trial, $28 tube as the standard, multi-tube as the value step, is never framed as one. The pillow at $298 sits unanchored next to $22 gum. Arrae's PDP defaults to the 3-month plan with strikethrough anchoring; honest anchoring (real value math, not fake sales) is standard across the cohort.

Evidence (pricing census) /products.json: compare_at_price null on all 15 variants
No multi-unit pricing, no trial-to-standard framing between Multipack and tubes
Price spread $22 to $298 with no laddering or context anywhere
Source & benchmark Arrae anchors 3-month plans with strikethrough pricing ("Save $49.50"); RefluxRaft prices Duos below 2× singles. FTC and UK CMA pricing guidance permits anchoring against genuine reference prices, which per-unit multi-pack math satisfies cleanly.
Projected annual recovery $3K to $8K Confidence Low
Modeled ~1,100 monthly orders × 5 to 9% trading up one ladder step on per-unit framing × +$14 to +$22 incremental × 12; low confidence pending the real basket data now accruing since the July 16 reopening.
midpoint $5.5K
Recommended fix · PERT scope
Patch
3 to 6 hrs
Frame the ladder on PDPs: "Try it" (Multipack) → "The standard" (tube) → "Stock up" (2-pack from Finding #6), with honest per-serving math on each rung.
Core
10 to 16 hrs
Patch scope plus per-unit pricing display, genuine compare-at values on multi-packs (component math), and subscription price anchoring coordinated with Finding #5's dual-price buy box.
Deep
22 to 36 hrs
Core scope plus price testing on ladder placement, pillow financing/positioning review (Shop Pay Installments is already live), and a quarterly pricing review wired to margin data.
Why the spread is wide: framing is copy; testing and financing positioning is analytical work. Dependencies: Findings #5 and #6 supply the rungs the ladder needs.
23Technical SEO · Meta & OGStill open · re-verified July 17§
Scale

The Vanilla Caramel PDP's meta description is "8 fl oz (236 ml)". Shares render a blank card.

What a shopper sees: someone who shares your product with a friend sends a blank grey card, and in Google results your best seller describes itself as 8 fl oz (236 ml).

PDP meta descriptions are the product's size field leaking in: your best seller describes itself to Google in sixteen characters. The collection page has no meta description at all. Open Graph ships only four image tags sitewide, no og:title, description, type, or URL, and the og:image on every page is the same 2.05 MB homepage PNG. Twitter card tags: zero. Every SERP snippet and every shared link underperforms for template-level reasons.

Evidence (meta census, July 10) PDP meta description (verbatim): "8 fl oz (236 ml)" · 16 chars · same pattern across PDPs
/collections/all-products meta description: empty
OG tags per page: 4 (image set only); og:title/description/type/url missing; twitter:* count 0
og:image on all page types: the 2,096 KB hero-banner PNG
Re-verified July 17: "8 fl oz (236 ml)" still the meta description on two PDPs; collection meta still missing; twitter tags still 0
Source & benchmark Every cohort brand ships complete OG sets; the clinician page proves your stack can do it (its meta description is purpose-built and good). Ahrefs 2024: custom meta descriptions lift commerce SERP CTR 11 to 17% versus auto-generated snippets.
Projected annual recovery $3K to $7K Confidence Medium
Modeled 6K to 9K monthly organic impressions × +11 to 17% CTR with real descriptions × 2.2% conversion × $29 AOV × 12, plus share-link recovery once OG cards render.
midpoint $5K
Recommended fix · PERT scope
Patch
1 to 2 hrs
Fix the share-metadata template: og:title, description, type, and url, Twitter card tags, and a lightweight compressed per-page share image, so links stop rendering blank cards. Free-fix candidate #6.
Core
3 to 5 hrs
Patch scope plus the copy pass, stated plainly: real meta descriptions written for all 12 PDPs and the main collection (retiring "8 fl oz (236 ml)"), per-template og:image logic (PDPs use product photography, not the hero banner), and validation across Facebook, LinkedIn, and X debuggers.
Deep
6 to 10 hrs
Core scope plus branded share-card design per product line, blog OG templates for the restored content estate, and Search Console CTR tracking against the pre-fix baseline.
Why the spread is narrow: this is template surgery with copywriting, well-bounded on a 12-product catalog. Dependencies: none. Ships first-week alongside #3.
24Speed · CSS payloadStill open · re-verified July 17§
Scale

One 223 KB stylesheet carries the whole site. Most of it is dead weight per page.

What a shopper sees: the page waits on a quarter-megabyte of styling instructions before it can paint, so shoppers on slower connections stare at a blank screen a beat longer than they should.

The theme ships a single 223 KB CSS file to every page while theme.js is only 7 KB, an inversion of the usual Shopify weight problem. A 12-product store with a 526-node homepage does not need a quarter-megabyte of blocking styles; the coverage profile suggests heavy unused rules per template. This is a bounded, mechanical trim on the render-blocking path.

Evidence (asset weights) theme.css: 223 KB, single stylesheet, render-blocking
theme.js: 7 KB (logic lives inline in templates)
Page complexity it serves: 526 DOM nodes on the homepage
Source & benchmark web.dev/Lighthouse unused-CSS guidance: splitting critical from deferred styles improves FCP/LCP on slow connections; comparable bespoke Shopify themes typically render from 60 to 90 KB critical CSS. Wonderbelly's headless build ships a fraction of this weight per view.
Projected annual recovery $2K to $7K Confidence Low
Render-path savings of 100 to 160 KB × mobile share × +0.04 to +0.12pp CR from faster first paint × ~55K sessions × $29 AOV × 12; conservative because lab FCP was not captured this run.
midpoint $4.5K
Recommended fix · PERT scope
Patch
4 to 7 hrs
Coverage-audit the stylesheet, strip dead rules, and minify. Target under 150 KB with zero visual regression, verified by screenshot diff on all templates.
Core
12 to 20 hrs
Patch scope plus critical/deferred splitting (inline above-the-fold styles, async the rest), per-template bundles for PDP vs content pages, and a size check in the deploy flow.
Deep
26 to 40 hrs
Core scope plus a design-token refactor of the bespoke theme's styles so future edits by your designer stay lean, documented for the team handover you asked for.
Why the spread is wide: stripping is mechanical; a token refactor touches every template. Dependencies: coordinate with outstanding design edits so we trim after their punch list lands, not before.
25Brand narrative · Press & UGCStill open · re-verified July 17§
Scale

No press strip, no UGC, no faces: the trust layer between claim and checkout is empty.

What a shopper sees: a skeptical shopper looks for anyone else who believes in this, press, real customers, familiar faces, and finds only the brand talking about itself.

Beyond reviews (Finding #9), the site carries no third-party validation at all: no press mentions, no as-seen-in strip, no customer photos or videos, no social embed. Wonderbelly's homepage runs a press wall spanning People, Forbes, CNN, and USA Today plus celebrity-founder quotes. A brand founded by named physicians in Napa with a Michelin-starred chef has more earnable media than any competitor and displays none.

Evidence (validation census) Press/as-seen-in strip: none on any template
UGC (customer photos/video): none
Social proof of any kind above the footer: none
Instagram/Facebook linked in footer but never surfaced as content
Source & benchmark Wonderbelly's press wall: People, Forbes, CNN, USA Today rendered as a homepage trust block. Baymard 2024: third-party validation ("who else believes this") ranks directly behind reviews for first-purchase trust on unfamiliar health brands.
Projected annual recovery $2K to $6K Confidence Low
Modeled ~22K home-led monthly sessions × +0.06 to +0.15pp CR from press/UGC trust blocks × $29 AOV × 12; low confidence, inventory of existing press coverage pending from your team.
midpoint $4K
Recommended fix · PERT scope
Patch
4 to 8 hrs
Inventory existing coverage (medical media, podcasts, local Napa press), build the as-seen-in strip for the homepage, and add a founder-photo block: faces build trust that logos can't.
Core
12 to 20 hrs
Patch scope plus a UGC rail (customer photos with consent, sourced via the Finding #9 review flow), and press-kit page so future coverage compounds.
Deep
26 to 44 hrs
Core scope plus a clinician endorsement wall (your existing prescriber relationships, with consent), video testimonials, and placement testing across homepage and PDP positions.
Why the spread is wide: a strip is assembly; an endorsement wall needs outreach and consent. Dependencies: press inventory from your team; clinician consent runs through the Finding #12 program.
26Conversion · Buy-path QAResolved · July 16§
Scale

Add-to-cart can freeze the page: scroll locks with no visible modal.

What a shopper saw until July 16: sometimes the page simply froze when they tried to buy. No message, no popup, just a dead screen.

Resolved: the maintenance modal came out on July 16, and this bug went with it. Re-verified July 17: the interception script and the modal element are absent from fresh HTML, and no scroll-lock path remains. The July 10 record below stays as proof of depth. A bug inside the maintenance wall itself. The modal handler sets body overflow to hidden, and the overlay's visibility races its CSS transition, so on some paths the handler fires, scroll locks, and no modal appears: a dead, frozen page as the response to a purchase attempt. Even in export-to-marketplace mode, this is the worst possible answer to buying intent, and the fix is surgical.

Evidence (verified behavior) openMaintenanceModal sets document.body.style.overflow='hidden' with no guaranteed release
Headless probe: adding is-open did not always yield a visible overlay (computed opacity stayed 0) while the handler still fired
Result state: body scroll locked, no modal, no recovery without reload
Source & benchmark Baymard 2024: unrecoverable UI dead-ends on the purchase path are the most abandonment-severe defect class, worse than errors, because users blame themselves, retry, then leave. Google CWV treats interaction responsiveness (INP) as a core ranking-eligible signal.
Projected annual recovery $2K to $6K Confidence High
Share of add-to-cart attempts hitting the race (modeled 5 to 15%) × sessions lost entirely versus modal-shown sessions that still reach Amazon × marketplace margin delta × 12. Small dollars, outsized brand damage; high confidence in the defect, verified live.
midpoint $4K
Recommended fix · PERT scope
Patch
1 to 3 hrs
Fix the race: gate the scroll-lock on the overlay actually rendering, release overflow on every close path (including Escape and backdrop click), and add a failsafe unlock. Moot as of July 16; kept for the record.
Core
4 to 8 hrs
Patch scope plus focus-trap and keyboard accessibility on the modal while it remains live, and an interaction test (click, escape, resume scroll) added to the QA checklist for Finding #1's removal work.
Deep
10 to 18 hrs
Core scope plus a proper maintenance-mode feature flag (admin-toggleable, accessible, analytics-tracked) so any future downtime has a graceful, reversible wall instead of hand-rolled interception.
Why the spread is narrow: the defect is precisely located; the Deep tier is future-proofing, not diagnosis. Dependencies: none. If Finding #1 ships immediately, this fix rides along; as a free fix it stops the bleeding today.
27Speed · Media & JSPartly resolved · July 17§
Scale

The hero video no longer autoplays. The 2 MB image it shares the viewport with is still there.

What a shopper sees: the video no longer plays on its own, which reads as a calmer page. But a phone still downloads the giant photo first, so the wait is still there.

As measured July 10, the hero stacked an autoplay MP4 on top of the oversized PNG (Finding #3), two heavyweight media assets contesting the same first paint. Re-verified July 17: the autoplay is gone. The video now ships playsinline with preload="metadata" and a poster, and sits paused at runtime, a genuine improvement worth naming. The 2.05 MB PNG remains, referenced twice, so the remaining scope here is the encode pass and the duplicate reference.

Evidence (hero media stack) July 10: autoplay video cdn.shopify.com/videos/…145ae000e3354603ba6a387249b22ea7.mp4, no poster gating
July 17: video tag now playsinline preload="metadata" with poster, no autoplay attribute, paused:true at runtime
Same viewport: the 2,096 KB hero PNG (Finding #3) remains, referenced twice
shopify-perf-kit-3.6.1 + preload bundles still loading on a 526-node page
Source & benchmark web.dev video guidance: poster-first, intersection-gated playback keeps hero video off the critical path; Google CWV: LCP contenders should not compete for bandwidth in the first viewport. Wonderbelly achieves the cohort's fastest paint with static AVIF, no autoplay.
Projected annual recovery $2K to $5K Confidence Low
Mobile share × first-viewport bandwidth contention relief (video deferred behind poster) × +0.04 to +0.10pp CR × ~55K sessions × $29 AOV × 12; low confidence without lab LCP, mechanism measured directly.
midpoint $3.5K
Recommended fix · PERT scope
Patch
3 to 5 hrs
The poster gate arrived with the July 16 relaunch. What remains at Patch: compress and right-size the poster, keep playback off the critical path, and remove the duplicate hero-image reference.
Core
8 to 14 hrs
Patch scope plus re-encode the MP4 (right-size resolution and bitrate), intersection-gated playback, and reduced-motion respect for users who prefer stillness.
Deep
18 to 30 hrs
Core scope plus a hero A/B: static image vs poster-gated video on conversion, and a media-loading standard for future landing pages.
Why the spread is narrow: bounded to one section of one template. Dependencies: ships with Finding #3 in the same pass.
28Multi-region · hreflangStill open · re-verified July 17§
Scale

Zero hreflang tags and no locale paths: international Google has nothing to rank.

What a shopper sees: a shopper searching from the UK or Canada gets no signal this store serves them, so search engines quietly send them somewhere local instead.

The head carries no hreflang alternates and no locale URL structure exists, so search engines outside the US have no signal that this store serves them. For most single-market brands that is fine; for the one US brand selling the mechanism that UK and EU clinical guidance recommends first-line (Finding #17), it forfeits international organic positioning that would cost almost nothing to claim once Markets is on.

Evidence (international signals) hreflang alternate tags on homepage: 0
Locale paths: /en-gb/, /en-ca/ → 404; no x-default declared
Canonicals: present and correct (the base to build on)
Source & benchmark RefluxRaft's Markets configuration emits localized URLs and currency for ~190 countries. Google Search Central hreflang documentation: correct alternates consolidate ranking signals across regional variants and prevent wrong-country results.
Projected annual recovery $1K to $5K Confidence Medium
Incremental international organic sessions at maturity (modeled 400 to 900/mo across UK/CA/AU) × 1.2 to 1.8% conversion on localized surfaces × $29 AOV × 12, contingent on Finding #17 activation.
midpoint $3K
Recommended fix · PERT scope
Patch
2 to 4 hrs
Emit hreflang (en-us + x-default now; en-gb/en-ca/en-au as Markets activates) via theme head, validated in Search Console.
Core
8 to 14 hrs
Patch scope plus locale-path structure from Shopify Markets, per-market sitemaps, and international Search Console properties with baseline tracking.
Deep
18 to 30 hrs
Core scope plus market-localized content variants (spelling, units, regulatory phrasing for supplements) on the top templates, and quarterly international-SEO review.
Why the spread is narrow: mechanical once Markets exists. Dependencies: Finding #17. Ships inside the multi-region workstream, not before it.
29Multi-region · PaymentsStill open · re-verified July 17§
Scale

International buyers see US prices and US payment methods, or nothing at all.

What a shopper sees: a visitor from abroad sees prices in a foreign currency with no way to switch. Roughly a third of shoppers abroad give up right there.

With no Markets configuration there is no localized payment presentation: a UK or EU visitor sees USD with US-shaped checkout expectations. Shop Pay is live and cards work, but there is no local-currency display and no local wallet or method surface for the markets where alginate demand is strongest. Modest by design: this only monetizes after Finding #17 turns the lights on.

Evidence (payment presentation) Currency display: USD only, all visitors, all pages
Wallets: Shop Pay live; no BNPL beyond Shop Pay Installments; no market-conditional methods
Checkout: US-market configuration only
Source & benchmark Arrae presents multi-currency (USD/CAD/AUD/GBP/EUR/JPY); Seed localizes checkout internationally. Baymard 2024 international UX: a third of non-US shoppers abandon when prices render only in USD.
Projected annual recovery $1K to $4K Confidence Low
Activated-market sessions (Finding #17) × +6 to 12% conversion from local currency + method presentation × $29 AOV × 12, on the modeled 4 to 8% international slice.
midpoint $2.5K
Recommended fix · PERT scope
Patch
3 to 5 hrs
Enable multi-currency display for UK/CA/AU within Markets, with a visible currency selector in header and footer.
Core
8 to 14 hrs
Patch scope plus market-conditional payment methods where supported, geolocation currency prompt (ask, don't force), and checkout copy that states duties posture per market (Finding #30).
Deep
20 to 32 hrs
Core scope plus local BNPL evaluation per market, currency-hedging posture review with your finance side, and conversion tracking per market from day one.
Why the spread is narrow: Shopify Markets does the heavy lifting once configured. Dependencies: Finding #17. Deliberately ranked low: it is not your near-term priority and we have kept the math honest about that.
30Multi-region · DutiesStill open · re-verified July 17§
Scale

No duties posture at all: shipping copy stops at the 48 states.

What a shopper sees: an international buyer who managed to order would meet a surprise customs bill at the door. Nothing on the site warns them first.

The shipping copy covers the contiguous US and a $9 AK/HI flat rate, and then the world ends: no international shipping statement, no duties disclosure, no DDP or DDU position. When Markets activates, a supplement crossing borders needs a stated landed-cost posture or the first surprise customs bill becomes a refund dispute and a one-star review. Ranked last on purpose; it costs a page and a policy, and it prevents an ugly class of problem.

Evidence (duties surface) PDP shipping copy (verbatim): "ship FREE via standard ground (3-5 business days) within the 48 contiguous states… Alaska or Hawaii is a flat rate of $9"
International shipping statement: none sitewide
Duties/customs disclosure or landed-cost tooling: none
Source & benchmark Seed operates localized international checkout with clear terms. Shopify Plus 2024 cross-border data: DDP (duties-included) pricing lifts cross-border AOV 8 to 15% and cuts customs-surprise abandonment; even a plain DDU disclosure page beats silence.
Projected annual recovery $1K to $3K Confidence Low
Activated international orders (Findings #17/#29) × abandonment avoided at the duties-surprise step (20 to 32% of cross-border abandons per industry data) × $29 AOV × 12, on a small initial base; deliberately the most modest range in the audit.
midpoint $2K
Recommended fix · PERT scope
Patch
2 to 4 hrs
Publish an international shipping + customs page with a clear DDU disclosure per market, linked from the (restored) shipping policy and checkout.
Core
6 to 10 hrs
Patch scope plus duties estimation at checkout for the top 3 activated markets and supplement-import notes per market (what customs may hold, and why kelp-derived products clear cleanly).
Deep
14 to 24 hrs
Core scope plus DDP (duties-included) pricing via landed-cost tooling on the UK first, coordinated with the new 3PL's cross-border capability.
Why the spread is narrow: a disclosure is a page; DDP is a checkout integration, still bounded. Dependencies: Findings #17 and #29, plus your 3PL decision. Closes the multi-region set.
31Conversion · Relaunch QANew · July 17§
Scale

The relaunch shipped dead ends on the homepage: two of three hero product cards go nowhere and price at $ 50.

What a shopper sees: two of the three products on your homepage now go nowhere when clicked and show a $ 50 price that is wrong by almost half. The store's front window points at walls.

Measured July 17, new since the July 16 relaunch. The homepage featured-product row is your highest-intent real estate, and two of its three cards, Mint Chocolate Rescue and the Single Serve Multipack, now link to "#" and render a "$ 50" placeholder price against real prices of $28 and $32. Both products were unpublished and re-published on July 16, and the homepage section lost its product references in the process. The Mint Chocolate product title also picked up a double-space typo that now renders in the page title, the H1, and the catalog feed. The day ordering came back, two of your three hero SKUs became unbuyable from the homepage.

Evidence (fresh homepage HTML, July 17) "Mint Chocolate Rescue" and "SINGLE SERVE MULTIPACK" cards: href="#" with placeholder price "$ 50" (real prices $28 / $32)
/products.json: both products re-published 2026-07-16 (published_at 2026-07-16T19:06:32-04:00; created_at unchanged 2026-05-15)
Product title now reads "Mint Chocolate  Rescue" (double space) in the title tag, the H1, and products.json
The third card (Vanilla Caramel Rescue) links and prices correctly, which isolates the defect to the re-publish
Source & benchmark Baymard 2024: dead ends on the purchase path are the most abandonment-severe defect class, and a "$ 50" placeholder against a $28 product actively misprices the offer. Every cohort brand lands homepage product cards on working PDPs; this defect did not exist on July 10, when the cards resolved correctly behind the modal.
Projected annual recovery $14K to $30K Confidence High
~55,000 monthly sessions × 8 to 12% homepage product-row engagement × two of three cards dead × 2.0 to 2.8% baseline CR on the recovered clicks × $28 to $32 AOV × 12; conservative because the third card works and both PDPs remain reachable through collections. High confidence in the defect, verified live; the recovery range is a projection.
midpoint $22K
Recommended fix · PERT scope
Patch
2 to 4 hrs
Re-point both hero cards at their re-published products, restore the real prices, and fix the double-space title so the typo leaves the title tag, the H1, and the feed. Free-fix candidate #2, pre-selected.
Core
6 to 10 hrs
Patch scope plus a full homepage merchandising audit: every section's product references verified against the live catalog, publish-state checks on all 12 products, and a QA pass across templates that reference products by handle.
Deep
14 to 22 hrs
Core scope plus a relaunch QA protocol: automated link and price checks on homepage merchandising, a publish/unpublish checklist for the team, and a weekly integrity report during the first 90 days.
Why the spread is narrow: the defect is precisely located; the Deep tier is prevention, not diagnosis. Dependencies: none. The smallest fix in the audit with the most visible surface, and it ships in an afternoon.
32Retention · Email stackNew · July 17§
Scale

The store reopened for orders with no email stack: Klaviyo was removed the day ordering came back.

What a shopper sees: anyone who orders this week is a customer the store cannot talk to again: no welcome note, no reminder when the tube runs low, nothing.

Measured July 17, new since the July 16 relaunch. On July 10, Klaviyo's onsite script was live sitewide and idling (Finding #8). On July 17 it is absent entirely: no onsite JS, no tracking, no profile capture, no flows. The store is taking orders again with zero email capability behind them, no welcome, no abandoned checkout, no post-purchase, only Shopify's default notification emails. For a roughly monthly replenishment product, every order placed this week is a customer relationship with no way to continue it.

Evidence (stack census, July 17 vs July 10) July 10: Klaviyo onsite JS live sitewide, company SkGBhH
July 17: 0 klaviyo strings in fresh home, PDP, and clinician HTML; window._learnq and window.klaviyo undefined
No static.klaviyo.com entries across 174 requests (hosts: refluxgourmet.com, cdn.shopify.com, fonts.googleapis.com, shop.app, shopifysvc)
Capture: zero · Flows: zero · Only Shopify default notification emails remain
Source & benchmark The Klaviyo 2024 health-and-wellness benchmarks already cited in this report: welcome flows average $1.50 to $3.20 revenue per recipient, and replenishment-cycle brands without lifecycle email lose the majority of second orders to marketplace search. Every cohort brand runs a live ESP; none of them takes orders without one.
Projected annual recovery $12K to $26K Confidence Medium
Rebuilt list growth at 2.5 to 4.5% of ~55K monthly sessions × welcome-flow revenue at $1.50 to $3.20 per recipient + abandoned-checkout and replenishment flows timed to the ~monthly consumption cycle × a 12-month ramp from a standing start of zero; overlaps deliberately excluded from Findings #8 and #14, which scope the capture engine and form wiring this stack must exist to support.
midpoint $19K
Recommended fix · PERT scope
Patch
8 to 14 hrs
Reinstall Klaviyo, verify the Shopify sync (orders, carts, catalog, historical profiles), confirm consent states survived, and stand up basic capture so the list stops flatlining while orders flow.
Core
20 to 32 hrs
Patch scope plus the core flow set rebuilt and verified end to end: welcome, abandoned checkout, post-purchase, with deliverability and sender-domain checks documented. Exceeds the 15-hour Patch cap; proposed as the first Bulk Hours sequence in Section XII.
Deep
44 to 70 hrs
Core scope plus the full lifecycle architecture from Findings #8 and #14: segmentation at capture, replenishment reminders timed to the 8oz consumption cycle, win-back, and your team trained to own the calendar.
Why the spread is wide: a reinstall is hours; a verified flow set with deliverability checks is a build. Dependencies: Klaviyo account access, confirmed in the working session. Findings #8, #14, and #19 all build on this foundation.
33Technical SEO · RedirectsNew · July 17§
Scale

The blog moved again and left all 39 posts returning 404: the second URL migration without redirects in four weeks.

What a shopper sees: anyone following an older link to your articles, from a search result, an email, or a bookmark, now lands on Page Not Found.

Measured July 17, new since the July 16 relaunch. The blog estate moved from /blogs/refluxgourmet-blog to /blogs/news, and every one of the 39 legacy URLs now returns 404 with zero 301 redirects. Google had a week to index the old set from the sitemap, and the WordPress-era URLs before that still have no verified redirect map either, which makes this the second unredirected URL migration in four weeks on the same content. Each move without redirects resets whatever equity the posts had started to rebuild.

Evidence (redirect census, July 17) /blogs/news/understanding-acid-reflux → 200 · /blogs/refluxgourmet-blog/understanding-acid-reflux → 404 (was 200 on July 10)
sitemap_blogs_1.xml: 41 locs, 39 × /blogs/news/…, 0 × /blogs/refluxgourmet-blog/…
Redirects: none detected on any legacy URL; /blogs/refluxgourmet-blog still renders the "Coming Soon" shell
Context: the WordPress-to-Shopify 301 map from the original migration remains unverified (Finding #10)
Source & benchmark Google Search Central: 301 redirects are the mechanism that carries ranking signals through a URL move; 404s discard them. Ahrefs 2024 ranks internal linking and redirect integrity among the strongest on-site factors. RefluxRaft's education hub compounds on stable URLs while this estate has now moved twice without forwarding addresses.
Projected annual recovery $4K to $12K Confidence Medium
39 indexed posts × 40 to 120 monthly organic sessions each at maturity × the equity share lost while 404s persist (compounding weekly until redirected) × 0.8 to 1.4% content-to-purchase conversion × $29 AOV × 12; deliberately conservative because the posts themselves survived the move and recovery is fast once the 301s ship.
midpoint $8K
Recommended fix · PERT scope
Patch
4 to 8 hrs
Ship the 301 table: all 39 /blogs/refluxgourmet-blog/ URLs redirected to their /blogs/news/ homes, the orphaned "Coming Soon" handle retired, and the sitemap re-submitted.
Core
12 to 20 hrs
Patch scope plus the overdue WordPress-era audit: crawl the legacy URL inventory, map every miss to its Shopify home, re-point internal links to the new paths, and set up Search Console monitoring on both URL sets.
Deep
26 to 42 hrs
Core scope plus a URL governance standard (no future moves without a redirect table shipping the same day), Article schema across the moved estate (with Finding #4), and 90-day recovery tracking against the pre-move baseline.
Why the spread is narrow: a redirect table is bounded work; the Deep tier is governance so this never happens a third time. Dependencies: none. Ships first-week alongside Finding #31; Finding #10's content recovery builds on it.
Part 2 · Compare (IV to VIII)
Where the cohort is ahead, dimension by dimension, and where you are still first.
IV.

Multi-region & localization

$2,500 value

Of course we audit the markets, even on a store that currently ships to 48 states. The strategic fact of this section: alginate rafting is first-line clinical guidance in the UK and much of Europe, so international demand for exactly your mechanism already exists, already searches in English, and currently finds a USD-only store with no region selector. We are equally clear about priority: this entire section is Phase 2 material, parked until the site is, in your words, shiny and finished. Findings #17, #28, #29, #30 carry deliberately modest ranges for that reason.

A. Market coverage snapshot · measured July 10

Configuration state per market. Green = configured, amber = partial, red = absent. There is exactly one green cell.

🇺🇸
United States
USD · EN · Shop Pay live · free ground shipping
OK
🇬🇧
United Kingdom
No GBP · /en-gb/ → 404 · alginate = first-line guidance market
Missing
🇪🇺
European Union
No EUR · no locale paths · Gaviscon Advance home turf
Missing
🇨🇦
Canada
No CAD · /en-ca/ → 404 · nearest low-friction expansion
Missing
🇦🇺
Australia
No AUD · no market config · English-language demand
Missing
🌎
Rest of world
Forced USD · no selector · no shipping statement
Missing

B. The UK/EU wedge, stated plainly

High-dose alginate therapy (the Gaviscon Advance mechanism) is standard first-line reflux care in the UK and is not sold in the US, which is the wedge your positioning already uses domestically. It cuts the other way too: UK and EU patients know the mechanism, search for it, and find a store that renders USD with no region selector. window.Shopify confirms a single market: country US, locale en, currency USD at rate 1.0, zero hreflang alternates. RefluxRaft, meanwhile, operates a ~190-country selector through Shopify Markets. The demand asymmetry is real; claiming it starts at a Markets toggle (Finding #17), not a re-platform.

C. Duties, compliance & the 3PL question

Current duties posture: none, because international shipping does not exist; the shipping copy ends at the 48 contiguous states plus a $9 AK/HI rate. Before any market activates, three things need a position: a stated DDU or DDP posture per market (Finding #30), supplement-import labeling for a kelp-derived product, and cross-border capability in the 3PL you told us on July 9 you plan to integrate with an Amazon MCF fallback toggle. That toggle requirement is exactly why we sequence multi-region after the fulfillment migration in Section XVI: activate markets on the logistics stack you intend to keep, not the one you are leaving.

V.

Wholesale & B2B review

$1,800 value

Of course we go deep on the clinician channel: you told us on July 10 it is critical to your success, and the scorecard agrees it is your strongest relative dimension (40 vs cohort 62), because a real Clinician Sample Program already exists in your navigation. What is missing is not the relationships. It is the machine around them.

A. Current posture: a form, and only a form

The entire B2B surface is the sample-request form at /pages/clinician-program, and that form can fail silently (Finding #2). There is no trade portal, no tiered pricing, no request-an-account flow; /pages/wholesale, /wholesale, and /b2b all return 404, and the form area literally renders "Wholesale Not Available." A clinic that samples Rescue and wants to stock it has one path: retail price, or Amazon. Sampling exists; purchasing, nurturing, refilling, and measuring do not. Findings #2, #7, and #12 are that machine, in dependency order.

B. What the cohort built while your form failed silently

RefluxRaft productized your own clinician playbook: complimentary sample kits with a one-click refill flow, a downloadable 2026 HCP ebook, a named-KOL endorsement wall anchored by a Cleveland Clinic voice-center director, a "how to discuss with patients" script, and a clinical newsletter called The Raft Report. Seed runs the category benchmark: Fullscript-powered practitioner dispensing, a unique patient discount code per clinician, a free month of product for every practitioner, and a cited clinical FAQ. Arrae operates a dedicated wholesale portal at business.arrae.com with retailer login. None of them started with your advantage: physicians founded this brand, and prescribers already recommend it.

C. The clinician arc, sequenced

Act one: make the form reliable (Finding #2, free-fix candidate #1, 8 to 14 Patch hours). Act two: give sampling a pipeline: refills, nurture, per-clinic attribution (Finding #12). Act three: let clinics buy: practitioner pricing tier and portal (Finding #7). Combined projected recovery across the three: $35K to $78K in year 1, with the strategic upside, a tracked prescriber network no competitor can copy, on top. Your open question about who on your team owns clinician fulfillment is on the strategy-room agenda.

VI.

Speed & technical search deep-dive

$1,500 value

Of course we go deep on the priority you named on July 10. One honesty note first: Google's PageSpeed lab API rate-limited our run (HTTP 429 on every attempt, with backoff), so the lab grid below is marked where cells could not be captured. Every number we do show is measured directly from payloads and network timing, and a keyed PSI grid is re-captured live during your strategy room. This audit page itself is built the way we build for speed: charts initialize only as they scroll into view.

Core Web Vitals matrix · 5 pages × 6 metrics

Lab cells marked "not captured · rate-limited" are exactly that; we do not invent seconds. Measured cells come from direct payload and navigation-timing analysis, July 10.

PageLCPINPCLSFCPTTFBTBT
Homepageat risk · 2.05 MB LCP assetnot captured · rate-limitednot captured · rate-limitednot captured · rate-limited~19 ms (warm)at risk · ~115 scripts
PDP · Vanilla Caramel Rescue105 KB hero (healthy)not captured · rate-limitednot captured · rate-limitednot captured · rate-limitededge-cachednot captured · rate-limited
Collection · All Productsnot captured · rate-limitednot captured · rate-limitednot captured · rate-limitednot captured · rate-limitededge-cachednot captured · rate-limited
Cartnot captured · rate-limitedat risk · scroll-lock bug (#26)not captured · rate-limitednot captured · rate-limitededge-cachednot captured · rate-limited
Clinician Programnot captured · rate-limitednot captured · rate-limitednot captured · rate-limitednot captured · rate-limitededge-cachednot captured · rate-limited

Payload & media audit (measured directly)

The homepage carries a 2,096 KB PNG hero referenced twice (#3), an autoplay MP4 in the same viewport (#27), 174 requests with ~115 scripts against a 526-node DOM (#13), a single 223 KB stylesheet (#24), and no responsive srcset anywhere (#20). The counterweight is genuinely good: TTFB ~19 ms warm, DOMContentLoaded ~399 ms, a small clean DOM, and a tiny 7 KB theme.js. The infrastructure is fast; the theme's media discipline is what the migration never finished. All five speed findings are one coordinated workstream in Section XVI.

Schema & technical search audit

Zero JSON-LD on every page type (#4). PDP meta descriptions are the size field, "8 fl oz (236 ml)" (#23). The collection meta description is empty. OG ships four image-only tags with the 2 MB hero as every page's share image; Twitter tags: zero (#23). The blog estate, 39 live posts, is orphaned behind a "Coming Soon" landing (#10), and the WordPress 301 map is unverified. Canonicals, robots.txt, and the sitemap set are healthy, and the store is provisioned for Shopify's agentic-commerce layer (agents.md, /.well-known/ucp), which is genuinely ahead of the curve; details in Section XX.

Inside verification · scheduled

Verified from outside · July 10 + July 17 Checkout behavior (a real add-to-cart on July 17), the clinician and newsletter forms, schema and metadata, the policy pages, the public catalog data, and every payload and speed measurement in this section.
Requires the admin session · read-only Payments configuration and a test order, shipping zones and the 0 g variant weights, tax settings, notification emails and the sender domain, the WordPress customer and order history migration, the app and webhook inventory, the theme change log, and retiring the previous firm's access.

What outside measurement cannot prove

Flagged from outside, verified in the first working session. If one outside flag proves wrong inside, the pattern still stands; we correct the item and move.

Access granted July 14. This session is read-only and lands with your Monday, July 20 working session.

VII.

5-competitor benchmark

$2,000 value

Of course we score every competitor on the same axes, from live crawls of their storefronts on July 10, not from their press releases. The cohort: RefluxRaft (the direct alginate twin), Wonderbelly (clean antacid, retail-first), Genexa (clean-medicine OTC), and two indirect best-in-class benchmarks, Seed (subscription + practitioner gold standard) and Arrae (AOV/retention machine). Scored 0 to 100 per dimension; the radar in Section II plots the same data.

10-dimension scorecard (0 to 100 per dimension)

DimensionReflux GourmetRefluxRaftWonderbellyGenexaSeedArrae
Speed555278587548
Conversion257245629085
AOV optimization157515628088
Retention / Subscription / Loyalty57010409290
Search / Discovery156540728075
Multi-region56045157870
Wholesale / B2B / practitioner408520459565
Brand narrative on PDP457870659575
Email / SMS program157025558085
Paid-traffic destination quality106850689088
Composite (of 1,000)230695398542855769

Cohort average: 652 of 1,000. Reflux Gourmet: 230, a 422-point gap. Even Wonderbelly, which deliberately gave up owned DTC, outscores by 168 points. The gap is architectural, not brand-quality: nothing here requires a redesign, and your designer's in-flight direction stays in charge of aesthetics.

How to read this comparison

Seed and Arrae carry subscriber bases built over years, and those bases structurally inflate their retention and email scores in ways no site fix replicates on day one. RefluxRaft is the honest like-for-like twin: same mechanism, same category, comparable age. The gap numbers are a direction, not a verdict. "You're below parity on retention" is right; "you should match Seed's score" would be misleading, and this report does not say it. The recovery modeling in Section III already prices only the fixable share of each gap, not the brand-scale share that no dev work closes.

Where Reflux Gourmet is uniquely strong

Where the cohort beats Reflux Gourmet

VIII.

KPI dashboard preview

$1,500 bonus

Of course we ship the dashboard, not just the report. Five tiles, chosen for this store specifically. When they were first drawn on July 10, four were flat lines at zero and one was a 2.05 MB constant. Ordering reopened July 16, so tile one starts earning a real line this week; the other four still read zero until their findings ship. That is not a design failure; that is the baseline, and the point.

On-domain checkout conversion
0.00%
Held at zero through July 16 by the interception (Finding #1, resolved). Ordering reopened July 16; the first full on-domain week is the new baseline this audit measures against.
reopened July 16 · baseline starts this week

Checkout conversion has been 0 percent for seven straight weeks.

LCP payload · homepage hero
2.05 MB
Lab LCP not captured (rate-limited); payload measured directly. Finding #3 targets ~150 to 250 KB.
2.05 MB → target under 200 KB

The hero payload has held at 2,096 kilobytes for seven straight weeks.

Clinician requests verified end-to-end
Unverified
Submissions route to an exposed webhook with failures swallowed (Finding #2, re-verified July 17). Target: 100% verified, weekly count visible.
flat · verification is Finding #2

Verified clinician requests count zero per week; verification does not exist yet.

Klaviyo list growth via onsite forms
~0 / mo
Klaviyo was removed July 16 (Finding #32); the footer form still posts to Shopify contact (Finding #14); no popup exists (Finding #8).
stack removed July 16 · rebuild is Finding #32

Onsite Klaviyo list growth counts zero per week.

Subscription take rate
0%
No subscription architecture live (Finding #5). Cohort reference: RefluxRaft converts first orders at 20 to 25% subscribe-and-save discount.
flat · ships after Finding #5

Subscription take rate is 0 percent; no subscription architecture is live.

During the 30-day post-audit window we refresh these five tiles weekly in #connect-refluxgourmet-arcticgrey (Section XIV) with the prior 7-day delta, the trailing 30-day number, and a one-line interpretation. Because your Monday metric is month-over-month growth, as you told us on July 10, each refresh also states the MOM trajectory in plain terms: what shipped, what moved, what is still pending. On-domain ordering reopened July 16, so tile one has already stopped being a flat line; this is your baseline week.

After Day 30 the dashboard becomes self-serve: we hand over the tracking queries and the definitions doc, and train your team on reading it, in line with the team-enablement priority you set on July 9. The Day-90 re-audit (Section XIII) scores every finding against this exact baseline, and against the projection lines in Section XV.

Part 3 · The plan (IX to XVI)
What ships, in what order, what it costs in hours, and what the model says it returns.
IX.

1-page prototype

$3,500 value

Of course we show you what the fix looks like, not just describe it. Target page: the Vanilla Caramel Rescue 8oz PDP, your most popular seller by your own July 10 note, because it stacks four of the highest-recovery findings on one URL: a buy box that only reopened on July 16 (#1, resolved), no subscription option (#5), no reviews (#9), and a founder story missing from the buy box (#15). The prototype direction below is a starting point, not the final brief. A call with Brooke is required before we finalize scope, page target, visual direction, and the design system the prototype will inherit. We won't move pixels until that call lands. Your designer's in-flight direction leads; the prototype serves their punch list, never overrides it.

Prototype scope · Patch / Core / Deep

Patch
P10 · 12 to 18 hrs
The working buy box
Live add-to-cart (post Finding #1), credential strip above the buy box, aligned shipping/returns copy, corrected meta description.
CoreRecommended
P50 · 32 to 50 hrs
The full PDP rebuild
Working buy box + subscribe-and-save dual pricing + reviews module + founder trust block + Product/FAQ schema + pairs-with rail. Mobile-first, built inside your designer's system.
Deep
P90 · 70 to 115 hrs
The template for everything
Core scope plus a 21-day A/B against the current PDP, Klaviyo browse-abandon recovery, and rollout of the winning template across all 12 products.

What changes (4 mockup-grid views)

Mockup 1
View 1 of 4
A buy box that buys
Live add-to-cart with subscribe-and-save dual pricing (one-time $28 / subscribe $23.80), stock state, and the free-shipping threshold line.
Mockup 2
View 2 of 4
The credential strip
"Formulated by reflux physicians. Flavored by a Michelin-starred chef." One line above the buy box, linking to the founders and the Science page.
Mockup 3
View 3 of 4
Proof where doubt lives
Star rating + review count anchor-linked at the top (the Seed pattern), review list below the fold, FAQ accordion with FAQPage schema.
Mockup 4
View 4 of 4
The routine rail
Pairs-with module: daytime gum, evening latte, the Rescue Trio bundle. Threshold-aware so it also closes the free-shipping gap.
Free fix offer · Ships inside 14 days

The prototype is Bulk Hours scope. The free fix is how the first win ships this month.

The PDP rebuild above runs 32 to 50 Core hours, beyond the free-fix ceiling. What ships free is one Patch-tier candidate from Section XII, capped at 15 hours: the clinician form rewire and the dead hero-card fix (Finding #31) are pre-selected as the two picks with the most recovery per hour. Choose during the strategy room; we ship inside 14 days of your pick.

X.

Strategy room

$2,500 value

Of course we sit down with you to walk it. 60 minutes with Jake Amos (Co-Founder) and your senior strategist. Brooke owns the calendar, and the proposed working session is Monday, July 20. Two items on this agenda exist because you asked them directly on July 9 and they deserve direct answers, not report paragraphs.

0 to 15 min
Walk the top open findings
The clinician form, the hero image, the schema gap, the subscription gap, and the three relaunch breakages (#31 to #33). Push back anywhere; we defend or drop.
15 to 30 min
The inside verification + your free fix
Walk the read-only backend checklist (payments, shipping, tax, notifications, apps), the theme change log, reconciled together, and pick your free fix from the six candidates in Section XII.
30 to 45 min
Your two questions, answered
Pay structure: our recommendation, in writing. Site access and responsibility hand-off: what we need, when, and how the previous firm's access gets retired safely.
45 to 60 min
The 90-day roadmap
30/60/90 sequence (Section XVI), the 3PL-with-MCF-toggle timing, your designer's punch list slotting, and the team-training plan you asked for.

We record the call and ship the transcript same-day to #connect-refluxgourmet-arcticgrey (Section XIV). You walk out with the free-fix scope locked, the first Bulk Hours sequence defined, written answers to both of your July 9 questions, and the 90-day shipping order. Monday, July 20 works on our side whenever it works on yours.

Book 60 minutes with Brooke 60 min · Recorded · Same-day transcript
XI.

5-email personalized arc

$1,200 value

Of course we don't send the audit and disappear. Five touches over 60 days, written for Reflux Gourmet specifically: the relaunch QA arc first, the clinician channel second, the growth machine third. The growth material inside it is Phase 2, after the site is, in your words, shiny and finished. Starting Day 1.

XII.

Free fix · Angela picks

Patch tier · 15 hr cap

Of course the first one ships free. You asked on July 9 to know where you stand and get things "singing along" in order; this is the first note. Scoped to what we can responsibly ship at no cost, fast.

Pick one. We ship it free. Inside 14 days.

Six Patch-tier candidates. 15-hour cap. You pick during the strategy room.

To keep the free-fix promise honest, every candidate below is scoped at Patch tier with a hard upper bound of 15 hours of senior dev time. One deliberate exclusion: Finding #32, reinstalling Klaviyo and rebuilding the flow set, exceeds the 15-hour Patch ceiling at the Core scope it deserves, so we propose it as the first Bulk Hours sequence, scoped and started the day after your working session. The six candidates below are the highest-projected-recovery open findings that fit inside the free envelope.

Finding #2 · Medium confidencePre-selected · #1
Clinician form rewired to a reliable endpoint with real failure states
Projected recovery: $20K to $44K · Patch hours: 8 to 14 · Why this: you called the program critical on July 10 and said you don't have faith in the forms. This makes every submission verifiable, notifies your team, and kills the exposed webhook.
Pick #2 → Meet with Brooke
Finding #31 · High confidencePre-selected · #2
Dead homepage hero cards relinked, real prices restored, title typo fixed
Projected recovery: $14K to $30K · Patch hours: 2 to 4 · Why this: two of your three hero products have been unbuyable from the homepage since July 16, priced at a "$ 50" placeholder. The most visible fix in the audit, and it ships in an afternoon.
Pick #31 → Meet with Brooke
Finding #3 · Medium confidence
Hero image WebP/srcset conversion + LCP preload
Projected recovery: $15K to $34K · Patch hours: 2 to 4 · Why this: speed was your #1 stated priority. Cuts ~90% off the largest asset on the money page and stops mobile from downloading a 2 MB desktop PNG. Re-verified byte-identical July 17.
Pick #3 → Meet with Brooke
Finding #4 · Medium confidence
Core JSON-LD install: Organization + Product + BreadcrumbList
Projected recovery: $12K to $27K · Patch hours: 6 to 10 · Why this: restores the structured-data layer the migration dropped, across all 12 products, validated in Google's Rich Results Test.
Pick #4 → Meet with Brooke
Finding #11 · Medium confidence
Policy pages published + privacy contact moved off personal Gmail
Projected recovery: $7K to $16K · Patch hours: 4 to 8 · Why this: closes the "no returns with no refund policy" exposure, repairs the dead footer links, and gets a personal Gmail address out of your privacy policy.
Pick #11 → Meet with Brooke
Finding #23 · Medium confidence
Meta/OG cleanup across templates
Projected recovery: $3K to $7K · Patch hours: 1 to 2 · Why this: fixes the share template sitewide, og:title, description, url, and Twitter cards, so every shared link stops rendering a blank card. The 12-PDP meta description rewrite is the 3 to 5 hour Core step.
Pick #23 → Meet with Brooke

Picking happens during your 60-minute strategy room. You don't have to decide today. Anything beyond Patch / over 15 hours becomes the first sequence in your Bulk Hours bank.

XIII.

90-day re-audit promise

$1,000 value

Of course we measure ourselves. We score what shipped, 90 days from now, against the same 10 dimensions and the same 33 findings. If we projected $20K and shipped $14K, we say so, in writing.

Day 0
Audit measured + updated
Measured July 10, re-verified and updated July 17. KPI baseline locked: five tiles, four of them flat zeros. Slack channel opens the day you book.
Day 14
Free fix live
Your pick from Section XII ships, tested across mobile and desktop, delta recorded on the dashboard.
Day 30 to 60
Relaunch QA + first sequences
The email stack rebuild (#32) runs as the first Bulk Hours sequence. Speed pass and list-growth work in flight. Weekly Slack updates against MOM.
Day 90
Re-audit delivered
Same scorecard, same finding scope. What moved, what didn't, and an honest variance note against the Section XV projections.
XIV.

Direct Slack channel · 30 days

$1,200 bonus

Of course you get direct access. No ticket queue, no account-manager relay. We open the channel the day you book the strategy room.

#connect-refluxgourmet-arcticgrey

A shared Slack channel between your team and ours, live for the first 30 days of the engagement. We open it the day you book. Direct access to Anthony Spallone (Co-Founder), Brooke Sanderson (Merchant Success Director), and your assigned success manager, the team introduction you were promised when the audit was ordered.

What lands in there: the weekly KPI dashboard refresh (Friday), the free-fix ship update inside the 14-day window, the strategy-room transcript same-day, and your direct questions answered inside 4 business hours. Your CS and logistics leads are welcome in the channel from day one, in line with the team-enablement priority you set on July 9. After Day 30 the channel stays or sunsets with the engagement, your call.

Book the strategy room → channel opens
XV.

The recovery portfolio

All findings stacked

If you ship every Core-tier fix across all 31 open findings, this is the math: projected annual recovery, engineering hours, and a 90-day projection for three shipping paths. Findings #1 and #26 resolved during the week of July 14 and are excluded from the open total. What your team recovered by reopening ordering is now baseline, not projection. 3 findings at high confidence, 16 medium, 14 low. The high and medium rows are the ones we'd stake a bet on. Low confidence is the long tail, directional only. Retention and email recoveries in this portfolio pay out only after the funnel holds: ordering staying open, forms landing, tracking counting. The ranges are sequenced, not additive. The figures below are projections drawn from Arctic Grey's historical cohort of similar Shopify Plus engagements, not commitments. Past cohort performance is not a guarantee of future results.

Projected annual recovery, top 10 open findings ranked

Source: per-finding modeling above, open findings only. Range bars show low to high estimate.

Ranges run from $20K to $44K on Finding 2 down to $8K to $18K on Finding 9; the top five open findings together span $73K to $161K.

Top 5 open findings (#2 clinician form, #3 hero LCP, #31 dead hero cards, #4 schema, #5 subscription) account for $73K to $161K, roughly 35% of the open total. The top 10 open stacked: $120K to $266K. The full 31-finding open portfolio: $198K to $466K. Findings #1 and #26, resolved July 16, are excluded.

Engineering hours per finding (Patch · Core · Deep) · top 10 open

Source: PERT scoping above, open findings only. Floating bars span Patch low to Deep high. Marker = Core estimate.

Bars span Patch to Deep hours per open finding with Core marked; top ten open Core hours total ~290, all open findings at Core ~645.

Top 10 open Core hours total: ~290 hrs. All 31 open findings at Core: ~645 hrs. Patch-only across the open set: ~240 hrs. Deep: ~1,420 hrs. The free fix consumes at most 15 of these hours, on us.

90-day cumulative recovery projection (3 scenarios)

Source: per-finding ramp curves modeled against Arctic Grey's historical cohort of comparable Shopify Plus engagements. Each line shows cumulative projected $ recovery over 13 weeks from Day 0. Projections, not commitments.

By week 13 the all-open line reaches $332K cumulative, the top-5-open line $117K, and the free-fix-only line $30K.

The free-fix-only line caps at the projected recovery of the Patch-tier candidate you pick in Section XII (15-hour ceiling). The top-5 line stacks the five highest open findings shipped at Core tier, forms and email stack first. The all-open line is the full open portfolio landing by Day 90. The deltas between the lines are what the Day-90 re-audit scores. Projections drawn from historical cohort outcomes. Past cohort performance is not a guarantee of future results on refluxgourmet.com.

The $332K open midpoint, sliced by dimension

Source: the 31 open finding midpoints above, grouped by dimension. Projection drawn from the historical cohort, not a commitment.

The $332K open midpoint is composed of Retention $67K (20%), Wholesale $56.5K (17%), Speed $48K (14%), Conversion $46.5K (14%), SEO $44.5K (13%), AOV $36.5K (11%), Brand $18K (5%), and Multi-region $15K (5%).

Retention is now the largest open slice at $67K, and $19K of that is Finding #32, the email stack rebuild. Hover a slice for its dollar midpoint and share; click a legend pill to include or exclude a dimension.

Revenue mix, before and after the exile ended

Top bar reflects the July 10 behavior (every add-to-cart exited to a marketplace); that wall came down July 16. Bottom bar is illustrative, drawn from the historical cohort.
Revenue mix · July 10on-domain 0% · modal exile, closed July 16
After the reopening + Finding #5 shipsillustrative, drawn from the historical cohort

Marketplace revenue was ~100 percent on July 10 because the modal exported every buyer; the wall came down July 16, and the illustrative cohort split is ~55/45.

The point is not that marketplaces are bad. The point is that the July 10 split was not a choice; the reopened checkout makes it one. Illustrative composition, not a projection of a specific month.
XVI.

30/60/90 roadmap

Sequenced shipping

A non-blocking sequence for the top 10 open findings, honoring their dependencies and the backend-first order you set: verify the backend, stabilize the forms and the email stack, then design edits under your designer, then the 3PL integration with the Amazon MCF toggle, then team training. The order runs in five phases: 1 Get the store working (checkout, forms, tracking) · 2 Fix the product page · 3 Build the retention layer · 4 Add AOV mechanics · 5 Scale paid traffic. We fix the funnel first, then pour more traffic in, not the other way around. Free fix ships Day 0 to 14; everything else ladders at your Bulk Hours pace.

Recommended ship sequence · top 10 open findings

Source: dependency analysis from per-finding scope. Assumes 1 senior dev at 25 hrs/week; bars in weeks from Day 0.

The free fix, dead-card repair, and hero pass ship by week 2, the email stack rebuild and schema by week 3, then the blog redirects, list growth, subscriptions, bundles, and the practitioner tier ladder out to week 12.

Each bar carries its phase tag: P1 get the store working · P2 fix the product page · P3 build the retention layer · P4 add AOV mechanics · P5 scale paid traffic (deliberately absent from this board; paid scales only after the funnel is proven). Weeks 0 to 2: the free fix (#2 clinician form or #31 dead hero cards, both pre-selected) and the hero-image pass (#3) ship first. Weeks 1 to 3: Finding #32, rebuilding the email stack, runs as the first Bulk Hours sequence while schema (#4) and the blog 301 map (#33) land, zero-dependency. Weeks 2 to 4: list growth (#8) activates on the reinstalled stack. Weeks 3 to 8: subscriptions (#5) and bundles (#6) build on the reopened checkout. Weeks 6 to 12: the practitioner tier (#7) completes the clinician arc. The 3PL integration and design punch list slot alongside, scheduled in the working session.
Brooke Sanderson
Merchant Success Director · Arctic Grey

Want to discuss strategy and prioritization?

60 minutes on Brooke's calendar, aimed at Monday, July 20. Walk the updated audit, pick the free fix, get written answers to your July 9 questions, and leave with a 90-day sequence you can hold us to.

5-business-day delivery · free fix ships within 14 days. This audit was measured July 10 and re-verified live and updated July 17; the 5-business-day standard is the promise on every Arctic Audit.
Part 4 · Working together (XIX to XXII)
Sources, honesty in both directions, plain-English terms, and the ways to start.
XIX.

Sources & references

Bibliography

Every measurement, citation, and benchmark used in this audit. Reproducible by re-running the listed method against the listed URL on a current Chrome or curl install.

Primary measurements (this audit)

Crawl methodDirect HTTP fetch + rendered-browser verification (the add-to-cart interception was confirmed by clicking it, screenshot captured), July 10, 2026. Re-verified July 17, 2026 with cache-busted fetches and a real add-to-cart (line item created, checkout rendered, test cart cleared afterward).
Crawl datesJuly 10, 2026 (baseline) and July 17, 2026 (full re-verification: fresh HTML on home, PDP, clinician, cart; sitemap and /products.json re-pulls). Single fetch per URL, no cache primed; timing signals noted as warm where applicable.
URLs measuredrefluxgourmet.com (homepage), 3 PDPs (Vanilla Caramel Rescue, Mint Chocolate Rescue, Single Serve Multipack), /collections/all-products, /cart, /pages/clinician-program, all 4 /policies/ URLs, robots.txt, the 5-child sitemap set, /products.json, plus 5 cohort storefronts.
Tech-stack detectionHead + runtime inspection for Shopify markers, app vendor strings, theme identity (bespoke theme "Reflux"), Klaviyo company ID, and JSON-LD presence.
PageSpeed lab gridRate-limited (HTTP 429) on all attempts this run. Where lab cells are missing we say so; measurements fall back to direct payload analysis and confidence is marked accordingly. Keyed re-capture happens live in your strategy room.

External benchmarks cited

Baymard Institute2024 form-UX, PDP trust, review-dependence, and international checkout studies. baymard.com
Shopify Plus2024 commerce benchmarks: AOV thresholds, bundles, cross-border conversion, B2B adoption in health brands.
Klaviyo2024 health-and-wellness benchmarks: popup capture rates, welcome-flow revenue per recipient, SMS replenishment click rates, B2B nurture multiples.
Recharge2024 subscription benchmarks for consumable replenishment brands: recurring-revenue share and subscriber LTV multiples.
GoogleSearch Central structured-data and hreflang documentation; Core Web Vitals guidance; Google/Deloitte milliseconds research.
FTC / UK CMAConsumer-protection guidance on refund-policy disclosure and genuine reference pricing.
web.dev / LighthouseImage-format, lazy-loading, unused-CSS, and third-party-script guidance.
Ahrefs / Search Engine Journal2024 SERP CTR studies: custom meta descriptions, rich-result CTR deltas, internal-linking factors.
Cohort storefrontsrefluxraft.com, wonderbelly.com, genexa.com, seed.com, arrae.com, live-crawled July 10, 2026; mechanics cited are visible on their public pages.

Internal context (Reflux Gourmet × Arctic Grey)

Your emails since July 6, 2026, re-verified July 17Your first note (July 6), your scope and sequencing email with the pay-structure and site-access questions (July 9), your audit answers (July 10), and your backend-first clarification (July 10). Every quoted line in this report is yours, attributed by date, and the site claims they anchor were re-verified July 17.
The July 8 callYour walkthrough of the take-over need and the Bulk Hours discussion. Nothing from that call is quoted; your written words carry the report.
Order#55111153516, Arctic Audit (Growth tier), July 10, 2026. Scale delivered at no additional charge; the note from Anthony explains why.
Delivery clockAnswers completed July 10; audit measured July 10; updated and re-verified live July 17. The 5-business-day standard applies to every Arctic Audit.
XX.

What we did not find

Transparency

Things we checked that came back clean. An audit you can trust has to be honest in both directions, and several pieces of this build are genuinely good. Worth saying: the presentation layer already reads close to the "Stable, functional well-presented website" you described as the goal on July 10. The plumbing beneath it is what failed.

XXI.

Glossary

Plain English
CROConversion Rate Optimization. Moving more visitors from browsing to buying.
AOVAverage Order Value. Total revenue divided by total orders.
LTVCustomer Lifetime Value. Total revenue a customer generates across the relationship.
LCPLargest Contentful Paint. Time until the biggest visible element finishes rendering. Google's headline speed metric; on your homepage the LCP element is the 2.05 MB hero.
INPInteraction to Next Paint. Measures responsiveness to taps and clicks across the page lifetime.
CLSCumulative Layout Shift. How much the page jumps while loading. Measured 0 to 1.
TBTTotal Blocking Time. How long the page can't respond to input, usually from heavy JavaScript.
TTFBTime To First Byte. Server speed. Yours is excellent (~19 ms warm).
CWVCore Web Vitals. Google's speed and stability metric set (LCP, INP, CLS).
JSON-LDThe schema.org format that tells search engines what each page contains. Currently absent sitewide.
HreflangHTML tags telling Google which language/region variants of a page exist. Zero on this store.
Shopify MarketsShopify's multi-currency, multi-region framework. Not configured here; the store is single-market US.
DDP / DDUDelivered Duty Paid vs Unpaid: whether import duties are included in the price or surprise the buyer at delivery.
Alginate raftThe kelp-derived polymer mechanism: forms a physical barrier on stomach contents. First-line clinical guidance in the UK; your founding science.
ESPEmail Service Provider. Yours is Klaviyo, installed but underwired (Findings #8, #14).
FlowAn automated email/SMS sequence triggered by behavior (welcome, abandoned cart, replenishment).
WebhookA URL that receives data when an event fires. Your clinician form posts to an exposed one with no error handling.
no-corsA request mode where the browser cannot read the response, so success and failure look identical. The root of Finding #2.
srcsetThe HTML attribute that lets browsers pick right-sized images per device. Absent across the theme.
WebP / AVIFModern image formats, typically 70 to 90% smaller than PNG at the same visual quality.
301 mapThe redirect table that preserves SEO equity when URLs change, e.g. WordPress to Shopify. Unverified on this migration.
OG tagsOpen Graph metadata controlling how links preview when shared. Yours ship 4 image-only tags.
GWPGift With Purchase. A free item added at a spend threshold.
Subscribe & SaveDiscounted recurring purchase (RefluxRaft: 20 to 25% off first order, 10 to 15% recurring).
Amazon MCFMulti-Channel Fulfillment: Amazon's warehouses fulfilling your website orders. Your current fulfillment path, with a 3PL migration planned.
3PLThird-Party Logistics: an external fulfillment warehouse. Your next integration, with an MCF fallback toggle per your July 9 requirement.
UCP / agents.mdShopify's agentic-commerce layer letting AI shopping agents discover and transact with a store. Provisioned here, ahead of the curve.
MOM growthMonth-over-month growth. Your stated Monday metric; the KPI dashboard reports against it.
Historical cohortThe set of comparable past Arctic Grey engagements whose measured outcomes calibrate every projection in this report. Cohort history is evidence, not a guarantee.
ProjectionA modeled estimate of future outcome drawn from the historical cohort and cited benchmarks. Every dollar range here is a projection, not a commitment.
P10 / P50 / P90Percentile estimates: best case / most likely / pessimistic. Rendered here as Patch / Core / Deep.
PERTProgram Evaluation and Review Technique. Expected hours = (Patch + 4×Core + Deep) / 6.
XXII.

Special offer · Buy 20 hours, get 10 free

Bulk Hours bundle
JULY 2026 only
Bulk Hours bundle

Buy 20:00 Bulk Hours, get 10:00 free.

30 hours of senior dev time, billed as 20. Drop the bank straight into this roadmap: the clinician channel at Core tier, or the speed pass plus two Patch fixes, sequenced through the strategy room. No new contract, no scope renegotiation, no expiry pressure on the unused balance.

What 30 hours covers
1 Top-5 Core fix
Finding #2 at Core (24 to 40h), the clinician pipeline done properly, fits the window. Or Finding #3 at Core (6 to 10h) plus two Patches with room to spare.
Or the stack
2 Patch fixes + 1 Core
Sequence the dead hero-card repair (#31) and meta/OG cleanup (#23) as Patches, then one mid-Core finding: the email stack rebuild (#32), or policies with the guarantee framework (#11).
Effective bonus
50% extra hours
10 hours on top of your 20. Stacks with the free-fix slot from this audit: the free fix ships first, on us, then the bank starts.
Projected annual recovery on the top 5 open findings at Core tier: $73K to $161K. The bundle pays for itself in the first month of shipped impact, even at the conservative end.
Made with and by Arctic Grey