Delivery option caching
Buyers change their checkout many times before they pay. To keep checkout fast, Shopify doesn't recalculate delivery options after every change. It caches the delivery options it calculates and reuses them until delivery-related cart data, such as cart lines and delivery address, changes. Changes to other cart properties don't refresh cached results.
This affects when your app runs. If your app or function uses one of the cached extension points, then Shopify runs it when delivery-related data in the cart changes, not after every cart update. If Shopify already has a recent result for that data, then it reuses that result instead.
Anchor to Cached extension pointsCached extension points
Shopify can reuse an earlier result from the following extension points instead of running them again:
- Fulfillment Constraints Function API
- Order Routing Location Rule Function API
- Local Pickup Delivery Option Generator Function API
- Pickup Point Delivery Option Generator Function API
- Carrier-calculated shipping rates
The Delivery Customization Function API isn't cached. Delivery customization functions run every time checkout updates delivery options, with the buyer's current cart as input.