ガイド

Webサイトにクッキー同意を追加する方法

クッキー同意を追加するには、まずサイトが訪問者のブラウザに何を保存しているかを洗い出し、厳密に必要なものと任意のものに分類します。次に、同意管理プラットフォーム(CMP)を使うか自作するかして、アナリティクスや広告ピクセルのような任意のスクリプトを、利用者が承認するまでブロックするバナーを追加します。「承認」と同じくらい「拒否」を簡単にし、選択を記憶し、あとから利用者が変更できるようにしてください。表示されるだけで何もブロックしないバナーでは、役目を果たしません。

このガイドは、同意バナーの技術的な仕組みに関する一般的な情報であり、法的助言ではありません。プライバシーのルールは国によって異なり、変わることもあります。訪問者に適用されるルールを確認するか、専門家に相談してください。

何に同意が必要か(一般的な説明)

クッキーのルールは、通常はクッキーだけでなく、localStorage、トラッキングピクセル、デバイスフィンガープリンティングなどの類似の技術も対象にします。EUと英国のガイダンスに基づく、一般的な分類は次のとおりです。

種類例通常、同意が必要か
厳密に必要なものログインのセッション、ショッピングカート、セキュリティや負荷分散のクッキー、同意の選択そのものの記憶一般に不要
設定記憶された言語やテーマEUでは、利用者が求めたものでない限り、多くの場合必要。英国では一部の例外が追加された
アナリティクスGoogle Analytics、ヒートマップ、セッション録画EUでは一般に必要。英国では、集計された、サービス改善のためのアナリティクスに限った例外がある
マーケティング広告ピクセル(Meta、Google広告、TikTok)、リターゲティング、埋め込みのSNSウィジェットEUと英国では必要

間違えやすい点をいくつか挙げます。

  • EUと英国はオプトイン方式を採用しています。任意のクッキーは、訪問者が同意するまで待たされます。英国のICOなどの規制当局のガイダンスでは、同意は明確な積極的操作である必要があり、利用者が必須ではないクッキーを簡単に有効化・無効化できなければならないとされています。
  • 英国は2025年に変わりました。 Data (Use and Access) Act 2025では、自分のサイトを改善するためだけに使われ、個人を特定できない集計統計を生成するアナリティクスなど、一部のクッキーは同意なしに設定できるようになりました。利用者に明確に伝える義務があります。頼る前に、ICOの最新のガイダンスを読んでください。
  • 米国の複数の州は、ターゲティング広告のために個人データを「販売」または「共有」する場合にオプトアウト方式を採用しています。中には、ブラウザレベルのGlobal Privacy Control信号を尊重することを求めるものもあります。
  • Google広告:2026年9月時点で、AdSense、Ad Manager、AdMobを使うパブリッシャーは、EEA、英国、スイスで広告を配信する際に、IABのTransparency and Consent Frameworkと統合された、Googleが認定した同意管理プラットフォームを使う必要があります。

選択肢:CMP、ライブラリ、自作

選択肢向いている用途注意点
同意管理プラットフォーム(CMP):Cookiebot、OneTrust、Usercentrics、CookieYesなどのホスト型サービスサードパーティのタグが多いサイト、広告収益があるサイト、複数の地域を対象とするサイト月額費用がかかる。さらにサードパーティのスクリプトが増える。デザインの自由度は低い
オープンソースの同意ライブラリすべてを書かずに、ある程度の制御をしたい開発者カテゴリとスクリプトのブロックは自分で設定する
自作のバナー任意のツールが1つか2つだけの単純なサイト(例:アナリティクスのみ)ブロックやログを含め、正しさは自分の責任
任意のクッキーを使わない厳密に必要なクッキーと、クッキーを使わないアナリティクスだけを使うサイトマーケティングツールは少なくなる。バナーが不要な場合もある

最後の選択肢は見落とされがちです。訪問者数だけが知りたいなら、クッキーを使わないアナリティクスツールで、多くの地域ではバナーの必要性をなくせます。ツールのドキュメントと、自分に適用されるルールを確認してください。

ヨーロッパでGoogle広告を運用しているなら、認定されたCMPを使うのが実践的な選択です。アナリティクスだけの小規模な事業サイトであれば、よく作られた自作バナーやライブラリで十分なことが多いです。

バナーの内部の仕組み

