Cookie 同意実装ガイド: 法的に準拠した同意管理

GDPR、eプライバシー、CCPA、および世界的な規制に準拠した Cookie 同意を実装します。同意バナー、Cookie の分類、CMP の統合について説明します。

E
ECOSIRE Research and Development Team
|2026年3月16日5 分で読める934 語数|

Compliance & Regulationシリーズの一部

完全ガイドを読む

Cookie 同意実装ガイド: 法的に準拠した同意管理

2020 年以降、特に Cookie の同意違反に対して 4 億ユーロを超える GDPR 罰金が課されています。 フランス CNIL は、Cookie を拒否するよりも受け入れやすくしたとして、Google に 1 億 5,000 万ユーロ、Facebook に 6,000 万ユーロの罰金を科しました。 Cookie への同意は、もはやチェックボックスを使用するものではありません。これは、特定の技術要件を伴うプライバシー法の厳重に施行される領域です。

このガイドでは、法的要件、技術的な実装、Web サイトと Web アプリケーションの Cookie 同意の継続的な管理について説明します。

重要なポイント

  • GDPR と eプライバシーに基づき、必須ではない Cookie を設定する前に同意を取得する必要があります -- 後ではありません
  • 同意は与えるのと同じくらい簡単に撤回できる必要があります(ワンクリックで拒否、設定に埋め込まれない)
  • Cookie ウォール (「受け入れるか離れるか」) は、ほとんどの EU 加盟国で違法です
  • 2024 年 3 月以降、EEA 内の Google アナリティクスと広告には Google 同意モード v2 が必要です

地域別の法的要件

要件EU (GDPR + eプライバシー)英国 (PECR + 英国 GDPR)米国 (CCPA/州法)ブラジル (LGPD)カナダ (PIPEDA)
必須ではない Cookie に対する事前同意はい (オプトイン)はい (オプトイン)いいえ (オプトアウト モデル)はい (オプトイン)黙示の同意が許可される
同意バナーが必要ですはいはい必須ではありません (ただし推奨されます)はいおすすめ
詳細な選択肢 (カテゴリ別)はいはい不要はいおすすめ
受け入れ/拒否の同等の顕著性はいはい該当なしはい該当なし
クッキーウォールは許可されますいいえ (ほとんどの州)いいえ該当なしいいえ該当なし
同意記録が必要ですはいはいいいえはいはい
同意更新期間最長 12 か月最長 12 か月該当なし指定されていません指定されていません
Cookie ポリシーが必要ですはい (詳細)はい (詳細)はい (追跡する場合)はいはい

eプライバシー指令は、HTTP Cookie だけでなく、ユーザーのデバイスに情報を保存またはアクセスするすべてのテクノロジーを対象としています。

  • HTTP Cookie (ファーストパーティおよびサードパーティ)
  • LocalStorage と SessionStorage
  • インデックス付きDB
  • デバイスのフィンガープリンティング
  • 追跡ピクセル/ウェブビーコン
  • 追跡に使用される ETag

クッキーの分類

標準カテゴリ

カテゴリー同意が必要ですか?デフォルト状態
必ず必要いいえセッション Cookie、CSRF トークン、ロード バランサー Cookie、認証常にオン
機能/設定はい言語設定、テーマ設定、保存されたカートオフ (同意するまで)
分析 / パフォーマンスはいGoogle Analytics、Hotjar、Plausible (Cookie を使用)オフ (同意するまで)
マーケティング/広告はいGoogle 広告、Facebook Pixel、リターゲティング Cookieオフ (同意するまで)

同意を実装する前に、Web サイトが設定するすべての Cookie を監査します。

// Browser console: list all cookies
document.cookie.split(';').forEach(c => console.log(c.trim()));

// Or use a scanning tool
// cookiebot.com/en/cookie-checker
// 2gdpr.com

各 Cookie を文書化します。

クッキー名カテゴリー目的期間ファースト/サードパーティ
コード0必ず必要認証セッションファーストパーティ
コード0必ず必要トークンのリフレッシュ7日間ファーストパーティ
コード0必ず必要言語の好み1年ファーストパーティ
コード0分析Google アナリティクスの訪問者 ID2年サードパーティ (Google)
コード0マーケティングFacebook ピクセル追跡90日サードパーティ (Facebook)

技術的な実装

オプション 1: 同意管理プラットフォーム (CMP)

CMP無料利用枠GDPR 準拠Google CMP パートナーIAB TCF 2.2
クッキーボット1ページまではいはいはい
ワントラストいいえはいはいはい
小佐野最大 5,000 人の訪問者はいはいいいえ
定期ベーシックプランはいはいいいえ
クッキースクリプト最大 1 サイトはいはいいいえ

