Skip to content
HexCorp.io

HexCorp / Guides / Subscriptions & clubs

How-to

How to run a wine club on WooCommerce

A wine club on WooCommerce needs four things the stock store does not have: tiers with member pricing on every product, releases that turn into a batch of shipments, a card on file that is charged per release rather than on a calendar, and compliance checks (21+, ship-to state, adult signature) at signup and checkout. You can assemble them from WooCommerce Subscriptions and custom code, or run a club engine built for exactly this; either way, here is the release cycle, the pricing math and the compliance list.

What a club is, in data terms

Strip the romance away and a club is five records. A tier (Three-Bottle, Six-Bottle, Reserve) with a bottle count, a discount and a shipping rule. A member with a tier, a card on file, a ship-to address that has been checked, a 21-plus attestation and a status (active, on hold, cancelled). A release: a date, a set of wines per tier, a cut-off for changes. A shipment: one member, one release, the bottles, the charge, the tracking number. And a ledger of charges, failures, retries and refunds. Everything else, the tasting notes, the pickup party, the member-only allocation, hangs off those five.

WooCommerce gives you products, customers, orders and payment tokens. It does not give you tiers, releases or shipments, and its idea of a recurring charge is a calendar, which is the wrong shape.

Why WooCommerce Subscriptions alone fights you

Subscriptions bills on an interval: every month, every three months. A club bills on a release: when the spring reds are ready, which might be March one year and April the next, and sometimes you skip a quarter. People make it work by setting a quarterly interval and manually editing renewal dates, pausing subscriptions by hand, and building each release as a one-off product the renewal somehow has to point at. That works for thirty members. At two hundred, the winery’s “club manager” is spending a day per release in the admin, and every manual edit is a chance to charge someone twice or ship them nothing.

The second mismatch is content. A subscription renews the same product. A club ships a different selection every time, varied per tier, with members who want to swap a bottle. The third is pricing: members expect their discount on everything they buy, not just the club shipment, which means tier-aware pricing across the catalogue, not a coupon.

The membership model

  1. Tiers: two or three, no more. Name them by bottle count or by style, decide the discount (15 to 20 percent is typical; 25 percent for a top tier that also gets allocations) and the shipping rule (included, flat, or member rate).
  2. Signup: tier choice, date of birth, ship-to address validated against the states you can ship to, card on file through your gateway’s token vault, and acceptance of the terms (minimum commitment, cancellation notice). No charge at signup unless a release is open.
  3. Member pricing everywhere: the discount applies in the store, at the tasting room point of sale if it talks to the site, and on the release itself.
  4. Portal: members can update the card and the address, see upcoming and past shipments, skip or hold a release before the cut-off, and in the better setups swap a bottle.

The release cycle, step by step

  1. Build the release four to six weeks out: date, one selection per tier, bottle count, price per tier (the member price, computed), and a swap pool if you allow swaps.
  2. Announce it to active members with a cut-off date for changes, two to three weeks out. This email is the one members actually read; put the wines in it.
  3. Collect changes until the cut-off: swaps, adds, holds, address updates, gift recipients. Each change updates that member’s pending shipment, not a global product.
  4. Preflight the batch a few days before charging: expired cards, addresses in states you cannot ship to, members on hold, bottle counts outside the tier’s minimum and maximum. Fix what you can; the rest become exceptions.
  5. Charge the batch. One charge per member against the stored card, with the shipment as the order. Expect 3 to 6 percent of cards to fail on a club of any age. Retry failed cards on a schedule (1, 3 and 7 days is a sensible default), email the member a card-update link, and charge a new card as soon as it arrives.
  6. Fulfil: pack lists per tier, carrier labels with adult-signature required, tracking numbers back onto the shipment and out to the member.
  7. Close the release: record who was charged, who failed and was recovered, who was held, and the total. This is the number you report to the owner, and it should take a click, not a spreadsheet.
  8. Follow up with the members who failed and were not recovered: they are not cancelled, they are at risk, and a personal email saves most of them.

Pricing a club: a worked example

Take a winery with 200 members across three tiers and four releases a year.

TierMembersBottles per releaseMember price per releaseRevenue per release
Three-Bottle1103$85$9,350
Six-Bottle706$160$11,200
Reserve206$290$5,800
Total200$26,350

Four releases is $105,400 a year from the club alone, before the member-priced purchases those same people make in between, which for most wineries adds another 20 to 40 percent. Now the costs of running it on a platform that takes a cut: at 3 percent of club revenue, that is $3,162 a year; at a per-shipment fee of $1.50, it is $1,200. A flat-licence club engine on your own store is a few hundred dollars. Payment processing is the same in every scenario, so leave it out of the comparison. The platform fee is the line that scales with your success, and it is the one you can remove.

Compliance you cannot skip

  • Age: a date-of-birth check at signup, a 21-plus attestation at every checkout, and adult-signature required on every label. The attestation is not optional because the carrier will ask you for it.
  • Ship-to states: direct-to-consumer wine shipping is legal only in the states where you hold a permit, with volume caps per customer per year in some of them. Validate the address against your permitted states at signup, not at fulfilment, and store the result. Spirits and cider rules differ by state and are stricter; check them separately.
  • Tax: excise and sales tax per destination state. Use a compliance service if you ship to more than a handful of states; the rules change.
  • Records: keep the attestation, the address check and the shipment record for the period your permits require, which is years, not months.

None of this is legal advice; it is the list every compliance officer will ask about, so build the fields in from day one rather than retrofitting them after the first audit.

Three ways to build it

  • DIY on WooCommerce Subscriptions plus custom code. Works for small clubs with a developer on call. Budget for the release-to-renewal mismatch, the swap logic, the batch charge with retries and the compliance fields, because none of them come in the box.
  • A hosted club platform. Fastest to start, usually with good compliance tooling. Costs a percentage of every shipment or a monthly fee that grows with members, and your members and their cards live on someone else’s system.
  • A club engine on your own store. CellarClub adds the five records above to WooCommerce: tiers with member pricing everywhere, signup with 21-plus and state checks, a member portal, a release and shipment builder, batch charging and fulfilment, with holds, gifts and import in the free plugin. Pro adds member bottle swaps within the release’s swap pool and failed-payment recovery on a 1, 3 and 7 day schedule. One flat price per year, no per-shipment fee, and the club lives in the same database as the rest of your store.

The tool for this

Run the club on the store you already have

CellarClub is a wine club plugin for WooCommerce, made for wineries, cideries and distilleries running a club on their own store. Free + Pro from $399/yr

Free download

CellarClub v1.0.0

Where should we send the setup guide? The download starts right away; the email has the link again, the quick start and what Pro adds.

Skip, just download

GPL-licensed. Your email is stored on hexcorp.io and never sold or shared.

See CellarClub

Benton · Founder, HexCorp

18 years in marketing technology, most recently running it for a multi-location business. HexCorp builds the tools I kept wishing existed: tracking you can prove, deploys you can review, and plugins that respect the people who use them.