Title: AgeOnce Age Verification for WooCommerce
Author: ageonce
Published: <strong>April 16, 2026</strong>
Last modified: September 25, 2026

---

Search plugins

![](https://ps.w.org/age-verification-with-ageonce/assets/banner-772x250.jpg?rev
=3507623)

![](https://ps.w.org/age-verification-with-ageonce/assets/icon-256x256.png?rev=3507623)

# AgeOnce Age Verification for WooCommerce

 By [ageonce](https://profiles.wordpress.org/ageonce/)

[Download](https://downloads.wordpress.org/plugin/age-verification-with-ageonce.1.0.9.zip)

 * [Details](https://vec.wordpress.org/plugins/age-verification-with-ageonce/#description)
 * [Reviews](https://vec.wordpress.org/plugins/age-verification-with-ageonce/#reviews)
 *  [Installation](https://vec.wordpress.org/plugins/age-verification-with-ageonce/#installation)
 * [Development](https://vec.wordpress.org/plugins/age-verification-with-ageonce/#developers)

 [Support](https://wordpress.org/support/plugin/age-verification-with-ageonce/)

## Description

**Privacy-first age verification for WooCommerce and WordPress.** WooCommerce has
no built-in official age gate — AgeOnce adds real checks at checkout, optional customer
signup on My Account, and restricted content, without archiving customer IDs or 
face images on your server. Your site keeps the verification outcome and an Audit
ID. Start free with 100 verifications per month, no credit card required.

**Full setup guide (video, install, free plan):** [WordPress age verification on AgeOnce.com](https://www.ageonce.com/wordpress-age-verification)

#### See how it works

About 90 seconds: install, connect credentials, set product rules, verify at checkout,
then review order status and the AgeOnce audit log.

Use it for alcohol, tobacco, vaping, cannabis, adult content, supplements, events,
memberships, or any other WordPress content that should be shown only after age 
verification.

Instead of relying on a simple “Are you 18?” popup, AgeOnce sends the visitor through
a dedicated verification flow and then returns them to your store. The plugin can
block WooCommerce checkout until verification is complete, optionally require age
verification before customers create a store account on My Account, protect selected
posts or pages, and record verification details on WooCommerce orders and new customer
accounts.

Age assurance is now a legal requirement in many markets — the UK Online Safety 
Act, US state age-verification laws, the EU Digital Services Act, and FDA PACT rules
for tobacco and vape all expect real checks rather than a self-declared age box.
AgeOnce gives you a workflow you can show an auditor while keeping data collection
to a minimum.

You can start with the AgeOnce free plan. No credit card is required for the free
tier, so you can install the plugin, connect your site, and test the full WooCommerce
checkout, optional signup gate, or content restriction flow before upgrading.

#### Why stores use AgeOnce

 * **Protect checkout for restricted products** – Require age verification only 
   when the cart contains products or categories that need it.
 * **Optional store signup age gate** – Require age verification before guests can
   create a WooCommerce customer account on My Account (off by default; configurable
   16+/18+/21+).
 * **Avoid blanket age gates** – Keep normal products and public content open while
   gating only the items that require verification.
 * **Support 16+, 18+, and 21+ rules** – Configure different minimum ages for different
   product categories, tags, posts, pages, or custom post types.
 * **Keep proof on orders and accounts** – Store verification status, transaction
   ID, and timestamp on WooCommerce orders (and on new customer accounts when signup
   verification is enabled).
 * **Start free** – Use the free AgeOnce plan to test real verification before moving
   to a paid plan.
 * **Use one verification flow across your site** – The same AgeOnce verification
   can unlock checkout, signup, and protected content for guests and logged-in visitors.
 * **Respect privacy** – The plugin only contacts AgeOnce when a visitor chooses
   to verify their age.

#### Features

 * **WooCommerce checkout age gate** – Disable checkout until the customer completes
   age verification for restricted cart items.
 * **Optional WooCommerce customer signup age gate** – On My Account registration,
   block create-account until AgeOnce verification (disabled by default; choose 
   16+, 18+, or 21+).
 * **Product-level control** – Mark individual WooCommerce products as requiring
   age verification.
 * **Category and tag rules** – Protect products, posts, pages, and custom post 
   types by taxonomy.
 * **Manual content locking** – Add an AgeOnce metabox to lock individual posts 
   or pages regardless of taxonomy.
 * **Multiple age thresholds** – Configure 16+, 18+, and 21+ rules from the same
   settings screen.
 * **Order and customer verification metadata** – Save verification status, transaction
   ID, and verification time on WooCommerce orders; when signup gating is on, also
   save verification meta on the new customer.
 * **Guest-friendly verification** – Keeps verification for guests after OAuth return
   via WooCommerce session and a short-lived cookie (24 hours).
 * **Secure OAuth flow** – Uses state/nonce checks and server-to-server token exchange
   with AgeOnce.
 * **Content protection without WooCommerce** – Gate posts, pages, and custom post
   types even if WooCommerce is not active.

#### Requirements

 * WordPress 5.0 or higher
 * WooCommerce 5.0 or higher (for checkout and customer signup protection)
 * AgeOnce account with OAuth credentials (Client ID and Client Secret)

#### Getting Started

 1.  Install and activate the plugin
 2.  Open the [AgeOnce WordPress setup guide](https://www.ageonce.com/wordpress-age-verification)(
     video + free plan)
 3.  Create an account at [AgeOnce](https://www.ageonce.com/get-started) and start 
     with the free plan or choose a paid plan
 4.  Go to AgeOnce Settings in the admin menu
 5.  Copy the Redirect URL from WordPress into your AgeOnce dashboard
 6.  Enter your Client ID and Client Secret in WordPress
 7.  Click Test connection to confirm the OAuth setup
 8.  Configure rules for WooCommerce products, categories, tags, posts, pages, or custom
     post types
 9.  Optionally enable **WooCommerce customer signup** if you want age verification
     before store account creation
 10. Save changes and run one checkout, signup, or restricted content test

Docs: [WordPress plugin documentation](https://docs.ageonce.com/wordpress). Plans:
[AgeOnce pricing](https://www.ageonce.com/pricing). Product page: [wordpress-age-verification](https://www.ageonce.com/wordpress-age-verification).

#### Privacy

This plugin sends data to the AgeOnce service (app.ageonce.com, api.ageonce.com)
only when a user explicitly starts age verification, such as clicking “Verify Age”
at checkout, on the My Account registration form, or on restricted content. No tracking
or data collection occurs without that user action.

The plugin does not send WordPress account passwords to AgeOnce. It may store a 
verification flag in the WooCommerce session or a cookie (about 24 hours), and it
may store verification metadata on WooCommerce orders and on WordPress users (logged-
in verification, and new customer accounts when signup verification is enabled).
See the [AgeOnce service](https://www.ageonce.com) for privacy and terms.

### External services

This plugin relies on third-party services operated by AgeOnce (the verification
provider). They are required for OAuth login and token exchange so the site can 
confirm age verification.

 * **AgeOnce web app (app.ageonce.com)** — Used for the user-facing OAuth authorization
   screen when someone clicks “Verify Age”. The browser is redirected here with 
   your site’s OAuth client ID, redirect URI, a state value, and required minimum
   age. The user completes verification on AgeOnce; no WordPress account password
   is sent to AgeOnce.
 * **AgeOnce API (api.ageonce.com)** — Used when the user returns to your site with
   an authorization code. The plugin sends a server-to-server request to exchange
   that code for an access token: it transmits the authorization code, redirect 
   URI, OAuth state, and HTTP Basic authentication using your Client ID and Client
   Secret (stored in WordPress options). On success, the plugin may store a verification
   flag in the WooCommerce session or a cookie and optional transaction metadata
   for orders. This happens only during that callback after the user completes the
   flow.
 * **Terms and privacy (AgeOnce)** — [Terms of service](https://app.ageonce.com/terms),
   [Privacy policy](https://app.ageonce.com/privacy).

## Screenshots

[⌊AgeOnce settings dashboard with setup checklist, OAuth credentials, redirect URL,
test connection, and first-run test guidance.⌉⌊AgeOnce settings dashboard with setup
checklist, OAuth credentials, redirect URL, test connection, and first-run test 
guidance.⌉[

AgeOnce settings dashboard with setup checklist, OAuth credentials, redirect URL,
test connection, and first-run test guidance.

[⌊Content Rules screen for selecting age groups (16+/18+/21+), product categories,
tags, and advanced taxonomies.⌉⌊Content Rules screen for selecting age groups (16
+/18+/21+), product categories, tags, and advanced taxonomies.⌉[

Content Rules screen for selecting age groups (16+/18+/21+), product categories,
tags, and advanced taxonomies.

[⌊WooCommerce checkout age gate — Place order stays blocked until the customer completes
AgeOnce verification.⌉⌊WooCommerce checkout age gate — Place order stays blocked
until the customer completes AgeOnce verification.⌉[

WooCommerce checkout age gate — Place order stays blocked until the customer completes
AgeOnce verification.

[⌊Restricted content gate for posts and pages that require age verification before
viewing.⌉⌊Restricted content gate for posts and pages that require age verification
before viewing.⌉[

Restricted content gate for posts and pages that require age verification before
viewing.

## Installation

 1. Install the plugin from WordPress.org or upload the `age-verification-with-ageonce`
    folder to `/wp-content/plugins/`
 2. Activate the plugin through the “Plugins” menu in WordPress
 3. Go to AgeOnce in the admin menu
 4. Create or open your AgeOnce account and add the WordPress Redirect URL to your 
    AgeOnce OAuth settings
 5. Enter your AgeOnce Client ID and Client Secret in WordPress
 6. Configure content rules for WooCommerce products, categories, tags, posts, pages,
    or custom post types
 7. Enable AgeOnce verification and save changes

## FAQ

### Where do I find the full install guide and setup video?

On the [AgeOnce WordPress age verification page](https://www.ageonce.com/wordpress-age-verification):
install steps, OAuth, content rules, free plan, and the 90-second WooCommerce walkthrough.

### Does WooCommerce include an official built-in age gate?

No. WooCommerce does not ship a native age-requirement feature. Store owners must
add their own checkout or content checks for restricted products. This plugin is
one way to do that with privacy-first verification and order audit fields.

### Is this just an age popup?

No. AgeOnce is designed for stores that need more than a basic self-declaration 
popup. The plugin starts a secure AgeOnce verification flow, returns the visitor
to your site, and can store verification status for checkout and order records.

### Do I need an AgeOnce account?

Yes. You need an AgeOnce account to obtain the Client ID and Client Secret used 
by the secure verification flow.

### Can I use AgeOnce for free?

Yes. The free plan includes **100 verifications per month** with no credit card.
Install the plugin, connect your site, and test real checkout or content gating 
before upgrading. Details: [WordPress age verification](https://www.ageonce.com/wordpress-age-verification).

### Can I protect only selected WooCommerce products?

Yes. You can require age verification for individual products, selected product 
categories, selected product tags, or other configured taxonomy rules.

### Does AgeOnce block checkout automatically?

Yes. If the cart contains a restricted product and the customer is not verified,
the plugin shows an age verification prompt and prevents checkout until verification
is complete.

### Can I require age verification before customers create a store account?

Yes. In AgeOnce Settings, open **WooCommerce customer signup** and enable signup
verification (off by default). Guests must complete AgeOnce verification on the 
My Account registration form before they can create a store account. You can choose
a minimum age of 16+, 18+, or 21+.

### Can I run my own code after a successful verification?

Yes, from plugin version 1.0.9. The `ageonce_verification_completed` action passes
the WordPress user ID (0 if the visitor is not logged in), transaction ID, minimum
age, and whether the check happened at checkout, signup, or on content. Use it for
a custom role. Do not use it to unlock paid memberships; grant those after WooCommerce
payment.

### Does it save verification proof on orders?

Yes. When checkout is completed after verification, the plugin can save the AgeOnce
verification status, transaction ID, and timestamp on the WooCommerce order.

### Does it work without WooCommerce?

The plugin loads without WooCommerce, but checkout and customer signup protection
require WooCommerce. Content protection (posts, pages) works independently.

### Can I restrict content by category?

Yes. In Content Rules, expand a post type (e.g., Posts) and select categories/tags
that require verification for each age group (16+, 18+, 21+).

### What data is sent to AgeOnce?

When a visitor clicks “Verify Age”, the browser is redirected to AgeOnce with your
OAuth client ID, redirect URI, state value, and required minimum age. After verification,
the plugin exchanges the returned authorization code with AgeOnce through a server-
to-server API request.

### Does this replace legal advice?

No. AgeOnce helps enforce age verification rules on your WordPress or WooCommerce
site, but requirements vary by country, state, product type, and business model.
Review your local compliance requirements before selling age-restricted products.

## Reviews

![](https://secure.gravatar.com/avatar/d683ab42dda42d25c328c62ebb6c2703c544bc584e83ab236a30c51dfac95d5d?
s=60&d=retro&r=g)

### 󠀁[Exactly what I was looking for](https://wordpress.org/support/topic/exactly-what-i-was-looking-for-648/)󠁿

 [kalfimov](https://profiles.wordpress.org/kalfimov/) July 13, 2026

I recently used this plugin for a WooCommerce website I was building for a client,
and it turned out to be exactly what I was looking for. The setup was straightforward,
the verification flow works well, and it integrates nicely without making the checkout
experience confusing. It solved our age verification requirements without adding
unnecessary complexity. Overall, a great solution if you need reliable age verification
for a WordPress or WooCommerce site. Highly recommended!

![](https://secure.gravatar.com/avatar/5f6ad805de113e5b1b83ac42893c7cacc9cb70f9451ef068be1d7a6518d7b810?
s=60&d=retro&r=g)

### 󠀁[Fixed ID Reconaized](https://wordpress.org/support/topic/completely-unusable-id-verification-system-misleading-and-non-functional/)󠁿

 [alf1993](https://profiles.wordpress.org/alf1993/) July 8, 2026 1 reply

I'd like to update my previous review. Although I had a frustrating experience at
the beginning, I want to recognize the excellent support provided by the Age Once
Verify team. They responded quickly to my concerns, processed my refund promptly,
and, most importantly, worked to improve their service based on the issues I reported.
Customer support makes a big difference, and I truly appreciate how seriously they
took my feedback. Because of their professionalism and commitment to improving the
platform, I would definitely consider using Age Once Verify again in the future.
Thank you to the entire Age Once Verify team for acting so quickly and for your 
dedication to making the service better. I wish you continued success.

![](https://secure.gravatar.com/avatar/2ddf082fc450efbabf7113dd6a1d41ce71c10e3d4982b1db34f8845c8d3708db?
s=60&d=retro&r=g)

### 󠀁[Clean setup and useful for WooCommerce age checks](https://wordpress.org/support/topic/clean-setup-and-useful-for-woocommerce-age-checks/)󠁿

 [zerotor1](https://profiles.wordpress.org/zerotor1/) April 25, 2026

Used on a small WooCommerce shop. Main flow works: restricted products require verification,
normal products are unaffected. The latest admin updates made a big difference (
especially Content Rules and connection testing). Documentation helped too. Initial
setup still takes a few minutes, but overall this is one of the cleaner age-verification
plugins we tried.

 [ Read all 3 reviews ](https://wordpress.org/support/plugin/age-verification-with-ageonce/reviews/)

## Contributors & Developers

“AgeOnce Age Verification for WooCommerce” is open source software. The following
people have contributed to this plugin.

Contributors

 *   [ ageonce ](https://profiles.wordpress.org/ageonce/)

[Translate “AgeOnce Age Verification for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/age-verification-with-ageonce)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/age-verification-with-ageonce/),
check out the [SVN repository](https://plugins.svn.wordpress.org/age-verification-with-ageonce/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/age-verification-with-ageonce/)
by [RSS](https://plugins.trac.wordpress.org/log/age-verification-with-ageonce/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.9

 * Add the `ageonce_verification_completed` action after a successful verification,
   including the WordPress user ID when the visitor is logged in.
 * Store verification on the logged-in WordPress user so a later checkout, signup,
   or content view for the same age does not require another check.
 * Remember the age threshold that was passed, so an 18+ verification does not satisfy
   a 21+ rule.

#### 1.0.8

 * Optional WooCommerce customer signup age gate (disabled by default): block store
   account creation on My Account until AgeOnce verification, with a configurable
   minimum age (16+/18+/21+).
 * Fix: keep age verification for guest visitors after OAuth return (always set 
   verification cookie, start WooCommerce customer session when needed, and check
   session or cookie everywhere).
 * Readme: document checkout, optional signup gate, guest verification, and related
   FAQ.

#### 1.0.7

 * Readme: primary CTA to AgeOnce.com WordPress landing (setup video + free plan);
   clarify WooCommerce has no native age gate; FAQ for install guide; screenshots
   stay in the Screenshots section only. No code changes.

#### 1.0.6

 * Readme: shorten short description to WordPress.org 150-character limit; add setup
   demo YouTube video and screenshots near the top of the Description section. No
   code changes.

#### 1.0.5

 * Readme: reduce Tags to 5 (WordPress.org limit). Same description as 1.0.4.

#### 1.0.4

 * Readme: clearer WooCommerce and privacy-first summary, free-tier hook (100 verifications/
   month, no card), expanded plugin tags, and added compliance context (UK Online
   Safety Act, US state laws, EU DSA, FDA PACT). No code changes.

#### 1.0.3

 * Category rules now match descendant terms (e.g. a parent category in Content 
   Rules applies to products assigned only to a child category, including checkout).

#### 1.0.2

 * Improved the first-run admin experience with a setup checklist, connection testing,
   automatic credential saving after a successful test, and clearer toast notifications.
 * Redesigned Content Rules with a quick-start guide, recommended versus advanced
   taxonomy groups, selected-item counters, and clearer control explanations.
 * Updated WordPress.org screenshots and plugin copy to better explain setup, free
   plans, documentation, and WooCommerce/content restriction flows.

#### 1.0.1

 * WordPress.org review: document external services in readme; sanitize nested content
   rules; align text domain with plugin slug; validate OAuth state (nonce) and redirect
   URL on callback; harden metabox saves with capability checks.

#### 1.0.0

 * Initial release for WordPress.org
 * WooCommerce checkout protection
 * Content rules by post type and taxonomy
 * Manual locking via metabox
 * Product-level age verification

## Meta

 *  Version **1.0.9**
 *  Last updated **1 week ago**
 *  Active installations **10+**
 *  WordPress version ** 5.0 or higher **
 *  Tested up to **6.9.9**
 *  PHP version ** 7.4 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/age-verification-with-ageonce/)
 * Tags
 * [age gate](https://vec.wordpress.org/plugins/tags/age-gate/)[age verification](https://vec.wordpress.org/plugins/tags/age-verification/)
   [alcohol](https://vec.wordpress.org/plugins/tags/alcohol/)[vape](https://vec.wordpress.org/plugins/tags/vape/)
   [woocommerce](https://vec.wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://vec.wordpress.org/plugins/age-verification-with-ageonce/advanced/)

## Ratings

 4.3 out of 5 stars.

 *  [  2 5-star reviews     ](https://wordpress.org/support/plugin/age-verification-with-ageonce/reviews/?filter=5)
 *  [  0 4-star reviews     ](https://wordpress.org/support/plugin/age-verification-with-ageonce/reviews/?filter=4)
 *  [  1 3-star review     ](https://wordpress.org/support/plugin/age-verification-with-ageonce/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/age-verification-with-ageonce/reviews/?filter=2)
 *  [  0 1-star reviews     ](https://wordpress.org/support/plugin/age-verification-with-ageonce/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/age-verification-with-ageonce/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/age-verification-with-ageonce/reviews/)

## Contributors

 *   [ ageonce ](https://profiles.wordpress.org/ageonce/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/age-verification-with-ageonce/)