なぜCookieが問題になったか

Cookieはウェブアクセス解析の基盤として20年以上機能してきました。訪問者のブラウザにCookieを設定し、次の訪問時に読み取り、セッションを紐づける——シンプルで効果的な仕組みです。しかし現在、この仕組みは法的・技術的な2つの圧力を同時に受けています。

2026年8月更新: FPAI v1.1.0でストレージレスモードが追加されました。EU圏の訪問者を自動判定し、端末に何も保存せず(Cookieなし・localStorageなし)計測します。ドイツTDDDG第25条などの端末保存への同意規制に正面から対応する機能です。リリースノートを見る

法的側面では、EUのePrivacy指令(いわゆる「Cookie法」)とGDPRが組み合わさることで、同意なしに非必須Cookieを設置することは法的違反になります。アクセス解析Cookieは定義上「非必須」であるため、Cookie同意バナーが必要となり、各種調査では欧州の訪問者の40〜60%がアクセス解析Cookieを拒否することが示されています。

日本においても、改正電気通信事業法(2023年6月施行)が外部送信規制を設け、第三者が取得できる形でのCookie等の送信に対して通知・公表または同意取得を求めています。規制の波は国内サイト運営者にも直接影響します。

技術的側面では、Safari・Firefox・BraveなどのブラウザがITP(Intelligent Tracking Prevention)や強化型トラッキング防止機能によりサードパーティCookieの有効期間を大幅に短縮するか完全にブロックするようになっており、Cookieに依存した解析ツールではデータの精度そのものが低下しています。

Cookieフリー計測はこの問題を根本から解決します。ブラウザCookieに依存するのではなく、同意要件の対象外となる技術を使うことで、すべての訪問者を正確に計測できます。

従来のCookie解析とFPAIの違い——図解で比較

まず、従来のCookieベース解析とFPAIのファーストパーティ計測が技術的にどう異なるかを図で整理します。最大の違いはデータの行き先ブラウザへの痕跡の2点です。

【従来のCookie解析フロー】 訪問者のブラウザ │ ├─ Cookie設置(_ga, _gid など)← ブラウザに長期保存 │ ↓ 次回訪問時に読み取り → 訪問者IDを識別 │ └─ 外部計測スクリプト(例:ga.js) │ ▼ 第三者サーバー(Google / Adobe など)← データが外部へ │ ▼ 外部管理画面でレポート閲覧 ⚠ 問題点: – 同意バナーが必要(拒否率 40〜60%) – データは第三者サーバーに蓄積される – ITP等でCookieが短命化・無効化される – ブラウザに長期間の痕跡(Cookie)が残る 【FPAIのファーストパーティ計測フロー】 訪問者のブラウザ │ ├─ localStorage(ランダムな匿名ID。ストレージレスモードでは何も保存しない) │ ※ Cookieは一切なし └─ 自サイト配信の軽量スクリプト(約10KB)が 自サイトのREST APIへ計測データを送信(外部ドメインなし) │ ▼ あなたのWordPressサーバー(REST APIエンドポイント) ├─ ストレージレス時:日替わりソルト+IP等をSHA-256ハッシュ化 → 仮名IDを導出(生IPは識別子として保存しない) ├─ UAを解析 → デバイス/ブラウザ情報を抽出 → 生UA破棄 └─ セッション情報・ページ情報を記録 │ ▼ 自社WordPressデータベース(wp_fpai_*)← データが外部へ出ない │ ▼ FPAIダッシュボード(WordPress管理画面) ✓ メリット: – 同意バナー不要 – データは自社サーバーのみに蓄積 – サードパーティ遮断(ITP・広告ブロッカー等)の影響を受けにくい – 100%の訪問者を計測可能

表にまとめると、従来解析ではCookieをブラウザに設置し外部サーバーへデータを送信するのに対し、FPAIはCookieを設置せず、データは一切外部に送りません。この構造的な違いが、同意バナー不要というメリットを生み出しています。

この記事の内容、FPAIならそのまま実践できます

Cookie不要・GA不要のWordPress解析プラグイン。無料版を5分でインストールして、今日から自分のデータで確かめられます。

WordPress.org で無料インストール →

またはWP管理画面 → プラグイン → 新規追加で「FPAI」を検索

FPAIの2つの識別メカニズム

