📽️

YouTube動画をyoutube-nocookie.comで埋め込むと何が変わるのか

commits4 min read

youtube-nocookie.comとは

youtube-nocookie.comは、YouTube埋め込みプレーヤーをプライバシー強化モードに切り替えるためのURLとされている。

YouTube動画を埋め込む際のURLを https://www.youtube.com/embed/動画ID から https://www.youtube-nocookie.com/embed/動画ID のようにすると、YouTube埋め込みプレーヤーのプライバシー強化モードが有効になるのだが、具体的に何が変わるのかを調べてみた。

プライバシー強化モードとは

YouTubeのプライバシー強化モードとは、YouTube動画を埋め込む際に、視聴情報をもとにしたパーソナライズ(関連動画や広告のカスタマイズ)をしないモード。URLが示す通り、動作上Cookieを使わなくなる。

YouTube 埋め込みプレーヤーのプライバシー強化モードは、埋め込んだ YouTube コンテンツの視聴情報が、視聴者の YouTube でのブラウジング体験に影響を与えないようにするための機能です。つまり、プライバシー強化モードの埋め込みプレーヤーで表示された動画を視聴しても、プライバシー強化モードの埋め込みプレーヤー内や視聴者の今後の YouTube 視聴体験において、その視聴情報が YouTube のブラウジング体験のカスタマイズに使用されることはありません。

プライバシー強化モードの埋め込みプレーヤーで表示される動画に広告が掲載される場合も、同様に広告はカスタマイズされません。また、プライバシー強化モードの埋め込みプレーヤーに表示される動画の視聴情報は、サイト外またはアプリ外の視聴者に表示される広告のカスタマイズにも使用されません。
プライバシー強化モードを有効にする - YouTubeヘルプ

Cookie, LocalStorageのセット状況

実際にHTML上でiframeを使ってYouTube動画を埋め込んだ際に、youtube.comyoutube-nocookie.comで、CookieとLocalStorageがどのようにセットされるかを調べた。

TYPE 名前 ドメイン 目的 youtube youtube-nocookie
Cookie VISITOR_INFO1_LIVE .youtube.com 機能,広告 セットされる セットされない
Cookie YSC .youtube.com 機能 セットされる セットされない
Cookie IDE .doubleclick.net 広告 セットされる セットされない
Local Storage yt-remote-device-id www.youtube.com 機能? セットされる セットされる
Local Storage yt-remote-connected-devices www.youtube.com 機能? セットされる セットされる
Local Storage yt-player-bandwidth www.youtube.com 機能? セットされる セットされる
Local Storage yt-player-headers-readable www.youtube.com 機能? セットされる セットされる
Local Storage yt-player-bandaid-host www.youtube.com 機能? セットされる セットされる

上図の通り、youtube-nocookie.comで動画を埋め込んだ場合は、Cookieが一切セットされていないことがわかる。(一方でLocalStorageはどちらにおいても保存されていた)

Googleの説明では、上記のうちVISITOR_INFO1_LIVEIDEが広告に利用されているので、youtube-nocookie.comを使って動画を埋め込めば、広告目的でユーザーを追跡するCookieはセットされないことになる。(LocalStorageについては説明を見つけることができなかったが、全て機能のために利用されていると推測している)

またYSCはセッションクッキーなので、永続化はされず、ユーザーがブラウザを閉じれば削除される。

YouTube IFrame Player APIから youtube-nocookie.com を利用する方法

YouTubeのIFrame Player APIからyoutube-nocookie.comを利用したい場合、new YT.Player()でプレイヤーのインスタンスを作る際のhost:パラメーターにhttps://www.youtube-nocookie.comを指定することで動画のロード先を変更することができる。

var player = new YT.Player('player', {
    height: '390',
    width: '640',
    videoId: 'M7lc1UVf-VE',
    host: 'https://www.youtube-nocookie.com'
});

しかしこの場合は、APIのscriptをhttps://www.youtube.com/iframe_apiから読み込む際にCookieがセット(VISITOR_INFO1_LIVE,YSC)されてしまう。youtube.comのCookieを一切セットしないことが目的なのであれば、IFrame Player APIを使わない実装にする必要がある。

参考

Googleの利用するCookieの利用目的説明リンク

以下のリンクで、GoogleにおけるCookie利用目的を説明している。

GitHubで編集を提案

Discussion

ログインするとコメントできます