Dashboard

Theme App Extension Setup

This guide explains how to enable and configure each VerifyHuman widget through the Shopify theme editor. No code editing is required — everything is managed through the theme editor UI.


Overview: App Embeds vs App Blocks

Shopify theme extensions come in two forms:

Type How It Works VerifyHuman Components
App Embeds Injected globally into the <head> of every page. Toggled on/off from the App Embeds panel. Age Gate, Human Check, Checkout ID
App Blocks Added to specific sections on specific page templates. Placed manually where you want them. Identity Verification

Understanding this distinction is important:


Enabling App Embeds

How to Access App Embeds

  1. From your Shopify admin, go to Online Store > Themes.
  2. Click Customize on your active theme.
  3. In the theme editor, look at the left sidebar.
  4. Scroll down and click App embeds (it may appear at the bottom of the sidebar, or under a gear/settings icon depending on your theme).
  5. You will see the available VerifyHuman embeds listed. Toggle each one on or off.
  6. Click Save after making changes.

Age Gate (App Embed)

Name in theme editor: VerifyHuman — Age Gate

This embed adds a full-page age verification overlay to your store. Visitors must confirm their age (and optionally complete selfie verification) before accessing content.

Settings

Setting Description Default
Enable Age Verification Master toggle for the age gate Enabled
Apply Age Gate To Where verification is required (see trigger modes below) Entire Store
Product Tag Tag to match when using "Products with Specific Tag" mode age-restricted
Collection Tag Tag to match when using "Collections with Specific Tag" mode age-restricted
Page Handles Comma-separated page handles for "Specific Page Handles" mode (empty)
Minimum Age Required age (range: 18–25) 18
Use Case Content category: Adult, Tobacco, Alcohol, Cannabis, Gambling Adult
Require Selfie Verification Whether users must take a selfie after confirming age Enabled
Session Mode Guest (session-based) or Profile (customer account) Guest
Redirect URL for Underage Users Where to send users who click "No" google.com
Session Duration How long verification is remembered (1 hour to 1 week) 24 hours
Custom Message Optional text displayed on the verification overlay (empty)
Logo Optional logo image for the verification overlay (none)

Trigger Modes

The Apply Age Gate To setting controls where the age gate appears:


Human Check (App Embed)

Name in theme editor: VerifyHuman — Human Check

This embed adds bot detection to forms across your store. It loads the verification widget on pages that contain forms you want to protect.

Settings

Setting Description Default
Enable Human Verification Master toggle for bot protection Enabled
Protect Signup/Registration Forms Require verification on customer registration pages Disabled
Protect Review Forms Require verification on product review forms Disabled
Protect Contact Forms Require verification on contact page forms Disabled
Protect All Forms (Site-wide) Load verification on all pages Disabled
Show Verified Badge Display a badge after successful verification Enabled
Enable Debug Mode Show console logs for troubleshooting form detection Disabled

At least one form protection option must be enabled for the widget to load.

Advanced: Custom Form Selectors

If your theme uses custom form IDs or classes that differ from standard Shopify themes, you can override the default CSS selectors:

Setting Default Selectors
Signup Form Selector #create_customer, form[action*="/account"], .customer-form, [data-customer-form]
Reviews Form Selector .product-review-form, #review-form, .spr-form, .stamped-form, .jdgm-form, [data-review-form]
Contact Form Selector #contact-form, .contact-form, form[action*="/contact"], [data-contact-form]

Only change these if the widget is not detecting your theme's forms. Use comma-separated CSS selectors.


Checkout ID (App Embed)

Name in theme editor: VerifyHuman — Checkout ID

This embed intercepts the checkout process and requires identity verification before customers can complete their purchase. It works with standard checkout as well as accelerated checkout methods (Shop Pay, Apple Pay, Google Pay) when combined with the cart checkout validation function extension.

Settings

Setting Description Default
Enable Pre-Checkout Identity Verification Master toggle for checkout identity guard Disabled
Require for All Checkouts Every checkout requires identity verification Disabled
Product Tag Only require verification for products with this tag vh_requires_idv
Hide Express Checkout Buttons Hide Shop Pay, Apple Pay, Google Pay until verified Enabled
Show Verified Badge Display a green checkmark next to checkout when verified Enabled
Encourage Account Creation Prompt guests to create an account to save verification Enabled
Dialog Title Title text for the verification dialog "Identity Verification Required"
Dialog Message Message text in the verification dialog "Please verify your identity before checkout..."
Button Text Text on the verification button "Verify Identity & Checkout"

How It Detects Restricted Products

The checkout guard checks each item in the cart using two methods:

  1. Product metafield: verifyhuman.requires_idv set to true
  2. Product tag: The tag configured in settings (default: vh_requires_idv)

If any item in the cart matches either condition (or if "Require for All Checkouts" is enabled), the verification dialog appears.

Returning Customer Verification

For logged-in customers, the widget checks:

If a customer is already verified and the verification has not expired, they can proceed to checkout without re-verifying.


Adding App Blocks

Identity Verification (App Block)

Name in theme editor: Identity Verification

This block renders a verification button that customers click to start the identity verification flow. Unlike app embeds, you place this block exactly where you want it to appear — on a product page, a custom page, or any section that supports app blocks.

How to Add the Block

  1. From your Shopify admin, go to Online Store > Themes > Customize.
  2. In the theme editor, navigate to the page template where you want the verification button (e.g., a product page).
  3. Find the section where you want to place the button.
  4. Click + Add block within that section.
  5. In the block picker, look under Apps for Identity Verification.
  6. Click it to add it to the section.
  7. Configure the block settings as needed.
  8. Click Save.

Settings

Setting Description Default
Show Introduction Display a title and description above the button Enabled
Title Heading text above the button "Identity Verification Required"
Description Description text below the title "Please verify your identity to continue..."
Button Text Text on the verification button "Verify My Identity"
Button Color Color of the verification button #0d9488 (teal)
Redirect After Success Optional URL to redirect to after successful verification (none)
Custom Message Optional message displayed during verification (empty)

Common Placement Scenarios


Verifying Your Setup

After enabling widgets:

  1. Open your storefront in a private/incognito browser window (to avoid cached states).
  2. Check that the enabled features appear as expected:
    • Age Gate: A full-page overlay should block access until age is confirmed.
    • Human Check: Forms should show verification before submission.
    • Identity Verification block: The verification button should appear where you placed it.
    • Checkout ID: The verification dialog should appear when proceeding to checkout with restricted items.
  3. Open your browser's developer console (F12) and check for any [VerifyHuman] messages.

Common Issues

"App URL metafield not set" warning in console

The shop metafield verifyhuman.app_url has not been configured. This is set automatically when the app is installed and settings are saved. Try saving your settings from the VerifyHuman dashboard, or reinstall the app.

Widgets not appearing in theme editor

Age gate not triggering on specific products

Human Check not detecting forms


Next Steps