人がよく見落とすのはブロックです。正しい設定は次のとおりです。

  1. 何も選ばれる前は、必須のクッキーとスクリプトだけが動く。アナリティクス、ピクセル、埋め込みは一切読み込まれない(Googleタグの場合は、同意を拒否の状態にして読み込むこともある)。
  2. バナーは最初の画面で、「すべて承認」「すべて拒否」、そしてカテゴリごとに選べる方法という明確な選択肢を示す。
  3. 選択されたら、サイトはそれを保存する(通常はファーストパーティのクッキーかlocalStorageに、バージョンと日付を付けて)。そのうえで、承認されたカテゴリだけを読み込む。
  4. 次回以降の訪問では、任意のものが読み込まれる前に、保存された選択を読み取る。
  5. 「クッキー設定」リンク(通常はフッター)から、いつでも選択を開き直せるようにする。同意を取り消すのも、同意するのと同じくらい簡単であるべきです。
  6. 使っているものを変えた場合は、バージョンを上げて、利用者に再度確認する。

Googleの同意モード

GoogleアナリティクスとGoogle広告では、Googleの同意モードがタグとバナーを接続します。2026年9月時点のGoogleのドキュメントでは、主な同意の種類は4つあるとされています。ad_storage、analytics_storage、ad_user_data、ad_personalizationです。Googleのタグが読み込まれる前にデフォルトを設定し、利用者が選んだら更新を送ります。

gtag('consent', 'default', {
  ad_storage: 'denied',
  ad_user_data: 'denied',
  ad_personalization: 'denied',
  analytics_storage: 'denied'
});
// 利用者がアナリティクスのみを承認したとき:
gtag('consent', 'update', { analytics_storage: 'granted' });

Googleは、同意があるまでタグを読み込まない基本の実装と、同意が拒否された状態でタグを読み込み、クッキーを使わない信号を送る高度の実装を説明しています。基本の方が、動作を理解しやすくシンプルです。EEAからのトラフィックについては、Googleはad_user_dataとad_personalizationの信号を送ることを求めています。タグ自体の設定については、Google Analyticsの設定方法を参照してください。

うまくいくプロンプト

クッキー同意バナーを追加して。カテゴリは、必須(常にオン)、アナリティクス(Google Analytics 4)、マーケティング(Metaピクセル)。アナリティクスとマーケティングのものは、同意の前には一切読み込まないで。最初の画面に「すべて承認」「すべて拒否」「カスタマイズ」を同じ目立ち方で表示して。選択はバージョン番号と日付を付けて、ファーストパーティのクッキーに6か月間保存し、承認されたカテゴリだけを読み込んで。フッターに「クッキー設定」リンクを追加し、バナーを開き直せるようにして。Googleの同意モードを使い、4つの種類すべてのデフォルトを拒否にして。

このサイトが使っているすべてのクッキー、localStorageのキー、サードパーティのスクリプトを、どのページが読み込むか、厳密に必要かどうかとともに一覧にして。クッキーポリシーに使える表として出力して。

「/about」にあるYouTubeの埋め込みは、同意の前に読み込まれている。それらをサムネイルと再生ボタンに置き換えて、訪問者がクリックしたあとにだけ動画が読み込まれるようにし、YouTubeがクッキーを設定することがある旨の注記を表示して。

手順

  1. 監査する。 新規の訪問で、DevToolsのApplication → Cookies、Local Storageを開き、Networkタブでサードパーティへのリクエストを確認します。埋め込みやチャットウィジェットも含めてください。
  2. 分類する。 各項目を、必須、設定、アナリティクス、マーケティングに分類します。使っていないものは削除します。
  3. 方式を決める。 上の表をもとに、CMP、ライブラリ、自作のいずれかを選びます。
  4. ブロックを実装する。 任意のスクリプトは、同意の後にだけ読み込まれるようにします。Googleタグには、タグの前に同意モードのデフォルトを追加してください。
  5. バナーを作る。 承認と拒否を同じ目立ち方にし、カテゴリごとの選択と設定リンクを用意します。
  6. クッキーポリシーを書く。 多くの場合はプライバシーポリシーの一部です。使っているものとその理由を列挙してください。利用規約とプライバシーポリシーの書き方を参照してください。
  7. プライベートウィンドウでテストする。 選択前は任意のクッキーもリクエストもないこと。拒否後も依然としてないこと。承認後は正しいものが現れること。気が変わったら、それらが止まること。
  8. ツールを追加するたびに再確認する。

