オンラインショップでは、お酒やタバコなど、年齢制限が課せられている商品を扱うケースがあります。こうした商品を販売する際、法律上もショップの信頼性向上の観点からも、確実な年齢確認が非常に重要です。そこで活躍するのが、生年月日に応じた年齢確認アプリです。
生年月日を入力してもらうことで、未成年者による購入を防ぎ、法的コンプライアンスを遵守しながら安全に販売を行うことができます。また、年齢確認を適切に導入していないと、後々トラブルが発生する恐れがあります。法令に対する対応だけでなく、適切な年齢確認のフローを整備することで、ブランドの信頼感や顧客体験の向上にもつながります。
今回の記事では、Shopify アプリストアで提供されている代表的な 8 つの「生年月日に応じた年齢確認アプリ」を紹介し、それぞれの特徴や料金、さらには簡単なコーディング実装例についても解説します。
今回は、以下の記事を参考にしています。
生年月日に応じた年齢確認アプリを導入すると、以下のようなメリットがあります。
コンプライアンス(法令遵守)の強化
お酒やタバコなど、販売に年齢制限がある商品を取り扱う場合、法令違反を防ぐためには明確な年齢確認が不可欠です。アプリを利用することで、スムーズかつ正確に年齢確認のフローを実装し、コンプライアンスを強化できます。
ブランドの信頼性向上
年齢制限が求められる商品を安全に販売している、という姿勢を示すことで、顧客や取引先からの信頼を高めることができます。
トラブルやリスクの軽減
未成年による誤購入や不正購入を防止することで、後々のトラブルを未然に防ぐことができます。
購入時の不安の解消
年齢確認プロセスが明確であれば、適切な場面でのみチェックを行えるため、ユーザーにとっては安心感のあるショッピング体験となります。
購入制限の柔軟化
商品ごとに年齢確認が必要かどうかを切り分けられるため、全商品に一律で年齢確認をかける必要がなく、購入体験の煩雑さを最小化できます。
データを活用したマーケティング
年齢層ごとの購買データを取得し、商品開発やキャンペーン、マーケティング戦略の立案に活かすことができます。
顧客満足度の向上
法令をしっかり守りながらビジネスを行っているショップという安心感を与えられるため、リピート購入や口コミ向上にも期待できます。
導入・設定が容易
多くの年齢確認アプリでは、専門的な知識がなくても簡単に導入や設定が行えます。加えて、事業規模に合わせたプランも用意されていることが多いです。
多言語対応・デザインカスタマイズ
日本語はもちろん、英語など複数言語に対応しているアプリもあります。デザインのカスタマイズが柔軟に行えるため、ストアのブランディングを損なわずに年齢確認を導入可能です。
年齢確認アプリを選ぶときに着目すべきポイントは以下のとおりです。
導入のしやすさ・設定のしやすさ
コードの編集を行わなくても、管理画面から簡単に設定できるかどうか。
商品ごとの設定可否
商品ごとに年齢制限をかけられるか。また、特定の商品にだけ年齢確認を表示・非表示にできるか。
デザイン・UI のカスタマイズ性
ポップアップや画面表示などをストアのデザインに合わせて調整できるかどうか。
法令対応機能
生年月日入力や ID チェックなど、法令遵守のための機能が十分に備わっているか。
日本語サポートの有無
日本語でのサポートや日本語のドキュメントがあると、トラブルシューティングが容易になります。
料金プラン・コスト
月額料金や取引ごとの手数料が自社の予算に合うか。機能制限があるか、無料期間があるかなど。
これらの基準を踏まえて、最適な年齢確認アプリを選んでみてください。
ここからは、Shopify アプリストアで公開されている年齢確認アプリ 8 つをピックアップし、それぞれの特徴や料金プランを紹介します。加えて、アプリ導入時のシンプルなコーディング例も載せていますので、参考にしてみてください。
「商品ごとに生年月日に応じた年齢確認ができる」「日本語対応」「法的要件を満たす高速・軽量なアプリ」
以下は、商品ページに「生年月日を入力させるフォーム」を追加し、入力内容を line_item.properties
に保存しておくためのサンプルコードです。
<!-- product.liquid の一例 -->
{% if product.tags contains 'require_age_verification' %}
<form action="/cart/add" method="post" id="age-verification-form">
<input type="hidden" name="id" value="{{ product.selected_or_first_available_variant.id }}">
<!-- 生年月日入力フィールド -->
<label for="dob">生年月日</label>
<input type="date" name="properties[生年月日]" id="dob" required>
<!-- 購入ボタン -->
<button type="submit">カートに入れる</button>
</form>
<script>
document.getElementById('age-verification-form').addEventListener('submit', function(event) {
const dob = document.getElementById('dob').value;
// 例: 20歳未満ならアラートを出して送信を止める
const ageLimit = 20;
const inputYear = parseInt(dob.split('-')[0]);
const currentYear = new Date().getFullYear();
if((currentYear - inputYear) < ageLimit) {
alert('未成年の方は購入できません。');
event.preventDefault();
}
});
</script>
{% else %}
<!-- 通常の購入ボタン -->
<form action="/cart/add" method="post">
<input type="hidden" name="id" value="{{ product.selected_or_first_available_variant.id }}">
<button type="submit">カートに入れる</button>
</form>
{% endif %}
実際には、アプリを導入すると、管理画面からこのようなコードを自動挿入したり、ウィジェットとしてポップアップ表示を行ったりできます。
以下の URL からインストールできます。
無料で使えるシンプルな年齢確認ポップアップアプリ。生年月日入力にも対応。
Blockify はコーディング不要で導入できるのが魅力ですが、もし独自要件で特定ページだけに年齢確認を挿入したい場合は、テーマ内に以下のような条件分岐を追加することがあります。
<!-- theme.liquid の一例 -->
{% if template == 'collection' and collection.title contains 'アルコール' %}
<!-- Blockifyのポップアップを呼び出すスクリプト -->
<script src="{{ 'blockify-age-verification.js' | asset_url }}"></script>
{% endif %}
実際には管理画面で「表示するページ」を指定するだけで十分ですが、カスタマイズしたい場合は上記のようにすることもあります。
豊富な言語サポートが特徴。世界中の言語に対応し、生年月日確認機能も搭載。
AVP も基本的に管理画面での設定だけで事足りますが、手動で「18 歳以上だけ特定ページを表示する」ケースなどでは、Liquid 条件を使う場合があります。
<!-- example.liquid -->
{% if customer && customer.tags contains '18_verified' %}
<!-- このお客様は既に年齢認証済み -->
<div>年齢認証済みのコンテンツを表示します</div>
{% else %}
<!-- AVPのポップアップを表示させる仕組み -->
<div id="avp-verification-popup"></div>
<script>
// AVPのスクリプト読み込み等
</script>
{% endif %}
無料プランあり。ストアのエントリー時、またはチェックアウト時に年齢確認を実行可能。
NA Age Verification は、cart.liquid
や checkout.liquid
手前でポップアップを表示することができます。たとえば、カートページで年齢未確認の場合はチェックアウトボタンを無効化する実装イメージは以下の通りです。
<!-- cart.liquid -->
{% if customer && customer.tags contains 'adult_verified' %}
<!-- 通常のチェックアウトボタン -->
<button type="submit" class="btn">チェックアウトに進む</button>
{% else %}
<!-- 年齢確認がまだの場合、ポップアップ誘導へ -->
<button type="button" class="btn disabled" onclick="showNaAgeVerificationPopup()">チェックアウトに進む</button>
{% endif %}
<script>
function showNaAgeVerificationPopup() {
alert('年齢確認が必要です。');
// NA Age Verification のポップアップを呼び出すスクリプトなど
}
</script>
無料プランあり。ブラックフライデー等の大型セールでも活用できる安心の年齢確認アプリ。
Mega Age Verification はフロント側でポップアップを提供しますが、特定の商品タグを持つ商品ページにだけフォームを出したい場合など、次のようなコードで制御可能です。
{% if product.tags contains 'adult_item' %}
<!-- Mega Age Verification をカスタムで呼び出す例 -->
<div id="mega-age-verification-popup"></div>
<script>
// Mega Age Verificationのスクリプトを動かすための初期化など
// 例: window.megaAgeVerification.init({ popup: true });
</script>
{% endif %}
無料で使えるシンプルな年齢確認ポップアップ。最小限の設定で導入可能。
Smart Age Verification でも基本はコード不要ですが、もし特定のボタンのみ無効化したい場合、下記のように実装できます。
<!-- collection.liquid -->
{% if collection.title contains 'タバコ' %}
<button disabled>カートに入れる</button>
<script>
alert('タバコの商品は年齢確認が必要です。');
// Smart Age Verification のポップアップを開く関数を呼び出すなど
</script>
{% else %}
<button>カートに入れる</button>
{% endif %}
「複数のポップアップテンプレート」を用意。Yes/No、DOB 入力など多彩な確認方法をカバー。
K: Age Verification もポップアップ型で完結しますが、あえて Liquid 上で細かい制御をするときは以下のように書く場合があります。
<!-- theme.liquid -->
<script>
// すでに年齢確認を済ませたフラグがあるかどうかチェック
var isVerified = sessionStorage.getItem('k_age_verified');
if(!isVerified) {
// K: Age Verification のポップアップを表示させる
}
</script>
「購入時に名前・住所や SSN などで自動的に年齢認証を行い、顧客の離脱を抑えるハイエンドなアプリ」
BlueCheck は自動的にチェックアウト情報を使うため、基本的には実装不要。ただし、商品タグで年齢確認の対象を絞りたい場合は、以下のようにタグ条件を付与します。
<!-- cart.liquid -->
{% for item in cart.items %}
{% if item.product.tags contains 'restricted' %}
<!-- BlueCheck の年齢確認ステータスが無い場合はチェックアウトをブロック -->
{% unless customer && customer.tags contains 'bluecheck_verified' %}
<script>
alert('年齢確認が必要な商品が含まれています。');
</script>
{% endunless %}
{% endif %}
{% endfor %}
上記 8 つのアプリの主な料金プランを、文字で簡単にまとめます。
料金や機能は各アプリで異なるので、事業規模や必要機能に応じて選択してみてください。
本格的に年齢確認アプリを導入する際、英語のサポートが難しいという場合もあるでしょう。日本語サポートの有無を簡単にまとめます。
日本語サポートが重要な方は「シンプル生年月日に応じた年齢確認アプリ」や「AVP」を検討するとよいでしょう。
初心者でも使いやすいものを求めるのであれば、ポップアップ型でシンプルに導入できるアプリが最適です。特に「Blockify Age Verification 18+」「Smart Age Verification」「K: Age Verification Popup 18+」などは、導入手順が非常に簡単で、無料から試せる点も魅力的です。
一方、BlueCheck のようにチェックアウト情報を自動照合するハイエンドなアプリは、価格は高めですが、年齢確認が厳格に実行されるため大手企業でも多く利用されています。
今回は、Shopify で生年月日に応じた年齢確認を行うための 8 つのアプリを紹介しました。法的リスクの回避、ブランドイメージの向上、そして安心安全なショッピング体験の提供といった観点から、年齢確認は非常に重要な機能です。
どのアプリを導入するかお悩みの方は、無料プランや体験期間を活用しながら、ストアのコンセプトや扱う商品の属性に合ったアプリを選んでみてください。日本語サポートの有無やデザインのカスタマイズ性なども合わせて検討すると、より満足のいく導入ができるでしょう。
ここまでご覧いただき、誠にありがとうございました。実装の際に困ったことがあれば、ぜひご紹介したコーディング例や公式ドキュメントを参考にしてみてください。
以下の記事を参考にしています。