Juice Plus
Keeping subscription and one-time carts separate across 15 Juice Plus stores
A metafield-driven cart rule that stops subscription and one-time products mixing in the same cart — rolled out across all 15 of Juice Plus's global Shopify stores.
- Client
- Juice Plus
- Industry
- Health and nutrition
- Timeline
- Migration project
- Services
- Replatforming and migration, Custom Shopify build, Cart and checkout logic
The challenge
Juice Plus sells both subscription products and one-time purchases. After moving to Shopify, nothing stopped a shopper putting both types in one cart — which their billing and fulfilment can't process cleanly. A one-time item and a subscription item must never share a cart, across every one of their 15 global stores.
Juice Plus runs 15 storefronts worldwide. They came to us moving off a bespoke, self-built commerce platform and onto Shopify — a big migration for a brand that sells the same catalogue in many markets at once.
The migration went in fine. But Shopify’s cart surfaced a problem their old custom platform used to handle quietly.
The problem the migration surfaced
Juice Plus’s catalogue mixes two very different purchase types: subscription products that bill on a recurring schedule, and one-time purchases. On the new Shopify setup, a single cart could happily hold both at once — and that breaks. A cart with a subscription line and a one-time line can’t be billed or fulfilled cleanly. The rule the business needed was simple to state and easy to get wrong: a one-time product and a subscription product must never be in the same cart.
And whatever we built had to behave identically across all 15 stores, each with its own products and market.
First attempt: matching on the variant name
Our first version decided a product’s purchase type from its variant name — reading the naming to tell a subscription apart from a one-time item, then blocking the combination that shouldn’t happen.
It worked for the obvious cases. But variant names are just text, and across a catalogue this size other products reused similar naming for unrelated reasons. That created false conflicts — the rule mis-reading products it was never meant to touch. Leaning on a naming convention made the whole thing fragile: every new product was a chance for an accidental clash.
The fix: a variant metafield
So we moved the decision off the variant name and onto an explicit metafield. Instead of guessing a product’s purchase type from how it happens to be named, each product carries a clear, intentional flag that says exactly what it is — subscription or one-time. The cart rule reads that metafield and nothing else.
That one change fixed everything the first approach struggled with:
- No more naming coincidences. The rule only looks at a deliberate flag, so unrelated products can never trip it.
- Anyone can understand it. A merchant can look at a product and see its purchase type — it is data, not a hidden convention.
- It scales. New products just get the flag set correctly; there is nothing to conflict with.
The result
One small, deliberate mechanism now keeps every cart to a single purchase type — automatically, and the same way in every market. A migration risk became a quiet piece of infrastructure running across all 15 global stores, and the team stopped having to think about it. Exactly the kind of simple, understandable custom work that makes a big operation easier to run.
Next case study
Live PIN-code serviceability checks at checkout for Headphone Zone
Ready to build a store worth talking about?
Tell us where your store is today and where you want it to go. We reply within two working days with a clear next step.