Your product structure determines how customers choose an offer, how prices are managed, and how membership revenue appears in Shopify. Use products for distinct offers, variants for related options, and billing plans for payment or delivery intervals.
When you’d use this
- Create a paid membership for the first time.
- Offer multiple access tiers or membership levels.
- Add subscribe-and-save options to products with different variants and prices.
- Decide whether several offers belong on one product page or separate listings.
Separate the three decisions
Before choosing a structure, separate what the customer buys from what they receive and how they pay:
- The Shopify product or variant records the offer being purchased.
- The Zendra plan defines the perks and access that purchase unlocks.
- The billing plan defines how often the customer pays and, for product subscriptions, how often the item is delivered.
Do not create product variants for weekly, monthly, or annual billing. Those are billing-plan choices. Use variants when the offer itself changes, such as the membership tier, coffee-bag size, or quantity delivered.
Choose a structure
| If you’re selling | Recommended structure | Why |
|---|---|---|
| One membership with one set of perks | One product connected to one Zendra plan | The simplest offer to explain and manage |
| Several related access tiers | One product with a variant and Zendra plan per tier | Tiers share one listing but keep distinct prices, perks, and reporting |
| Memberships with different identities or sales pages | Separate products and Zendra plans | Each offer gets its own merchandising, URL, and product-level reporting |
| Subscribe-and-save across products with their own prices | Products and variants keep their existing prices; one reusable subscribe-and-save Zendra plan supplies billing intervals | Billing intervals can inherit each variant’s price without recreating every price. Billing plans can offer discounts for more frequent delivery. |
Use one product for a simple membership
Choose one product connected to one Zendra plan when everyone buys the same access and receives the same perks.
This works well for a single annual club membership, a paid content library, or one premium program with no tiers. The product price represents the offer, and your billing plans can add the supported one-time or recurring purchase options.
Use variants for membership tiers
Choose one parent product with a variant for each tier when the options belong together but unlock different access.
For example:
| Product | Variant | Zendra plan |
|---|---|---|
| Studio membership | Essential | Essential membership |
| Studio membership | Plus | Plus membership |
| Studio membership | Complete | Complete membership |
Connect each Zendra plan to its specific variant. The parent product keeps the program together for merchandising and product-level reporting, while the variants preserve each tier’s price, purchases, and perks.
Use separate products instead if the tiers need substantially different descriptions, storefront pages, or positioning. Variants work best when customers should understand the options as versions of the same offer.
We’re working on upgrade + downgrade features in Zendra! It’s not here yet, but we will assume that variants of a product provide upgrade and downgrade paths. (Automatically cancelling + prorating changes between variants.) Plans attached to entirely different products will be treated as separate (members can hold each one separately).
Reuse a plan for subscribe-and-save products
For product subscriptions, keep size, quantity, flavor, or other product differences as variants. Add billing plans for choices such as delivery every two weeks or every month.
When you avoid a fixed price override, Zendra uses the selected variant’s price as the base for the subscription. You can then apply a percentage or fixed discount for a billing interval. This lets one subscribe-and-save setup work across eligible products and variants without entering a separate price for every combination.
For example, a coffee product might have 12 oz and 2 lb variants with different prices. Both variants can offer Every two weeks and Every month billing plans, and each interval starts from the price of the size the customer selected.
Use a price override only when every attached variant should use the same fixed price for that billing option. Otherwise, an override can erase the price differences between variants.
Check your structure before launch
- Customers can understand the difference between products or variants without reading the plan configuration.
- Each access tier connects to the correct Zendra plan.
- Product variants represent offer differences, not billing frequency.
- Subscribe-and-save billing plans inherit variant prices unless you intentionally need a fixed override.
- The membership purchase widget appears after the variant selector, so it can update for the selected variant.
- Your product and variant names will make sense later in Shopify reports and connected apps.
Common issues
- Every tier activates the same plan. The plan is probably connected to the parent product. Connect one plan to each tier variant instead.
- The number of variants is growing quickly. Check whether billing intervals were created as variants. Move weekly, monthly, or annual choices into billing plans.
- Variant prices are ignored during subscription checkout. Remove the fixed price override if the billing plan should inherit the selected variant’s price.
- Customers cannot tell why the offers are separate products. If the memberships are versions of the same program, combine them as variants under one parent product.