Skip to content
Compliance

Age gates, shipping rules and a calm checkout

Where the 21+ check, state shipping messages and compliance checks belong in a winery's online flow, and how to word them so buyers keep going.

October 24, 2026

Age gates, shipping rules and a calm checkout

Compliance is part of selling wine online, and no website makes it go away. What the website controls is where each check appears and how it's worded. Put the checks in the wrong place and a visitor meets a wall of warnings before they've seen a bottle. Put them in the right place and they barely notice.

This article is about the website experience. It isn't legal advice. Your obligations depend on your licenses and on every state you ship to, so confirm the details with your compliance provider or counsel before you change anything.

Ask about age once, and kindly

The age gate is often the first screen a new visitor sees, so treat it as part of the brand. Use your photography and your logo, one short question and two clear buttons. "Are you 21 or older?" with Yes and No reads far calmer than a paragraph of legal text.

Which kind of gate you need, a simple confirmation or a full date of birth, is a question for your compliance advisor. If you do collect a date of birth, use a single date field the phone can fill in. Three dropdowns for day, month and year are slow on a small screen.

A few details matter more than they seem:

  • Remember the answer, so returning visitors aren't asked on every page or every visit.
  • Keep keyboard focus inside the dialog until it's answered, and make sure screen readers announce it.
  • Make both buttons big enough to tap. WCAG 2.2 sets 24 by 24 CSS pixels as the minimum target size at level AA.
  • Give the No button somewhere polite to go, such as a page about responsible drinking. Don't loop people back to the gate.
  • If the site also shows a cookie banner, design the two together so a visitor never faces two overlays stacked on top of each other.

A homepage gate confirms intent. The checks that carry real weight come later, at checkout and at the door. Carriers that ship wine in the US require an adult signature at delivery, so check your carrier's alcohol shipping rules for the details. Your platform may also ask for a date of birth at checkout. Check what yours does, so you aren't asking the same question three times.

Tell people early where you ship

The worst moment to learn a winery can't ship to your state is after you've filled a cart and typed a card number. That one surprise does more damage than any age gate.

Give shipping its own plain page, "Where we ship", linked from the shop and the footer. List the states you ship to today. Whoever maintains your licenses owns that list, and the website should change the day the list changes.

On product and club pages, add a short line near the price, such as "Ships to most states. See where we ship." Adjust the wording to match your real list. Some wineries add a state selector that remembers the visitor's choice and shows a message before they add anything to the cart. That's worth testing if a large share of your traffic comes from states you can't serve.

When you can't ship somewhere, say so plainly and offer whatever is genuinely available:

  • Pickup at the winery or tasting room
  • A retailer or distributor in their state, if you have one
  • An email list for when that state opens, if you plan to add it
  • A visit, with a link to book a tasting

Only list options that exist. A friendly dead end is still better than a false promise.

Run the compliance check where the address is known

A compliance check needs a cart and a shipping address, which means it belongs at checkout. Running one earlier asks the visitor for information they haven't given yet.

How the check works depends on your stack. Commerce7's documentation describes its ShipCompliant integration as giving real-time compliance checks and local tax rates for Commerce7 orders, with a Compliance Type setting for full ShipCompliant accounts or Pass Thru accounts. Other platforms have their own built-in tools or integrations. Read the documentation for yours and confirm the setup with your compliance provider.

The design job here is the failure state. When a check blocks an order, the message should say in one sentence what the problem is and what the buyer can change, such as the quantity or the address. If pickup is an option, offer it right there.

Test it before your customers do. On a staging copy of the store, put an address from a state you don't ship to in the cart and read the message you get. If it's a vendor default full of codes, find out whether your platform lets you rewrite it. Do the same with a large quantity, so you see what happens when an order goes over a limit.

Show the delivered total, with shipping and tax, before the final button. A late jump in the total feels like a penalty even when it's simply the law.

Where each piece belongs

Laid out in order, a calm flow looks like this:

  1. First visit. One age question, remembered after the first answer.
  2. Product and club pages. A short where-we-ship line linked to the full list.
  3. Cart. Shipping state chosen early, with an estimate for shipping and tax.
  4. Checkout. Date of birth if your platform requires it, the compliance check and clear messages when something can't ship.
  5. Confirmation and shipping emails. A reminder that someone 21 or older needs to sign for the package.

That last step can prevent failed deliveries. Tell buyers in plain words that an adult has to sign, and suggest shipping to an address where someone will be in during the day. If your carrier lets recipients redirect or hold packages, link to its instructions.

Words that keep people moving

Tone matters as much as placement. Here are a few rewrites we'd suggest.

  • "You must be of legal drinking age to enter this site" becomes "Are you 21 or older?"
  • "Shipping restricted" becomes "We can't ship wine to your state yet. You can pick up at the winery, or join our list and we'll email you if that changes." Use only the options you really have.
  • "Adult signature required" becomes "Someone 21 or older needs to sign for this box. Ship it where someone's home during the day."

Your obligations stay the same either way. The buyer simply reads them in plainer words.

Where to check the rules

Rules differ from state to state and change over time. Check the rules for each state you ship to, with your compliance provider and with the state agency itself. TTB keeps a directory of state alcohol beverage authorities with links to each agency's website.

If you'd like us to walk through your age gate, shipping messages and checkout the way a first-time buyer would, book a free site audit. We'll send back the changes we'd make first.

Sources

Let's look at your site the way a guest does.

30 minutes, we review your current site live. You leave with an honest list of what we would change.