Selling plans
Definition
Selling plans are Shopify's model for purchase options other than a one-time sale — subscriptions, prepaid terms, try before you buy. A plan defines billing and delivery intervals and any price adjustment, plans are grouped and attached to variants, and a line item carries the chosen plan through checkout. Themes read selling_plan_allocations to price and label a variant under a given plan.
Documented at https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans.
How we've used it
The plan itself is almost never ours — a subscription app owns it — and the work is everything around it. On the product page that means placement: the buy box hands one specific widget its space and actively suppresses the other purchase-option apps injecting into the same node, because a store that has run for a few years has usually installed more than one. In the cart it means correctness. Line items render the plan's name and the plan's price rather than the variant's, quantity steppers come off lines a plan controls, and every re-render after a cart mutation has to bring that state back with it. Where a kit is sold on a frequency, custom elements add the whole set at a chosen interval and drive the tier messaging from the live cart.
Builds using it
- Configurable PDP block system on the Palo Alto theme (Recharge widget placement, size charts, siblings, quick view) — Three Ships
- Subscription bundle grid with tiered unlock progress — Three Ships
- Inline size picker on cart and PDP upsell cards — Three Ships
6 further gated builds use it; their pages follow.
Related entities
Cart AJAX API · Line-item properties · Section Rendering API · Theme app extension blocks