FPAIは計測モードに応じて2つのメカニズムを使い分けます。標準モードではブラウザのlocalStorageに保存するランダムな匿名ID、ストレージレスモード(EU圏の訪問者には自動適用)では端末に何も保存しない日替わりソルト付きハッシュです。

メカニズム1:ストレージレスモード——日替わりソルト付きハッシュ(サーバーサイド)

ストレージレスモードでは、端末に何も書き込みません。計測リクエストを受け取ったサーバー側コードが、その日限りのソルトと組み合わせたSHA-256ハッシュから仮名IDを導出します。生のIPアドレスを識別子として保存することはありません。

# 概念的な処理フロー(簡略化) raw_ip = “203.0.113.42” ← 一時的に使うだけ。保存しない daily_salt = その日だけのランダム値 ← 翌日に破棄される visitor_id = “sl-” + sha256(daily_salt + raw_ip + UA + サイトURL) = “sl-a3f9b2c1d4e8f7a6…” ← これだけをDBに保存、逆算不可能

SHA-256は一方向関数です。保存されたハッシュから元のIPアドレスを復元する方法はありません。さらにソルトは日替わりで、前日のソルトは破棄されるため、日をまたいだ紐づけの再計算すら構造的に不可能です。サイトURLもハッシュの材料に含まれるため、他サイトのIDと照合することもできません。

メカニズム2:標準モード——localStorageの匿名ID

ハッシュ方式には、同じルーターを共有する複数の人(オフィス・家族・カフェ)が1人に見えたり、リピーターのカウントが日単位でリセットされたりする限界があります。そこで標準モードでは、Cookieとは別のブラウザストレージ機構であるlocalStorageを使います。

訪問者の最初のページビュー時に、FPAIはランダムなID(訪問者ID fpai_vid とセッション情報 fpai_session)を生成し、あなたのドメインに限定されたlocalStorageに保存します。後続のページビューではこのIDを読み取ってセッションに紐づけます。個人情報は一切含まれず、ユーザーがブラウザのストレージをクリアすれば完全に消去できます。

localStorageとCookieの法的区別について

ePrivacy指令はCookieおよびそれに類するトラッキング技術を規制していますが、規制当局や法学者の多くは、自社ドメインのサーバーにのみデータを送信し第三者に共有しないファーストパーティ解析のlocalStorage使用は、特にIPハッシュ化のようなプライバシー保護設計と組み合わせた場合、同意要件の対象外と見なしています。それでも、プライバシーポリシーにアクセス解析のアプローチを開示することを強くおすすめします。

データはどのサーバーに保存されるか——フロー図で確認

