πŸ”’ INTERNAL USE ONLY β€” SLTWTR Γ— VShred β€” confidential working draft, not for distribution

SGA Funnel β€” the routing matrix, drawn

Draft v1, reconstructed from the two walkthroughs + Nova screenshots. A map to correct against staging, not a validated flow. Node border = how sure we are; edge labels = the routing conditions.

Start here β€” what am I looking at?

The picture: VShred's "SGA" sales funnel β€” the quiz β†’ checkout β†’ upsells journey a customer travels β€” drawn as a routing matrix (a table of steps, where each step is a page and something decides the next one).

The finding that started this: VShred's current custom system (their Laravel/Nova admin) already works exactly like this β€” a funnel made of steps, each step is a page (or A/B variants of a page), and small conditions (where you're from, what's in your cart) pick where you go next.

What we're proposing: rebuild that same model on Shopify β€” the funnel as editable data (metaobjects) + a small service layer that reads the conditions and serves the right page. Same model, new home β€” not a reinvention.

How to read it: follow left β†’ right. Boxes = pages (routes). Arrows = the conditions that route the customer. Color = how sure we are: green = seen for real in their admin, amber = page real, rule inferred, gray dashed = still to confirm. Next: walk this against their live staging admin and correct the amber/gray parts.

seen in Nova (hard) from flow diagram (slug real, condition inferred) conceptual / maybe not built condition seen inferred

Hover a step β†’ the boxes it maps to light up. Click Burn Evolved for the data-model detail. Numbers ①–β‘₯ match steps to boxes.

Left band = Upper Funnel (quiz β†’ segment VSL β†’ checkout). Right band = post-checkout Upsells. The three green edges off us/burn-gt are the only conditions we saw verbatim in Nova β€” every other edge is a target to confirm.

Walk the funnel (in plain words)

1Quiz β†’ segment. A customer takes the SGA quiz. Only their gender and their last answer decide which of 7 video sales pages (VSLs) they land on. Everything else the quiz asks is for analytics, not routing.
2VSL β†’ checkout. They watch the pitch and buy the intro offer (~$57). A "Custom Diet Plan" add-on β€” the bumper β€” is offered right on the checkout page.
3They pay β†’ the upsell chain begins (right band). This is the key part: everything past checkout is routed by what's now in their cart. No login, no memory β€” the cart contents are the state.
4First upsell = Burn Evolved (us/burn-gt) β€” the one page where we saw the real rules in their admin: bought a subscription β†’ Burn PM Β· bought bottles β†’ Burn 3-bottle Β· bought nothing β†’ a 1-bottle downsell. (And anyone not in the US is redirected away before they even see it.)
5Everyone converges on a CDP check (skipped if they already bought the diet plan at checkout) β†’ the Recipe Guide β†’ a final program offer (Momentum Mastery for women / VShred University for men) β†’ the thank-you page.
6The one idea it all rests on (click the Burn Evolved box for this): a page is a route, its A/B options are variants, and the arrows out of it are conditions. That trio is exactly what we model on Shopify β€” so "build the funnel on Shopify" just means "recreate routes, variants, and conditions as editable data."

The parallel, in one glance

MechanismTheir CMS todayShopify equivalent
FunnelSales Funnel β€” envelope of pages, chainedfunnel metaobject
StepRoute (a URI)funnel_step
VariantPage Version β€” Control + Weight, stickyvariant set, weighted by service layer
BranchBefore/After-Visit Conditions (geo Β· SKU Β· purchase Β· gender)branch_rules in the service layer
Reordermove an offer's position ("basic mutation")reorder step refs in admin
A/Badd a page version at weightadd a variant to a step
Post-checkoutconditions read cart SKUs + purchase stateservice layer carries that context (confirm)
MeasurementTrack API β†’ Snowflake (won't port)per-step events β†’ analytics (net-new)