Which of the five Shopify Functions categories (discount, shipping, payment, validation, fulfillment) should a mid-market brand tackle first if we can only afford one custom build this year?
Discount is the first Function to build for most mid-market brands, because it is the category where a rule maps directly to margin. Shopify documents more than the five categories in the question: Discount, Cart Transform, Cart and Checkout Validation, Delivery Customization, Payment Customization, Fulfillment Constraints and Order Routing Location Rule (shopify.dev, September 2026).
Correct the list first
The five in the question are the ones everybody names. Shopify's Function API index documents more, and two of the extras are frequently the better first build (per shopify.dev, September 2026):
| Function API | What it does |
|---|---|
| Discount | Calculates product, order and delivery discounts |
| Cart Transform | "Changes the pricing and presentation of items in a cart" |
| Cart and Checkout Validation | "Validate the cart contents" |
| Delivery Customization | Customizes delivery methods shown |
| Payment Customization | Modifies payment methods shown |
| Fulfillment Constraints | Controls fulfillment group formation at checkout |
| Order Routing Location Rule | "Prioritize locations for order routing" |
| Local Pickup and Pickup Point Delivery Option Generators | Generate pickup options (unstable API version) |
One availability note before you plan around it: Order Routing Location Rule is "only available by request for merchants that have a Shopify Plus plan," and "Merchants must be enrolled in the Partners program to deploy their own custom apps and location rules" (per shopify.dev, September 2026). Do not put it in a single-build budget until you have the request approved.
The ranking, with the condition that changes it
1. Discount, for most brands. A discount rule has a number attached and the number is margin. It is the category where "did this work" is answerable from an order report in a week. It is also the category with the deepest App Store coverage, which means you should check whether you can buy it before you build it.
2. Cart and Checkout Validation, if you are losing orders at checkout. Blocking a cart that cannot be fulfilled, enforcing a minimum for a wholesale segment, refusing an address format your 3PL rejects. The return is not margin, it is orders that stop failing downstream. If your ops team maintains a manual list of orders to fix every morning, this beats discount.
3. Delivery Customization, if shipping options are confusing buyers. Hiding an option that should not appear for a cart is a conversion fix and it is cheap.
4. Payment Customization, if a payment method is costing you. Hiding a method above or below an order value, or for a segment. Narrow, easy, small return for most.
5. Fulfillment Constraints and Order Routing, last, and usually not as a first build. These change how orders split and where they ship from, which touches WMS, 3PL and finance. High value at scale, worst possible first project, and Order Routing needs an approved request anyway.
6. Cart Transform, only when bundles are the business. Expanding a bundle into components or merging components into a bundle changes what the customer sees and what inventory does. Large, real, and dependent on the rest of your inventory model being right first.
The three questions that override this ranking
- Where is money leaking right now, and can you name the amount? The category with a named number wins regardless of position on this list.
- Can an app do it? Discount has the deepest app coverage of any category, so the discount answer is often "buy" rather than "build first."
- Which one do you have to change every month? Build the one you will edit. Buy the one you will set once.
When NOT to build any of them this year
- When the checkout problem is a theme problem. Not everything at checkout is a Function. Checkout UI extensions and Checkout Blocks cover presentation, and our record on that decision is separate.
- When the rule is a stopgap for a data problem. A validation Function that blocks bad addresses is treating a symptom if the addresses are bad because of an import.
- When you cannot fund the observability. One Function you can see beats two you cannot.
The Deploi point of view
Our own position, from building on Shopify. Separate from the facts above.
- Our take: discount first for most, validation first for anyone whose ops team runs a daily fix list. Fulfillment and routing last, not because they are low value but because they are the highest-blast-radius change in the set and a first build should not be the one that reroutes inventory.
- What we’ve seen: the single-build budget is usually spent on the most visible category rather than the leakiest one. The leakiest one is almost always findable in an ops team's manual workaround, and nobody thinks to ask them.
- Where we disagree: the standard ranking treats these as a feature menu. They are not comparable purchases. Discount changes a number, validation changes which orders exist, and fulfillment changes where inventory goes. Ranking them on effort is the wrong axis; rank them on blast radius against named leakage.
- What this page adds: that Shopify documents more than the five categories in the question, that Order Routing Location Rule is request-gated to Plus merchants enrolled in the Partners program, and the override questions that beat any generic ranking.
Reviewed by Martin Dejnicki, Director of SEO & AI Search. Facts verified 2026-09-14.
Where we worked this out
Our decision records