How to Add Age Verification on Shopify (Step-by-Step)

If you subscribe to a service from a link on this page, Reeves and Sons Limited may earn a commission. See our ethics statement.

When I first launched my Shopify store selling vape products, I honestly didn’t think much about age verification. I had a checkbox on the site saying “Are you over 18?” and figured that was enough.

It wasn’t.

I found out pretty quickly that basic age gates don’t protect you — not from legal issues, chargebacks, or even payment processor shutdowns. Depending on where your customers are, that missing layer of verification could put your store at risk.

Here’s exactly how I learned to add age verification on Shopify — the right way.

Why Age Verification Matters on Shopify

If you're selling anything that’s even remotely regulated — alcohol, vape, CBD, supplements, adult content — you need age verification. It’s not just a “nice to have.” It’s something that protects your business, legally and financially.

Here’s what I’ve run into over the years:

  • Stripe and PayPal blocked my account until I could prove I had proper gating in place
  • Facebook Ads disapproved campaigns because my landing page lacked age verification
  • One customer filed a chargeback, claiming a minor ordered from my store (even though they checked the box)

That’s when I started digging into Shopify-friendly options. There’s no built-in age gate, so it’s all about apps or custom code.

Option 1: Use a Shopify Age Verification App (Fastest + Easiest)

If you want a clean, reliable age gate without touching code, Shopify apps are your best bet. I tested five of the top ones before settling on what worked.

Here’s the breakdown:

App NameKey FeaturesPriceBest For
Bouncer – Age VerificationCustom popup, session duration, simple UI$3.99/monthMost stores
Age Check + by Northern AppsRedirects underage users, country targetingFree + Paid plansStores with legal restrictions
EVS Age VerificationReal ID verification, database checks$$$ (Enterprise-level)Compliance-heavy industries
18 Plus by ZooomyLightweight, easy setupFree + Paid plansBasic storefronts
HulkApps PopupStrong design tools, mobile-optimisedFree plan availableStores focused on UX

Most of these apps let you set the minimum age (18 or 21), customise the popup design, and choose what happens if a user fails verification (block, redirect, or let them browse).

What I liked most about Bouncer was that I could set a 30-day session. So once someone passed the age gate, they didn’t get asked again unless they cleared cookies.

What to Watch For

  • Mobile compatibility is a big deal. Some popups break or don’t scale on smaller screens.
  • Geotargeting is a feature to check. For example, Canada = 18+, USA = 21+ depending on the state.
  • Session settings matter. If you set it too short, returning users might bounce.

Apps like these work by inserting a script into your Shopify theme. It loads before the rest of the site content — so it acts as a real “gate.”

Option 2: Manually Add Age Verification Using Code

When I wanted full control over how the age gate looked, I built my own. It wasn’t easy, but it gave me more freedom over layout, animation, and cookies.

Here’s the quick setup if you're comfortable editing theme code:

What You’ll Need

  • Access to theme.liquid file
  • Basic knowledge of HTML, CSS, JavaScript
  • Willingness to test thoroughly on desktop and mobile

Basic Steps

  1. Create a popup container
    Use HTML to build a modal that sits over the entire screen.
  2. Style it with CSS
    Make sure it's centered, blocks all interaction with the page, and looks clean.
  3. Add buttons
    “Yes, I’m 18+” lets the user in. “No” either redirects them or closes the site.
  4. Set up cookies or localStorage
    So they don’t get asked again for a set number of days.
  5. Inject the code into theme.liquid
    Right before the closing </body> tag so it loads on every page.

Code Snippet (Simplified)

htmlCopyEdit<div id="age-gate" style="position:fixed;top:0;left:0;width:100%;height:100%;background:#000;color:#fff;z-index:9999;">
  <div style="margin:auto;top:40%;position:relative;text-align:center;">
    <h2>Are you 18 or older?</h2>
    <button onclick="enterSite()">Yes</button>
    <button onclick="window.location.href='https://google.com'">No</button>
  </div>
</div>

<script>
  function enterSite() {
    document.getElementById("age-gate").style.display = "none";
    localStorage.setItem("ageVerified", "true");
  }

  if(localStorage.getItem("ageVerified") === "true") {
    document.getElementById("age-gate").style.display = "none";
  }
</script>

Pros & Cons

Pros:

  • 100% control over look and feel
  • No monthly app fees
  • No third-party code slowing down your site

Cons:

  • Breaks easily if not coded right
  • Doesn’t meet legal standards for ID checks
  • No analytics or reporting unless you build it

If you’re not technical or don’t have a developer, I’d say skip this. The risk isn’t worth it if you break your theme layout or lock users out.

What About Checkout-Based Verification?

I get this question all the time: “Can I verify age at checkout?”

Short answer: no, unless you’re on Shopify Plus.

Shopify locks down its checkout for security reasons. You can’t modify it unless you’re on an enterprise plan — which most of us aren’t.

Even on Plus, the options are limited. You can add custom scripts and maybe force a birthdate field, but there’s no API or feature for full age verification at checkout.

So the best move? Handle verification before users even start shopping.

If you think an age gate is just a UX feature, think again. Some ecommerce stores I’ve worked with got hit with:

  • Fines from GDPR violations in the EU for not verifying age before collecting personal data
  • Complaints from parents saying minors bought vape products online
  • Stripe and PayPal account freezes because they had no way to prove customers were 18+

In 2023 alone, the UK fined over 80 ecommerce stores for not having proper verification on age-restricted goods. It’s not theoretical.

Here’s a quick summary of legal considerations:

RegionRequirementEnforcement Risk
UK (ICO)Age Appropriate Design CodeHigh
USA (FTC)COPPA, state lawsMedium–High
EU (GDPR)Consent + age screeningVery High
CanadaProvince-level rulesMedium

If you’re collecting emails, phone numbers, or addresses, you’re on the hook for protecting underage users from that data exposure.

Best Practices for Age Verification on Shopify

Here’s what’s worked best for me and my clients over the years:

  • Use an app unless you absolutely need a custom solution
  • Test the popup on mobile, tablet, and desktop
  • Set a session cookie so users aren’t blocked every visit
  • Redirect underage users or show a proper message instead of just hiding the store
  • Don’t use a checkbox-only gate — it’s legally useless

Also, don’t just pick the first app that looks good. Try a few, test how they load, and see how they play with your theme. Some themes (especially heavily customised ones) can break age verification overlays.

Wrap-Up

If you’re running a Shopify store that sells to adults only, don’t wait on adding age verification.

I ignored it once and paid for it in headaches, account freezes, and ad rejections. Since then, I’ve used apps like Bouncer or built out manual systems depending on the store’s complexity.

Whether you go with an app or build it yourself, just make sure it’s fast, mobile-friendly, and legally sound. That’s what protects your store long-term.

Joe Warnimont

Joe Warnimont is a Chicago-based writer who focuses on eCommerce tools, WordPress, and social media. When not fishing or practicing yoga, he's collecting stamps at national parks (even though that's mainly for children). Check out Joe's portfolio to contact him and view past work.

Comments 0 Responses

Leave a Reply

Your email address will not be published. Required fields are marked *

Rating *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Try Shopify for 3 months with $1/month!
shopify-first-one-dollar-promo-3-months