追跡からの保護機能とは何か?
バージョン 42 以降、デスクトップ版 Firefox および Android 版 Firefox には、組み込みの機能として追跡からの保護が含まれます。プライベートウィンドウ(Android 版 Firefox ではプライベートタブ)では、サイトをまたいでユーザーを追跡するようなドメインからロードされるようなコンテンツは Firefox によってブロックされます。
ブロックされたコンテンツがページレイアウトの一部である場合、どの部分が Firefox によってブロックされたレイアウト要素であるのかはユーザーにも分かるでしょう。ただし、ページグリッドが要素のブロックによってできた穴を塞ぐように配置されることで、ユーザーに全く気付かれないこともあります。
Firefox によってコンテンツがブロックされると、ウェブコンソールに次のようなメッセージとして記録されます。
追跡からの保護機能が有効なため、 "https://some/url" のリソースがブロックされました。
Android 版 Firefox の場合、コンソールへの出力はリモートデバッガからアクセスできる点に注意してください。
Firefox UI は、コンテンツがいつブロックされたのか、そして、選択すれば現在のセッションにおいてブロック解除を有効にできるということを示します。また、ユーザーは追跡からの保護機能を完全に無効にすることもできます。
Firefox はどのようにブロックする対象を選ぶのか?
コンテンツはそれがロードされるドメインに基づいてブロックされます。
Firefox は、サイトをまたぐユーザーの追跡を行うサイトをリストにします。追跡からの保護機能が有効な場合、Firefoxは、このリストにあるサイトからのコンテンツをブロックします。
ユーザーの追跡を行うサイトとしては、広告サイトや分析サイトが一般的です。
このことがあなたのサイトにとって意味するものは?
追跡からの保護が有効であれば、次のことが言えます。
- 追跡を行うサイトから提供されるコンテンツはユーザーに表示されない。
- 追跡を行うような広告サービスまたは解析ツールをあなたのサイトで使うことができなくなる。
もしあなたのサイトの別の部分が、ロードされる追跡を行うコンテンツに依存していた場合、追跡からの保護が有効になっているとこれらの部分も同様に正しく表示されなくなるかもしれません。例えば、追跡を行うサイトからコンテンツがロードされた時に実行されるようなコールバックがあなたのサイトに含まれたいた場合、このコールバックが実行されることはありません。
例えば、Google Analytics はこのような使い方をすべきではありません:
<a href="https://www.example.com" onclick="trackLink('https://www.example.com', event);">Visit example.com</a>
<script>
function trackLink(url,event) {
event.preventDefault();
ga('send', 'event', 'outbound', 'click', url, {
'transport': 'beacon',
'hitCallback': function() {
document.location = url;
}
});
}
</script>
その代わり、Google Analytics を使わない場合も考慮して、次のように ga オブジェクトが初期化されているか確認してください:
<a href="https://www.example.com" onclick="trackLink('https://www.example.com', event);">Visit example.com</a>
<script>
function trackLink(url,event) {
event.preventDefault();
if (window.ga && ga.loaded) {
ga('send', 'event', 'outbound', 'click', url, {
'transport': 'beacon',
'hitCallback': function() { document.location = url; }
});
} else {
document.location = url;
}
}
</script>
この手法についてより詳しくは Google Analytics, Privacy, and Event Tracking をご覧ください。
他のサイトからのコンテンツに依存してしまうやり方は、そのサイトが重かったり、読み込みに失敗したり、アドオンによってトラッキングがブロックされた場合にあなたのサイトまで影響を受けてしまうので良い方法とは言えません。