Settings Reference
Complete reference for every VerifyHuman setting available in the Shopify dashboard and the Theme Editor.
Dashboard Settings
All dashboard settings are accessible from the Settings page inside the VerifyHuman app (Shopify Admin > Apps > VerifyHuman > Settings).
API Configuration
| Setting | Type | Default | Description |
|---|---|---|---|
| VerifyHuman API Key | Password field | _(none)_ | Your VerifyHuman API key. Stored encrypted on the server. Required for all verification features to function. Obtain from verifyhuman.io/dashboard. |
Verification Mode
| Setting | Type | Default | Options | Description |
|---|---|---|---|---|
| App Mode | Selection | simple |
Simple, Advanced | Simple Mode uses a single "minimum level" setting. Advanced Mode gives granular control over each verification type independently. |
Simple Mode Settings
These settings appear when App Mode is set to Simple (recommended for most stores).
| Setting | Type | Default | Options | Description |
|---|---|---|---|---|
| Minimum Required Level | Select | 2 (L2) |
L1 - Human Check, L2 - Age Verification, L3 - Identity Verification | The minimum verification level required for restricted products. |
| Age Threshold | Select | 21 |
18+, 21+, 25+ | The minimum age required for L2 Age Verification. |
| High-Value Cart Threshold | Number (USD) | _(empty / disabled)_ | Any positive number | When set, automatically upgrades to L3 Identity Verification if the cart total meets or exceeds this amount. Leave empty to disable. |
| Allow Guest Checkout for Restricted Items | Toggle | false |
On/Off | Allows guest (non-logged-in) customers to purchase age/identity-restricted items. Security warning: this provides defense-in-depth only and is not compliance-grade. |
Advanced Mode Settings
When App Mode is set to Advanced, you configure each verification type independently using the tabs below.
Age Gate Tab
| Setting | Type | Default | Options | Description |
|---|---|---|---|---|
| Age Verification (Enable) | Toggle | false |
On/Off | Master switch for the age gate feature. |
| Verification Mode | Select | guest |
Guest Mode (Session Only), Profile Mode (reserved) | Guest: stores verification in the browser session. Profile: reserved for a future update; currently behaves the same as Guest Mode. |
| Minimum Age | Number | 18 |
1 - 100 | The minimum age a customer must confirm or verify. |
| Use Case | Select | adult |
Adult Content (18+), Tobacco (21+), Alcohol (21+), Cannabis (21+), Gambling (18+/21+), Custom | Pre-configured use-case label displayed on the verification overlay. |
| Scope | Select | store |
Entire Store, Specific Collections, Specific Products | Determines which pages trigger the age gate. |
| Session Duration (Hours) | Number | 24 |
1 - 720 | How long a guest-mode verification remains valid before the customer must re-verify. |
| Require Selfie Verification | Toggle | true |
On/Off | When enabled, the customer must complete a selfie-based age check. When disabled, only an attestation ("I am of age") button is shown. |
| Underage Redirect URL | URL | _(empty, defaults to google.com)_ | Any valid URL | Where underage users are redirected after indicating they are not of legal age. |
| Custom Message | Text area | _(empty)_ | Free text | Optional message displayed on the age verification overlay. |
| Custom Logo URL | URL | _(empty)_ | Any image URL | Optional logo image displayed on the overlay. |
Identity Tab
| Setting | Type | Default | Options | Description |
|---|---|---|---|---|
| Identity Verification (Enable) | Toggle | false |
On/Off | Master switch for identity (KYC) verification. |
| Trigger Point | Select | pre_checkout |
Before Checkout, After Order (Email Link), Manual Trigger | When verification is requested: before the customer can check out, after the order via email, or triggered manually by a theme block button. |
| Verification Reuse (Days) | Number | 180 |
1 - 365 | How many days a successful identity verification can be reused before the customer must re-verify. |
| Custom Message | Text area | _(empty)_ | Free text | Optional message displayed on the identity verification modal. |
Human Check Tab
| Setting | Type | Default | Options | Description |
|---|---|---|---|---|
| Human Verification (Enable) | Toggle | false |
On/Off | Master switch for bot-detection / liveness verification on forms. |
| Signup Forms | Toggle | false |
On/Off | Protect customer registration forms. |
| Product Reviews | Toggle | false |
On/Off | Prevent fake product reviews from bots. |
| Contact Forms | Toggle | false |
On/Off | Protect contact and support forms from spam submissions. |
| Show Verified Badge | Toggle | true |
On/Off | Display a "Verified Human" badge after successful verification. |
Onboarding Wizard Settings
The onboarding wizard runs automatically on first install (or when onboardingCompleted is false). It sets the following:
| Setting | Where Set | Description |
|---|---|---|
| API Key | Step 1 | Connects the app to VerifyHuman. |
| Minimum Required Level | Step 2 | Chooses L1, L2, or L3. |
| Age Threshold | Step 3 | Sets 18+, 21+, or 25+ (shown when level >= L2). |
| High-Value Cart Threshold | Step 3 | Optional cart-total trigger for L3 upgrade. |
| Privacy Policy URL | Step 4 | Optional link for verification disclosures. |
After completing the wizard the app is placed in Simple Mode automatically.
System Diagnostics
The Diagnostics card on the Settings page runs four automated checks:
| Check | What It Verifies |
|---|---|
| App Installation | The shop record exists and is marked active. |
| API Key | A VerifyHuman API key is configured (encrypted). |
| Theme Metafield | The verifyhuman.app_url shop metafield is set so theme extension widgets can reach the app backend. |
| Feature Settings | At least one verification feature is enabled. |
If the metafield check fails, use the Repair Metafield button to automatically set it.
Theme Editor Settings
These settings are configured inside the Shopify Theme Editor (Online Store > Themes > Customize) under the App embeds or App blocks sections.
Age Gate Embed (App Embed)
Block name: VerifyHuman - Age Gate
Target: head (loads in the page <head>)
| Setting | Type | Default | Options | Description |
|---|---|---|---|---|
| Enable Age Verification | Checkbox | true |
On/Off | Master enable for the age gate embed. |
| Apply Age Gate To | Select | all_pages |
Entire Store (All Pages), Products with Specific Tag, Collections with Specific Tag, Specific Page Handles | Controls which pages trigger the age gate overlay. |
| Product Tag | Text | age-restricted |
Any tag string | When trigger mode is "Products with Specific Tag", products with this tag (case-insensitive) require verification. |
| Collection Tag | Text | age-restricted |
Any tag string | When trigger mode is "Collections with Specific Tag", collections with this tag require verification. |
| Page Handles | Text | _(empty)_ | Comma-separated handles | When trigger mode is "Specific Page Handles", only these page handles show the age gate. |
| Minimum Age | Range slider | 18 |
18 - 25 | The age threshold for verification. |
| Use Case | Select | adult |
Adult Content (18+), Tobacco (21+), Alcohol (21+), Cannabis (21+), Gambling (18+/21+) | Label context for the overlay. |
| Require Selfie Verification | Checkbox | true |
On/Off | Whether the customer must complete a selfie check or just attestation. |
| Session Mode | Select | guest |
Guest Mode (session-based), Profile Mode (reserved for future use) | Guest Mode stores verification in the browser session. Profile Mode is reserved for a future update. |
| Redirect URL for Underage Users | URL | _(empty, defaults to google.com)_ | Any URL | Redirect destination for users who click "No" / indicate they are underage. |
| Session Duration | Select | 24 hours |
1h, 6h, 12h, 24h, 2 days, 1 week | How long verification is remembered in guest mode. |
| Custom Message | Text | _(empty)_ | Free text | Optional text on the overlay. |
| Logo | Image picker | _(none)_ | Any image | Optional logo on the overlay. |
Checkout Identity Embed (App Embed)
Block name: VerifyHuman - Checkout ID
Target: head
| Setting | Type | Default | Options | Description |
|---|---|---|---|---|
| Enable Pre-Checkout Identity Verification | Checkbox | false |
On/Off | Master enable for checkout identity verification. |
| Require for All Checkouts | Checkbox | false |
On/Off | When enabled, every checkout requires identity verification regardless of products. |
| Product Tag | Text | vh_requires_idv |
Any tag string | Only products with this tag (or the verifyhuman.requires_idv metafield) require verification. |
| Hide Express Checkout Buttons | Checkbox | true |
On/Off | Hides Shop Pay, Apple Pay, Google Pay until the customer is verified (prevents checkout bypass). |
| Show Verified Badge | Checkbox | true |
On/Off | Shows a green checkmark badge next to checkout after verification. |
| Encourage Account Creation | Checkbox | true |
On/Off | Prompts guest customers to create an account so their verification persists. |
| Dialog Title | Text | Identity Verification Required |
Free text | Title shown in the verification dialog. |
| Dialog Message | Text area | Please verify your identity before checkout to complete your purchase. |
Free text | Body message in the dialog. |
| Button Text | Text | Verify Identity & Checkout |
Free text | CTA button label. |
Identity Block (App Block)
Block name: Identity Verification
Target: section (place anywhere in a template)
| Setting | Type | Default | Options | Description |
|---|---|---|---|---|
| Show Introduction | Checkbox | true |
On/Off | Whether to display a title and description above the button. |
| Title | Text | Identity Verification Required |
Free text | Heading text. |
| Description | Text area | Please verify your identity to continue with your purchase. |
Free text | Explanatory text below the title. |
| Button Text | Text | Verify My Identity |
Free text | CTA button label. |
| Button Color | Color picker | #0d9488 (teal) |
Any color | Background color of the verification button. |
| Redirect After Success | URL | _(empty)_ | Any URL | Optional URL to navigate to after successful verification. |
| Custom Message | Text | _(empty)_ | Free text | Optional message displayed during the verification flow. |
Human Check Embed (App Embed)
Block name: VerifyHuman - Human Check
Target: head
| Setting | Type | Default | Options | Description |
|---|---|---|---|---|
| Enable Human Verification | Checkbox | true |
On/Off | Master enable for bot detection. |
| Protect Signup/Registration Forms | Checkbox | false |
On/Off | Require verification on customer registration forms. |
| Protect Review Forms | Checkbox | false |
On/Off | Require verification on product review forms. |
| Protect Contact Forms | Checkbox | false |
On/Off | Require verification on contact page forms. |
| Protect All Forms (Site-wide) | Checkbox | false |
On/Off | Load verification on every page. Use custom selectors to target specific forms. |
| Show Verified Badge | Checkbox | true |
On/Off | Display a badge after successful verification. |
| Enable Debug Mode | Checkbox | false |
On/Off | Outputs console logs to help troubleshoot form detection issues. |
| Signup Form Selector | Text | _(empty, uses built-in defaults)_ | CSS selector(s) | Override the default CSS selectors for signup forms. |
| Reviews Form Selector | Text | _(empty, uses built-in defaults)_ | CSS selector(s) | Override the default CSS selectors for review forms. |
| Contact Form Selector | Text | _(empty, uses built-in defaults)_ | CSS selector(s) | Override the default CSS selectors for contact forms. |
Default form selectors (used when custom selectors are empty):
| Form Type | Default Selectors |
|---|---|
| Signup | #create_customer, form[action*="/account"], .customer-form, [data-customer-form] |
| Reviews | .product-review-form, #review-form, .spr-form, .stamped-form, .jdgm-form, [data-review-form] |
| Contact | #contact-form, .contact-form, form[action*="/contact"], [data-contact-form] |
Database-Only Settings
These settings exist in the database schema but are not directly exposed in the dashboard UI. They are set programmatically or through onboarding:
| Setting | Type | Default | Description |
|---|---|---|---|
privacyPolicyUrl |
URL | _(null)_ | Link to your store's privacy policy, shown in verification disclosures. Set during onboarding or via API. |
termsUrl |
URL | _(null)_ | Link to your terms of service. |
onboardingCompleted |
Boolean | false |
Whether the onboarding wizard has been completed. When false, the wizard is shown on first visit. |
agegateRestrictedCollections |
JSON array | [] |
List of collection IDs for scope-based age gating. |
agegateRestrictedProducts |
JSON array | [] |
List of product IDs for scope-based age gating. |
identityRequiredProducts |
JSON array | [] |
List of product IDs requiring identity verification. |