オプション 2: カスタム実装

完全なコントロールが必要なチームの場合:

// lib/cookie-consent.ts
type ConsentCategory = 'necessary' | 'functional' | 'analytics' | 'marketing';

interface ConsentPreferences {
  necessary: true; // Always true, cannot be changed
  functional: boolean;
  analytics: boolean;
  marketing: boolean;
  timestamp: string;
  version: string;
}

const CONSENT_COOKIE = 'ecosire_consent';
const CONSENT_VERSION = '2.0';
const CONSENT_DURATION = 365; // days

export function getConsent(): ConsentPreferences | null {
  const cookie = document.cookie
    .split(';')
    .find(c => c.trim().startsWith(`${CONSENT_COOKIE}=`));

  if (!cookie) return null;

  try {
    const prefs = JSON.parse(decodeURIComponent(cookie.split('=')[1]));
    // Invalidate if consent version changed
    if (prefs.version !== CONSENT_VERSION) return null;
    return prefs;
  } catch {
    return null;
  }
}

export function setConsent(preferences: Omit<ConsentPreferences, 'necessary' | 'timestamp' | 'version'>) {
  const consent: ConsentPreferences = {
    necessary: true,
    ...preferences,
    timestamp: new Date().toISOString(),
    version: CONSENT_VERSION,
  };

  const expires = new Date(Date.now() + CONSENT_DURATION * 86400000).toUTCString();
  document.cookie = `${CONSENT_COOKIE}=${encodeURIComponent(JSON.stringify(consent))}; expires=${expires}; path=/; SameSite=Lax`;

  // Apply consent decisions
  applyConsent(consent);

  return consent;
}

function applyConsent(consent: ConsentPreferences) {
  if (consent.analytics) {
    // Initialize Google Analytics
    loadScript('https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX');
  }

  if (consent.marketing) {
    // Initialize marketing pixels
    loadScript('https://connect.facebook.net/en_US/fbevents.js');
  }

  if (!consent.analytics) {
    // Remove analytics cookies
    deleteCookie('_ga');
    deleteCookie('_gid');
  }

  if (!consent.marketing) {
    // Remove marketing cookies
    deleteCookie('_fbp');
    deleteCookie('_fbc');
  }
}

Google 同意モード v2

2024 年 3 月以降、EEA 内の Google アナリティクスと Google 広告に必須:

<!-- Set default consent state BEFORE loading Google tags -->
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}

  // Default: deny all until user consents
  gtag('consent', 'default', {
    'ad_storage': 'denied',
    'ad_user_data': 'denied',
    'ad_personalization': 'denied',
    'analytics_storage': 'denied',
    'functionality_storage': 'denied',
    'personalization_storage': 'denied',
    'security_storage': 'granted', // Always granted (necessary)
    'wait_for_update': 500 // Wait for CMP
  });
</script>

<!-- Load Google Tag Manager -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>

ユーザーが同意した場合:

// Update consent state when user interacts with banner
function updateGoogleConsent(preferences) {
  gtag('consent', 'update', {
    'ad_storage': preferences.marketing ? 'granted' : 'denied',
    'ad_user_data': preferences.marketing ? 'granted' : 'denied',
    'ad_personalization': preferences.marketing ? 'granted' : 'denied',
    'analytics_storage': preferences.analytics ? 'granted' : 'denied',
    'functionality_storage': preferences.functional ? 'granted' : 'denied',
    'personalization_storage': preferences.functional ? 'granted' : 'denied',
  });
}

同意バナーのデザイン要件

EU の法的要件

  • バナーは必須でない Cookie が設定される前に表示されます
  • 「すべて受け入れる」ボタンと「すべて拒否する」ボタンは視覚的に同じように目立つようになります。
  • 詳細なカテゴリ選択が可能 (全か無かだけではありません)
  • 必須ではないカテゴリの事前チェックボックスはありません
  • 各カテゴリの明確で平易な説明
  • 完全な Cookie ポリシーへのリンク
  • いつでも同意の撤回にアクセス可能 (フッターリンクなど)
  • Cookie ウォールなし (同意せずにサイトを使用できる必要があります)
  • タイムスタンプとバージョンとともに記録された同意

アクセシビリティ要件

  • バナーはキーボードで操作可能です
  • スクリーン リーダーとの互換性 (ARIA ラベル)
  • 十分な色のコントラスト
  • 重要なコンテンツを永久にブロックしません

Cookie 同意バナーを完全に回避したい Web サイトの場合:

ツールクッキーGDPR の同意が必要データの場所価格
もっともらしいなしいいえEU$9/月
ファゾムなしいいえEU/米国/カナダ$14/月
うま味なしいいえ自己ホスト型無料
シンプルな分析なしいいえEU$9/月
Piwik (Cookie なしの構成)オプションいいえ (Cookie なし)自己ホスト型無料

Cookie を使用しない分析を使用すると、分析の同意が不要になり、マーケティング Cookie (使用されている場合) のみをカバーする同意バナーが簡素化されます。


よくある質問

必要な Cookie のみを使用する場合、Cookie バナーは必要ですか?

いいえ。厳密に必要な Cookie (認証、CSRF、負荷分散) のみを使用する場合、同意は必要なく、バナーも必要ありません。ただし、これらの Cookie をプライバシー ポリシーで開示する必要があります。分析 (Google Analytics) またはサードパーティの追跡を追加すると、EU では同意バナーが法的に義務付けられます。

「ソフト オプトイン」(閲覧を継続 = 同意)を使用することは合法ですか?

いいえ、GDPR に基づくものではありません。欧州データ保護委員会は、継続的な閲覧、スクロール、または同様の受動的なアクションは有効な同意とはみなされないと明確に述べています。同意は、「同意する」または同様のボタンをクリックする、明確な積極的な行動である必要があります。ソフト オプトインは、Planet49 で非準拠と判断されました (CJEU、2019)。

シングルページ アプリケーションの同意はどのように処理すればよいですか?

SPA の場合は、最初のページ読み込み時とルート変更ごとに同意状態を確認します。同意が得られていない場合は、追跡スクリプトを初期化しないでください。同意の設定をファーストパーティ Cookie に保存します (これ自体、同意を記憶するために必ず必要です)。ユーザーが同意すると、ページのリロードを必要とせずに追跡スクリプトを初期化します。

Odoo Web サイトには Cookie の同意が必要ですか?

Odoo Web サイトが EU 訪問者にサービスを提供し、分析、マーケティング ピクセル、または機能的 Cookie を必要以上に使用している場合は、「はい」です。 Odoo には基本的な Cookie に関する通知がありますが、GDPR 基準を満たしていません。 Cookiebot などの適切な CMP を実装するか、カスタム ソリューションを構築します。 ECOSIRE は、GDPR 準拠の Cookie 同意を含む Odoo Web サイト サービス を提供します。


次に何が起こるか

Cookie の同意は、Web プライバシー コンプライアンスの最も目に見える側面です。アプリケーション アーキテクチャには プライバシー バイ デザイン、完全なデータ プログラムには データ ガバナンス、より広範なコンプライアンスには サイバーセキュリティ規制 を組み合わせます。

Cookie 同意の実装およびプライバシー コンプライアンスのコンサルティングについては、ECOSIRE にお問い合わせください


ECOSIRE が発行 -- 企業がユーザーに信頼されるプライバシー コンプライアンスの実装を支援します。

E

執筆者

ECOSIRE Research and Development Team

ECOSIREでエンタープライズグレードのデジタル製品を開発。Odoo統合、eコマース自動化、AI搭載ビジネスソリューションに関するインサイトを共有しています。

Compliance & Regulationのその他の記事

監査準備チェックリスト: ERP によって監査が 60% 高速化される方法

ERP システムを使用して監査準備チェックリストを完了します。適切な文書化、管理、自動化された証拠収集により、監査時間を 60% 削減します。

国境を越えたデータ転送規制: 国際的なデータ フローをナビゲートする

SCC、十分性決定、BCR を使用して国境を越えたデータ転送規制をナビゲートし、GDPR、英国、および APAC 準拠のための転送影響評価を行います。

地域別のサイバーセキュリティ規制要件: グローバル ビジネス向けのコンプライアンス マップ

米国、EU、英国、APAC、中東にわたるサイバーセキュリティ規制をナビゲートします。 NIS2、DORA、SEC ルール、重要なインフラストラクチャ要件、コンプライアンスのタイムラインをカバーします。

データ ガバナンスとコンプライアンス: テクノロジー企業のための完全ガイド

コンプライアンス フレームワーク、データ分類、保持ポリシー、プライバシー規制、テクノロジー企業向けの実装ロードマップを網羅した完全なデータ ガバナンス ガイド。

データ保持ポリシーと自動化: 必要なものを保持し、必要なものを削除

法的要件、保持スケジュール、自動適用、GDPR、SOX、HIPAA のコンプライアンス検証を備えたデータ保持ポリシーを構築します。

従業員データのプライバシー管理: 人事ニーズとプライバシー権のバランスをとる

GDPR 要件、人事データ処理根拠、監視ポリシー、国境を越えた転送、保持のベスト プラクティスを使用して従業員データのプライバシーを管理します。

WhatsAppでチャット