よくあるミス

  • 何もブロックしないバナー。 バナーが丁寧に尋ねている間に、スクリプトはページの読み込みと同時に動いてしまう。
  • 「承認」は大きなボタンなのに、「拒否」は2つ目の画面や薄いグレーのリンクに隠れている。
  • カテゴリが初めからチェックされている、または「正当な利益」のスイッチがデフォルトでオンになっている。
  • 最初の選択のあとで、気が変わっても変更できない。
  • 埋め込みを忘れる。 YouTube、地図、SNSのフィード、チャットウィジェットもクッキーを設定することがある。
  • 選択が正しく保存されず、ページを読み込むたびに尋ねてしまう。
  • スマートフォンでバナーがページを覆う、またはキーボードのフォーカスを閉じ込める。 アクセシブルにし、読み飛ばせるほど小さくしてください。
  • 使っていないクッキーが書かれた、他のサイトのポリシーをコピーする。

同意チェックリスト

  • すべてのクッキー、ストレージのキー、サードパーティのスクリプトを一覧にし、分類した
  • 任意のスクリプトは同意があるまでブロックされている(DevToolsで確認済み)
  • 最初の画面で、承認と拒否が同じくらい簡単である
  • カテゴリごとの選択があり、任意のものは初めから選ばれていない
  • 選択がバージョンと日付付きで保存され、変更があれば再度尋ねる
  • すべてのページに「クッキー設定」リンクがある
  • Googleタグを使う場合は、タグの前にGoogleの同意モードのデフォルトを設定した
  • クッキーポリシーまたはプライバシーポリシーが、サイトの実際の動作と一致している
  • 訪問者の国のルールを、最新のガイダンスまたは専門家で確認した

背景については、クッキーとはとGDPRとはを読んでください。

Mythexでのクッキー同意

Mythexは、アプリに同意バナーやアナリティクスを自動では追加しません。どちらもあなたが依頼するものなので、何を読み込むかはあなたが決めます。まず監査のプロンプトを実行し、そのあと実際のカテゴリを使ってバナーのプロンプトを実行し、公開前にDevToolsを開いた状態でプレビューでテストしてください。ホスト型のCMPを使う場合は、スクリプトとIDが提供されます。そのIDは公開情報なので、フロントエンドのコードに置いても構いません。秘密にすべきものはプロジェクト設定に置いてください(環境変数とシークレット)。変更後は再度公開し、ライブサイトが新しいバナーを使うようにしてください。

よくある質問

クッキーバナーは必要ですか?

訪問者の所在地と、サイトが訪問者の端末に何を保存するかによります。EUや英国では、必須ではないクッキーや広告トラッカーのような類似の技術は、一般に先に同意が必要です。一方、ログインのセッションのような厳密に必要なものは不要です。必須ではないクッキーを一切使わないのであれば、バナー自体が不要かもしれません。これは一般的な情報であり、法的助言ではありません。

「本サイトを利用することで、クッキーの使用に同意したものとみなします」という表示で十分ですか?

同意が必要な場合は十分ではありません。同意は一般に、必須ではないクッキーが設定される前に、利用者が能動的に選ぶものである必要があります。同意を前提とした表示や、初めからチェックが入っているボックスは、通常は有効な同意とはみなされません。

アナリティクスのクッキーにも同意は必要ですか?

EUでは一般に必要です。英国のData (Use and Access) Act 2025では、自分のサービスを改善するためだけに、集計統計のみを使うアナリティクスについて、ICOが定める条件のもとでの例外が追加されました。その他の地域にはそれぞれ別のルールがあるため、自分に当てはまるものを確認してください。

Googleの同意モードとは何ですか?

同意モードは、Googleのアナリティクスや広告などのGoogleタグが、利用者の同意の選択に合わせて動作を調整できる機能です。タグが読み込まれる前にデフォルトの同意状態を設定し、利用者が選んだら更新を送ります。同意バナーと一緒に使うもので、それ自体はバナーではありません。

Mythex · Pricing · AIでなんでも作ろう · ウェブサイト・アプリのテンプレート · Mythexを比較 · AIアプリ開発用語集 · AIアプリ開発の無料ツール · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)