Cookieに代わるFLoCの問題点とWordPressにおける無効化方法について。

GoogleがサードパーティCookieといったトラッキング技術の代替技術として開発を進めている「FLoC (Federated Learning of Cohorts)」に関して批判が相次いでいます。
この状況を理解するには、FLoCがどのような技術であり、何が議論の対象となっているのかを知る必要がありますね。

Cookieとは

まずは、そもそもCookieについてご説明します。
Cookieとは、あなたが見ているWebサイトからあなたのスマホやPC内のブラウザに保存される情報のことです。
そこにはサイトを訪れた日時や、訪問回数など、さまざまな内容が記録されています。
たとえばFacebookやTwitterなど、IDとパスワードを入力して一度ログインしたサイトに、しばらくしてからもう一度アクセスするとIDとパスワードを入力しないでも、すんなり入ることができたり、Amazonで買い物をしている途中で、商品をカートに入れたままにし、しばらくしてから、もう一度同じショッピングサイトにログインしたら、カートの中の品物が消えずにしっかり残っていたりするのもCookieの技術のおかげです。

このように、Cookieは、Webのアクセスや操作を便利にしたり、さまざまなサービス提供に役立っていますが、反面Cookieを使えば買い物の履歴や、ユーザーの関心や話題などをWebサイト側が知ることができるので、企業のマーケティングの解析にも大いに使われています。
その為、Cookieのプライバシー保護について議論がされるようになったのです。

FLoCの登場

上述のように、プライバシー保護の観点からCookieが規制される中で、GoogleはChromeでサードパーティーCookieを廃止して新しい広告の仕組みを構築しようとしています。
しかし、新しい仕組みとしてテスト中の「FLoC」は様々な批評を浴び、すでに独占禁止法違反の疑いで調査されています。
FLoCがなぜユーザーやウェブサイトやブラウザにとって有害なのでしょうか。

FLoCが何者かを簡単にまとめると次のようになる。

  • サードパーティCookieといった技術を使うことなく、広告主がユーザーターゲティングを実現することができる技術。
  • ユーザーの過去1週間の閲覧履歴から、ユーザーを3万3,000以上あるグループのどれかに分類する。それぞれのグループのほとんどは数千人以上が存在している。
  • 具体的には、過去の閲覧履歴からSimHashと呼ばれるアルゴリズムを使ってFLoC IDと呼ばれるIDを計算している。このIDがグループを示している。
  • FLoC IDは1週間に1度再計算される。
  • FLoC IDはChrome側で計算され、一旦サーバにデータが集められるといったことはない。

※電子フロンティア財団(EFF: Electronic Frontier Foundation)
https://www.eff.org/deeplinks/2021/03/googles-floc-terrible-idea

電子フロンティア財団はこうしたFLoCの特徴に対し、技術的なポイントに絞ってまとめると次のような内容を問題点として指摘しています。

  • FLoC IDのほどんどは数千人のユーザが存在しており、このIDからはユーザを特定することは難しいとされている。しかし、トラッカーはこのIDをユーザの絞り込みに使うことができ、ほかのトラッキング技術と組み合わせることでトラッキングを助長することにつながる。結局トラッキングを強化することにつながり、従来の懸念がより強固になる可能性がある。

要するに、FLoCを使うことで逆にトラッキングが容易になる懸念があると言うことです。

主要Webブラウザベンダーはこうしたトラッキングを無効化するための技術開発に取り組み続けており、状況はいたちごっこになっています。
そういうトラッキングの無効化は難しいという現状がある中で、GoogleがFLoCという新しい技術を推してきました。

主要Webブラウザベンダーからすれば、Googleはトラッカーの肩を持ち、トラッキングする材料を渡したことになり、やっていることはそもそもの目的であるプライバシーの保護の反対であると主張しているのです。
より状況が悪化する可能性を懸念しています。

WordPressでの無効化の方法

以降ではWordPressでFLoCを無効にする方法を解説します。
方法は3通りあります。プラグインやフックを使用する方法、Webサーバーの設定ファイルを記述する方法です。

1、プラグインを使用する

WordPressでは、FLoCを無効にするプラグインが提供されています。

Disable FLoC

2、フックを使用する

テーマのfunctions.phpに次のコードを追加します。

function disable_floc($headers) {
    $headers['Permissions-Policy'] = 'interest-cohort=()';
    return $headers;
} 
add_filter('wp_headers', 'disable_floc');

3、Webサーバーで設定する

Apache

.htaccessに次のように記述します。

<IfModule mod_headers.c>
Header always set Permissions-Policy interest-cohort=()
</IfModule>
NGINX

設定ファイルに次のように記述します。

add_header Permissions-Policy interest-cohort=();