Can we prototype a discount-stacking or validation rule using Shopify Flow first, before committing budget to a custom Function build?
Shopify documents Functions, not Flow, as the mechanism for checkout backend logic, so Flow cannot stand in for a discount or validation rule. Flow is a free triggers, conditions and actions automation app on Basic, Grow, Advanced and Plus (Shopify Help Center, September 2026). Run Flow first to prove your tags and metafields are populated.
What each tool is, in Shopify's own words
Shopify Flow "is an ecommerce automation platform that you can use to automate tasks and processes within your store and across your apps," built from "triggers, conditions, and actions," free on Basic, Grow, Advanced and Plus (per Shopify Help Center, September 2026). Send HTTP Request is restricted to Grow, Advanced and Plus; custom partner app tasks are Plus-only.
Shopify Functions "allow developers to customize the backend logic of Shopify" by running WebAssembly at defined targets, including Discount and Cart and Checkout Validation (per shopify.dev, September 2026).
Those are different jobs. Flow reacts to events. A Function participates in a calculation. A Flow workflow that fires on order creation is running after the price the customer saw was already decided, which is precisely the thing a discount prototype needs to test.
So Flow cannot prototype the rule. Here is what it can prototype, and it is worth doing.
Most Function projects that go badly do not go badly because the logic was wrong. They go badly because the data the logic depends on was not where everyone assumed. Flow is a free, fast way to find that out before you spend anything.
Use Flow as a data rehearsal:
- Prove the segment exists. Build a workflow that runs on order creation, checks the same conditions your rule would check, and tags the order
would-have-qualified. Let it run for two weeks. - Count the result. Filter orders by the tag. If the count is near zero, your rule targets a segment that does not exist and the Function was going to be an expensive way to find that out.
- Find the near-misses. Tag the orders that matched three of four conditions. That list is where your precedence and collision rules will actually get exercised.
- Prove the fields are populated. If the workflow cannot read the customer tag or metafield you planned the rule around, neither can the Function. This is the single highest-value hour in the exercise.
- Estimate the value. Sum the discount you would have given against the orders that qualified. That number is your business case, and it is the number that decides build versus buy.
What to do instead for prototyping the rule itself
Install a free no-code Function builder and configure the rule there. SMART Functions Creator is free, rated 5.0 stars across 116 reviews, launched 12 June 2025, and covers tiered discounts, BOGO, bundles, payment customizations, delivery customizations and checkout rules with "no coding or Plus plan" (per Shopify App Store, September 2026).
This is a genuinely better prototype than anything Flow can produce, because it runs at the same point in checkout that a custom Function would. Two outcomes, both good: the builder expresses your rule and you have your answer without a build, or it cannot and you now know exactly which part is custom.
The order of operations we would actually run
- Flow rehearsal for two weeks: does the segment exist, are the fields populated, what is it worth?
- Free Function builder: can the rule be configured at all?
- Paid app, if a finished app covers it and the pricing works at your volume.
- Custom build, for the part that survives steps 2 and 3.
Steps 1 and 2 cost nothing but calendar time and they eliminate most of the builds that would have disappointed.
When NOT to bother with the Flow rehearsal
- When the segment is obviously large. "All wholesale customers" does not need proving.
- When the rule reads only cart facts. Line quantity and cart total do not need a data rehearsal; they are always populated.
- When you are already mid-migration with a deadline. Scripts stopped executing on 30 June 2026 (per Shopify Help Center and the Shopify changelog, September 2026). A store that lost a rule that day has a parity problem, not a prototyping problem.
The Deploi point of view
Our own position, from building on Shopify. Separate from the facts above.
- Our take: use Flow for the data rehearsal and a free Function builder for the rule rehearsal. They answer different questions and together they cost nothing. We would rather a client spend two weeks on this than two weeks of our time on a build that a report would have argued against.
- What we’ve seen: the Flow rehearsal kills a meaningful share of Function projects, and it kills them for the right reason: the qualifying segment turns out to be forty orders a quarter. Nobody is upset about that outcome once they see the count.
- Where we disagree: Flow gets recommended as a cheap prototype for checkout rules, and it is not one, because it runs after the decision the rule is supposed to make. What Flow is genuinely good for in this context is proving the data, and that framing gets almost no airtime.
- What this page adds: the five-step Flow rehearsal, why a free Function builder is the better rule prototype, and the specific sequence that eliminates most builds before anybody quotes one. The parent decides staffing; this page is how you avoid needing the decision.
Reviewed by Martin Dejnicki, Director of SEO & AI Search. Facts verified 2026-09-14.
Where we worked this out
Our decision records