Hype Cart

Discounts on POS, draft orders, and subscriptions

Updated Sep 10, 20264 min read

Discounts behave differently away from the online store checkout. This page covers the four surfaces that generate the most surprises: Shopify POS, draft orders, the post-purchase page, and subscriptions. All of it is Shopify behavior, and it applies to Hype Cart Drawer discounts too, because they are Shopify Function discounts.

Shopify POS

POS supports all three discount classes — order, product, and shipping (POS discount management).

Works at POSDetail
Custom, manually applied discountsOn a single line item or the whole cart, including on exchanges
Discount codes created in the adminAdded during POS checkout
Automatic discountsPOS Pro only
Stacking multiple discountsOnly where they are configured to combine
Discounts created by apps using Discount FunctionsSupported — the Discount Function API lists POS as Supported

Automatic discounts reach POS in one of two ways (Sales channel discounts):

  1. Tick Apply on POS (Pro locations only) in the Availability section, with eligibility set to All customers.
  2. Or set eligibility to Markets and assign a valid Retail market — the discount then applies automatically at POS Pro locations in that market.

Without POS Pro, an automatic discount simply will not run in store. Discount apps can also be surfaced on the POS Smart grid through the POS editor.

Draft orders

The rule that catches most merchants: "Automatic discounts won't automatically apply to orders created as drafts in your admin" (Draft order discounts). You have to apply them by hand.

Supported on a draft order:

  • Discount codes, up to 5 per order.
  • Automatic discounts, applied manually.
  • Custom order-level discounts, fixed amount or percentage.
  • Line-item discounts, fixed amount or percentage.
  • A single discount code with multiple savings created by an app (Discounts with apps).

Not supported on a draft order:

  • Shipping discount codes. For discounted shipping, add a custom shipping rate instead.
  • Buy X get Y discount codes.
  • Anything at all if you use checkout.liquid: "Discount codes and automatic discounts aren't compatible with checkout.liquid."

By default customers can't apply codes at draft-order checkout, but you can enable it per draft order.

For app discounts specifically, Shopify lists Draft Order (Admin) and Draft Order (Checkout) as partially supported: "Discount functions with network access aren't supported on draft orders" (Discount Function API).

The post-purchase page

Nothing you created in the admin reaches it. Automatic discounts created in the Shopify admin don't apply to the post-purchase page at checkout, discount codes don't apply there either, and a code redeemed at checkout won't combine with a post-purchase offer (Automatic discounts).

Subscriptions

Shopify Subscriptions supports dollar amount, percentage, buy X get Y, and fixed-amount discounts on subscription products (Subscription discounts). For Buy X get Y, where subscriptions are enabled, the "buy" and "get" items can each be scoped to one-time purchase, subscription, or both.

The recurring shipping discount gotcha

This one costs real money, so read it twice. For function-based discounts, which includes every Hype Cart Drawer discount, Shopify lists Subscription (Recurring Orders) as partially supported:

The function isn't re-run when the recurring orders are created. Any shipping discount applied to the origin order defaults to a 100% shipping discount on recurring orders, regardless of the original discount value.

(Discount Function API)

So a function discount that took 10% off shipping on the first order gives away shipping entirely on every renewal after it. If you sell subscriptions, avoid putting a shipping discount into a function-based campaign unless free shipping on every recurring order is what you actually want.

Other surfaces for function discounts

SurfaceStatus
B2B, Cart, Checkout, POS, Shopify Admin, Storefront (headless), Storefront Accelerated CheckoutSupported
Draft Order (Admin), Draft Order (Checkout)Partially — no network-access functions
Order Edit (Checkout)Partially — the function isn't re-run when editing an order
Subscription (Recurring Orders)Partially — see above
Create Order API (orderCreate)Not supported
Order Edit (Admin)Not supported
Pre-order and Try Before You BuyNot supported

Source: Discount Function API.

Because Hype Cart Drawer discounts are function discounts, this table is the definitive answer to "will my campaign work on X?" In Hype Cart Drawer, the discount belongs to the offer and is edited on the offer itself.

Related articles

Still need help?

Start a chat and we'll pick it up right here.