「データがどこに行くか」はプライバシーとデータ主権の観点から非常に重要です。以下のフロー図でFPAIのデータ経路を詳しく確認してください。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 訪問者のブラウザ(Chrome / Safari / Firefox など) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ │ ① ページリクエスト(通常のHTTP/HTTPSアクセス) │ ② localStorage 読み書き(セッションIDのみ) │ ※ Cookieの読み書きは一切発生しない │ ▼ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ あなたのWordPressホスティングサーバー (さくらインターネット / Xserver / ConoHa WING など) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ ├─ ③ IPアドレス取得 → SHA-256ハッシュ化 → 生IP即時破棄 ├─ ④ User-Agent解析 → デバイス/OS/ブラウザ抽出 → 生UA即時破棄 └─ ⑤ ページURL・参照元・UTMパラメータ・セッション情報を記録 │ ▼ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ あなたのWordPressデータベース(MySQL)  wp_fpai_sessions テーブル(セッション単位のデータ)  wp_fpai_pageviews テーブル(ページ単位のデータ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ ▼ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ FPAIダッシュボード(WordPress管理画面 → 解析メニュー) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ✗ データが送信されない場所: – Google サーバー(Analyticsとは無関係) – Adobe / Matomo / その他クラウド解析サーバー – FPAIプラグイン開発者のサーバー – その他いかなる第三者サーバーも使用しない

特に重要なのはステップ③と④です。生のIPアドレスとUser-Agent文字列はWordPressサーバーのメモリ上でのみ処理され、ハッシュ化・解析の完了と同時に即時破棄されます。データベースに永続化される時点では、個人を特定できる情報は一切含まれていません。また、FPAIプラグインの開発者もあなたのサイトの訪問者データにはアクセスできません——データは完全にあなた自身のサーバーとデータベースの中にのみ存在します。

ブラウザ側で何も保存されないことを確認する方法

「本当にCookieが設定されていないか」「不審なデータがブラウザに残っていないか」——口頭の説明だけでなく、自分で実際に確認することが重要です。以下のハンズオン手順で、FPAIが動作しているサイトにおいてブラウザに何が保存されているかを検証できます。

ステップ1:Chrome DevToolsでCookieを確認する

FPAIをインストールしたWordPressサイトを開き、以下の手順を実行します。

  • F12キー(Macの場合はCmd+Option+I)でChrome DevToolsを開く
  • 上部タブから 「Application」 を選択する
  • 左サイドバーの 「Storage」→「Cookies」→「現在のサイトURL」 をクリック
  • 右側のリストに fpai_ や _ga_ などFPAI由来のCookieが存在しないことを確認する
Chrome DevTools → Application タブで確認する箇所: ▼ Application ▼ Storage ▼ Cookies └─ https://yoursite.com ← ここを開いてリストを確認 (FPAIに関するCookieは一切表示されない) ▼ Local Storage └─ https://yoursite.com ← ここも確認 fpai_vid: “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx” fpai_session: {…} (ランダムな匿名IDとセッション情報のみ。個人情報を含まない。 ストレージレスモード適用時はこれすら存在しない)

ステップ2:localStorageの内容を検証する

同じApplicationタブで 「Local Storage」→「現在のサイトURL」 を開くと、FPAIが保存しているlocalStorageのキーと値を確認できます。fpai_vid のようなランダムなUUID文字列のみが存在するはずです(ストレージレスモードが適用された訪問者では何も存在しません)。これはIPアドレス・氏名・メールアドレスなどの個人情報を一切含まない、セッション識別のためだけのランダム値です。ブラウザのストレージをクリアすれば即座に消去されます。

ステップ3:ネットワークリクエストを確認する

DevToolsの 「Network」タブでページを再読み込みすると、FPAIがどのサーバーにリクエストを送っているかをリアルタイムで確認できます。

  • Networkタブを開いた状態でF5キー(またはCmd+R)を押してページを再読み込みする
  • リクエスト一覧をスクロールし、google-analytics.com・googletagmanager.com・外部ドメインへのリクエストがないことを確認する
  • FPAIのリクエストは すべて自サイトのドメイン宛て(/wp-json/fpai/v1/collect)のみであることを確認する
Firefox・Safariでも同様に確認できます

Firefox:F12キー → 「ストレージ」タブ → Cookie / ローカルストレージの項目を確認

Safari:環境設定 → 詳細タブ →「メニューバーに”開発”メニューを表示」を有効化 → 開発メニュー → Webインスペクタを表示 → ストレージタブを確認

FPAIが収集するデータの範囲

各訪問者セッションについて、FPAIは以下を収集します。

  • 匿名の訪問者ID——標準モードではランダムUUID、ストレージレスモードでは日替わりソルト付きハッシュから導出(逆算不可能)
  • セッションID——セッションごとに新規生成されるランダムUUID
  • デバイス種別——モバイル・タブレット・デスクトップ(User-Agentから導出、生UA破棄)
  • ブラウザとOS——Chrome・Safari・Firefoxなど(User-Agentから導出)
  • 参照元ドメイン——訪問者がどこから来たか(例:google.com、twitter.com)
  • UTMパラメータ——URLに付加されたキャンペーントラッキング値
  • セッション開始時刻・滞在時間・閲覧ページ数——セッションの進行とともに更新
  • 直帰フラグ——1ページのみで終了したセッションを直帰としてフラグ付け

セッション内の各ページビューについては以下を記録します。

  • ページURLとタイトル
  • スクロール深度——訪問者がページをどこまでスクロールしたか(25%・50%などの詳細マイルストーン計測はProプラン)
  • ページ滞在時間

生のIPアドレスはディスクに書き込まれません。User-Agent文字列はデバイス・ブラウザ・OS情報の解析後に破棄されます——導出された値のみが永続化されます。

FPAIがしないこと(明示)

プライバシーの境界を明確にするため、FPAIが行わないことを具体的に列挙します。

  • FPAIは訪問者のブラウザにCookieを設定しない
  • FPAIは生IPアドレスをデータベースに保存しない
  • FPAIは第三者サーバーにデータを送信しない——すべてのデータは自社WordPressデータベースにのみ保存される
  • FPAIはブラウザフィンガープリントを使わない(canvasフィンガープリント・フォント検出・WebGL検出など)
  • FPAIは異なるウェブサイト間で訪問者をトラッキングしない
  • FPAIは広告プロファイルを作成・送信しない
  • FPAIの開発者はあなたのサイトの訪問者データにアクセスできない——データはあなたのサーバー上にのみ存在する

Cookieフリー計測の現実的な限界

Cookieフリー計測はよりプライバシーに配慮していますが、理解しておくべき現実的な制限もあります。正直に説明します。

セッションをまたいだユーザー識別は近似値になる

ユーザーがIPを変えた場合(自宅→モバイル回線→職場)、同じ人が複数セッションで別の「訪問者」として記録されることがあります。セッションレベルのデータ(直帰率・ページ数・滞在時間)は正確ですが、「リピート訪問者」のカウントは近似値になります。これはCookieフリー設計に内在するトレードオフです。

共有ネットワーク環境の影響

オフィス・学校・キャリアグレードNAT環境では複数のユーザーが同じIPを共有するため、同じハッシュ化訪問者IDが生成されます。FPAIのlocalStorageメカニズムがブラウザレベルで部分的に補正しますが、完全な解決策ではありません。

クロスドメイントラッキング非対応

ファネルが複数のドメインにまたがる場合、FPAIは追加設定なしにドメインをまたいでセッションを紐づけることはできません。これはCookieフリーのあらゆるソリューションに共通する制限です。

プライバシーポリシーへの記載例

Cookieを使わない場合でも、アクセス解析のアプローチをプライバシーポリシーで開示することをおすすめします。以下はシンプルな開示文のサンプルです。

プライバシーポリシー記載サンプル

「このサイトはWordPress向けファーストパーティ計測プラグイン『FPAI』を使用しています。FPAIは匿名の識別子(ランダムID、または一方向ハッシュによる仮名ID)・ブラウザ種別・デバイス種別・閲覧ページ・参照元・UTMパラメータを含む訪問者データを収集します。Cookieは設定されません。すべてのデータは自社サーバーにのみ保存され、第三者と共有されることはありません。このアクセス解析のアプローチはCookie同意バナーを必要としません。」

この文言はあなたの状況に合わせて適宜修正してください。規制対象の業種や地域で事業を展開している場合は、法律の専門家によるレビューを受けることをおすすめします。

まとめ

Cookieはセッション識別に必須ではありません。localStorageの匿名ID(標準モード)と日替わりソルト付きハッシュ(ストレージレスモード)を使い分けることで、プライバシー規制に配慮しながらすべての訪問者を計測できます。生IPは保存されず、第三者にデータは送信されず、ブラウザに長期Cookieも残りません。

従来Cookie解析との比較図とデータフロー図で確認したとおり、FPAIはデータの収集・処理・保存をすべてあなたのWordPressサーバー内で完結させます。そしてChrome DevToolsを使えば、Cookieが一切設定されていないこと・localStorageにはランダムなセッションIDのみが存在すること・外部サーバーへのリクエストがゼロであることを、あなた自身の目で数分以内に検証できます。

Cookieフリー計測に完全な精度はありません——複数セッションにまたがるユーザー識別は近似値になります。しかしそのトレードオフを受け入れることで、同意バナーを必要とせず、欧州の訪問者40〜60%のデータ欠損もなく、完全なアクセスデータを自社データベースに蓄積できます。データ主権もあなた自身にあります。


FPAI(First Party AI Analytics)はCookieを一切使わないファーストパーティ計測をWordPressに追加する無料プラグインです。訪問者データはあなた自身のサーバーにのみ保存され、第三者には送信されません。WordPress.orgから無料でインストールする → / 機能詳細・レビューはプラグイン公式ページ(WordPress.org)をご覧ください。

ここまで読んだなら、あとは試すだけ

無料版で今日からデータ計測を始められます。Cookie同意バナーも外部送信もなし、不要ならワンクリックで削除できます。

WordPress.org で無料インストール →

またはWP管理画面 → プラグイン → 新規追加で「FPAI」を検索