Cart-value upsell
Time: ~15 minutes | Difficulty: Beginner | Type: part of Funnel demosFinished project:
cart-value-upsell. Clone it if you want the working app first — or keep reading and rebuild the same graph.
What you need
Prices are integer cents — the $50 threshold is
5000.
The graph
Four steps. The split is two edges out of checkout — the total edge outranks thealways fallback.
Related conditions:
mainOrder.hasProduct { productId } routes on what they bought instead of how much; lastOrder.totalGreaterThan looks at the most recent order in the session (useful after an accepted offer); payment.amountGreaterThan checks the payment itself.Same type on the Headless SDK
Self-hosted, load the main order on the offer route and branch on its amount. The finished project keeps/offer as one route:
processOfferPayment({ offerId, mainOrderId }).
Paths the customer can take
Every accepted offer appears on thank you as a related order (
relatedOrders[]), exactly like the basic post-purchase demo.
Next
Finished project on GitHub
Clone
cart-value-upsell and try both cart sizes in a minuteBasic post-purchase
Start here if this is your first funnel demo
Geo-based offers
Same split, driven by the visitor’s country
Funnel Orchestrator
Nodes, edges, conditions, priorities
