Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CookieSync-And-Ecosystem
Search
Norihiro Shimoda
February 26, 2013
Technology
1
1.1k
CookieSync-And-Ecosystem
CookieSyncとそのエコシステムの話
Norihiro Shimoda
February 26, 2013
Tweet
Share
More Decks by Norihiro Shimoda
See All by Norihiro Shimoda
ぼくのかんがえたさいきょうの機械学習プロジェクト進行法(PoC/デモ編)
rindai87
10
19k
FindYourCandyでの転移学習の話
rindai87
4
15k
Google I/O 報告会(ML)担当
rindai87
3
9.4k
最近のTensorFlowの話
rindai87
1
1.4k
TensorFlowとGCPの簡単な紹介
rindai87
3
4.4k
TensorFlowの基礎
rindai87
2
4.3k
TFv1.0の概要+HighLevelAPI/Keras
rindai87
4
2.1k
How should engineers survive during AI era
rindai87
5
27k
Let's stand up against "Do Artificial Intelligence" with proper knowledge
rindai87
6
1.8k
Other Decks in Technology
See All in Technology
複雑なState管理からの脱却
sansantech
PRO
1
140
信頼性に挑む中で拡張できる・得られる1人のスキルセットとは?
ken5scal
2
530
ドメイン名の終活について - JPAAWG 7th -
mikit
33
20k
OCI Vault 概要
oracle4engineer
PRO
0
9.7k
【若手エンジニア応援LT会】ソフトウェアを学んできた私がインフラエンジニアを目指した理由
kazushi_ohata
0
150
強いチームと開発生産性
onk
PRO
34
11k
スクラム成熟度セルフチェックツールを作って得た学びとその活用法
coincheck_recruit
1
140
Introduction to Works of ML Engineer in LY Corporation
lycorp_recruit_jp
0
110
ハイパーパラメータチューニングって何をしているの
toridori_dev
0
140
Lambdaと地方とコミュニティ
miu_crescent
2
370
ISUCONに強くなるかもしれない日々の過ごしかた/Findy ISUCON 2024-11-14
fujiwara3
8
870
スクラムチームを立ち上げる〜チーム開発で得られたもの・得られなかったもの〜
ohnoeight
2
350
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
Testing 201, or: Great Expectations
jmmastey
38
7.1k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Rails Girls Zürich Keynote
gr2m
94
13k
Side Projects
sachag
452
42k
Agile that works and the tools we love
rasmusluckow
327
21k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Optimizing for Happiness
mojombo
376
70k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
The Art of Programming - Codeland 2020
erikaheidi
52
13k
Automating Front-end Workflow
addyosmani
1366
200k
Transcript
CookieSyncとエコシステム @rindai87
◦ RTB概観 ◦ CookieSync ◦ DMPのデータ収集 ◦ Cookieの限界 ◦ AdTruthの話
2 agenda ※下田が個人的興味で収集した情報になりますので、必ずしも すべての情報が正しいとは限らない点にご注意ください。
3 このへんのプレイヤーの話 広告の枠組みでは主にDSP にデータ提供を行う
4 RTBとDMP
5 RTB概観 SSP1 DSP1 媒体1 媒体n DSP2 DSPn SSPn …
… … ・媒体とつながっているSSP ・SSPとつながっているDSP
6 RTB概観 SSP1 DSP1 媒体1 媒体n DSP2 DSPn SSPn …
… … 広告在庫の発生を通知 ・媒体毎に定義した属性 ・識別子 をSSPへ通知
7 RTB概観 SSP1 DSP1 媒体1 媒体n DSP2 DSPn SSPn …
… … オークションの実施 ssp_id=111に広告出し たいDSPいますか?
8 RTB概観 SSP1 DSP1 媒体1 媒体n DSP2 DSPn SSPn …
… … CPM50円 CPM30円 CPM10円
9 RTB概観 SSP1 DSP1 媒体1 媒体n DSP2 DSPn SSPn …
… … CPM50円 CPM30円 CPM10円 DSP1の勝ち
10 RTB概観 SSP1 DSP1 媒体1 媒体n DSP2 DSPn SSPn …
… … オークションに勝った ので広告出して下さい。 CPM50円+マージン n%で合計CPMは◦円 です。
11 RTB概観 SSP1 DSP1 媒体1 媒体n DSP2 DSPn SSPn …
… … 広告配信
12 RTB概観 SSP1 DSP1 媒体1 媒体n DSP2 DSPn SSPn …
… … 広告配信 ここまでがRTBで1impressionが 消化されるまでの流れです。
13 RTB概観 SSP1 DSP1 媒体1 媒体n DSP2 DSPn SSPn …
… … 広告在庫の発生を通知 ・媒体毎に定義した属性 ・識別子 をSSPへ通知 この識別子に関する情報を事前に知っていると ・ターゲティングしたいユーザーかどうかを知っている状態 ・そのため、オークションで有利になる DSPはSSPの識別子情報を知りたい⇒CookieSync
14 CookieSync
15 CookieSync hoge.com fuga.org ①hoge.comへのアクセス ①http://hoge.com
16 CookieSync hoge.com fuga.org ①hoge.comへのアクセス ②hoge.comのcookie(hoge_id:xxx)がセットされる ・1st party cookieのセット ①http://hoge.com
②hoge_id=xxx Cookie情報 ②hoge_id:xxx
17 CookieSync hoge.com fuga.org ①hoge.comへのアクセス ②hoge.comのcookie(hoge_id:xxx)がセットされる ・1st party cookieのセット ③hoge.comに貼られたfuga.orgのタグによりfuga.orgへリクエスト
・hoge.comのhoge_id:xxxをGETパラメータに付与 ①http://hoge.com ②hoge_id=xxx Cookie情報 ②hoge_id:xxx ③http://fuga.org?hoge_id=xxx
18 CookieSync hoge.com fuga.org ①hoge.comへのアクセス ②hoge.comのcookie(hoge_id:xxx)がセットされる ・1st party cookieのセット ③hoge.comに貼られたfuga.orgのタグによりfuga.orgへリクエスト
・hoge.comのhoge_id:xxxをGETパラメータに付与 ④fuga.orgのcookie(fuga_id:111)がセットされる ・3rd party cookieのセット ①http://hoge.com ②hoge_id=xxx Cookie情報 ②hoge_id:xxx ④fuga_id:111 ③http://fuga.org?hoge_id=xxx ④ fuga_id=111
19 CookieSync hoge.com fuga.org ①hoge.comへのアクセス ②hoge.comのcookie(hoge_id:xxx)がセットされる ・1st party cookieのセット ③hoge.comに貼られたfuga.orgのタグによりfuga.orgへリクエスト
・hoge.comのhoge_id:xxxをGETパラメータに付与 ④fuga.orgのcookie(fuga_id:111)がセットされる ・3rd party cookieのセット ⑤fuga.orgでは、hoge_id:xxx = fuga_id:111であると認識できる ・CookieSync ①http://hoge.com ②hoge_id=xxx Cookie情報 ②hoge_id:xxx ④fuga_id:111 ③http://fuga.org?hoge_id=xxx ④ fuga_id=111 ⑤hoge_id=xxx fuga_id=111
20 CookieSync hoge.com fuga.org ①hoge.comへのアクセス ②hoge.comのcookie(hoge_id:xxx)がセットされる ・1st party cookieのセット ③hoge.comに貼られたfuga.orgのタグによりfuga.orgへリクエスト
・hoge.comのhoge_id:xxxをGETパラメータに付与 ④fuga.orgのcookie(fuga_id:111)がセットされる ・3rd party cookieのセット ⑤fuga.orgでは、hoge_id:xxx = fuga_id:111であると認識できる ・CookieSync ①http://hoge.com ②hoge_id=xxx Cookie情報 ②hoge_id:xxx ④fuga_id:111 ③http://fuga.org?hoge_id=xxx ④ fuga_id=111 ⑤http://hoge_id=xxx fuga_id=111 本来知り得ない別ドメイン(3rd party) の情報を取得し自ドメイン(1st party) の情報と結合が可能となる
21 CookieSync(DSPとSSP)
22 RTB概観(再掲) SSP1 DSP1 媒体1 媒体n DSP2 DSPn SSPn …
… … 広告在庫の発生を通知 ・媒体毎に定義した属性 ・識別子 をSSPへ通知 この識別子に関する情報を事前に知っていると ・ターゲティングしたいユーザーかどうかを知っている状態 ・そのため、オークションで有利になる DSPはSSPの識別子情報を知りたい⇒CookieSync
23 CookieSync初回 SSP1 DSP1 媒体1 媒体n DSP2 DSPn SSPn …
… … 広告配信 オークションに勝った ので広告出して下さい。 CPM50円+マージン n%で合計CPMは◦円 です。 ・CookieSyncを行なっていないユーザーの情報はないため、初回の オークションはいい感じに行う ・オークション終了後にCookieSyncを行う →全SSPとDSPがCookieSyncしてると広告表示まで時間がかかるため
24 CookieSync初回 SSP1 DSP1 媒体1 媒体n DSP2 DSPn SSPn …
… … 広告配信 ②このオーディエンス はdsp_id=xxxですね オークションに勝ったの で広告出して下さい。 CPM50円+マージンn% で合計CPMは◦円です。 ①このオーディエンスは ssp_id=111ですよ。 ①ssp_id=111 ②dsp_id=xxx ①ssp_id=111 ②dsp_id=xxx ・DSPにはssp_idとdsp_idのマッピングテーブルが作られる ・別途ビーコンにより表示した広告のクリックやコンバージョン情報も貯める
25 CookieSync2回目以降 SSP1 DSP1 媒体1 媒体n DSP2 DSPn SSPn …
… … オークションの実施 ssp_id=111のオー ディエンスに広告だ しませんか? ①ssp_id=111 ②dsp_id=xxx ssp_id=111は前回広告 出して反応良かった ユーザーだから確実に 落札したい CPMは多少高めで応 札して確実に落札! と、いう具合にとにかくDSPはオーディエンスの情報を集めたい 集めれば集めるほど、うまく使えると有利になるのです。
◦ DSPはデータがあった方が効果が出しやすい(かもしれない) ◦ なので、データをたくさん集めたい ◦ が、DSPは基本的にSSPからの情報、配信広告のログ情報しか集めるこ とができない ◦ 外部からデータを集めることも可能であるが本業ではない ◦
データを収集/解析/提供することに特化したDMPの登場 26
27 DMPのデータ収集
28 CookieSync hoge.com DMP jsタグ ①http://hoge.com ①hoge.comへのアクセス
29 CookieSync hoge.com DMP jsタグ ①http://hoge.com ②hoge_id=xxx Cookie情報 ②hoge_id:xxx ①hoge.comへのアクセス
②hoge.comのCookie発行 ・hoge_id=xxx
30 CookieSync hoge.com DMP jsタグ ①http://hoge.com ②hoge_id=xxx ③http://DMP.net?hoge_id=xxx Cookie情報 ②hoge_id:xxx
①hoge.comへのアクセス ②hoge.comのCookie発行 ・hoge_id=xxx ③仕込まれたタグによってDMPへリクエスト ・DMPにhoge_id=xxxが伝わる
31 CookieSync hoge.com DMP jsタグ ①http://hoge.com ②hoge_id=xxx ③http://DMP.net?hoge_id=xxx ④dmp_id=111 Cookie情報
②hoge_id:xxx ④dmp_id:111 ①hoge.comへのアクセス ②hoge.comのCookie発行 ・hoge_id=xxx ③仕込まれたタグによってDMPへリクエスト ・DMPにhoge_id=xxxが伝わる ④DMPのCookie発行 ・dmp_id=111
32 CookieSync hoge.com DMP jsタグ ①http://hoge.com ②hoge_id=xxx ③http://DMP.net?hoge_id=xxx ④dmp_id=111 Cookie情報
②hoge_id:xxx ④dmp_id:111 ①hoge.comへのアクセス ②hoge.comのCookie発行 ・hoge_id=xxx ③仕込まれたタグによってDMPへリクエスト ・DMPにhoge_id=xxxが伝わる ④DMPのCookie発行 ・dmp_id=111 ⑤DMPでcookie_idのマッピングテーブル更新 マッピングテーブル ⑤xxx=111
33 CookieSync hoge.com DMP jsタグ ①http://hoge.com ②hoge_id=xxx ③http://DMP.net?hoge_id=xxx ④dmp_id=111 Cookie情報
②hoge_id:xxx ④dmp_id:111 ①hoge.comへのアクセス ②hoge.comのCookie発行 ・hoge_id=xxx ③仕込まれたタグによってDMPへリクエスト ・DMPにhoge_id=xxxが伝わる ④DMPのCookie発行 ・dmp_id=111 ⑤DMPでcookie_idのマッピングテーブル更新 マッピングテーブル ⑤xxx=111
34 CookieSync fuga.org DMP jsタグ ⑥http://fuga.org Cookie情報 ②hoge_id:xxx ④dmp_id:111 ⑥fuga.orgへのアクセス
マッピングテーブル ⑤xxx=111
35 CookieSync fuga.org DMP jsタグ ⑥http://fuga.org ⑦fuga_id=abc Cookie情報 ②hoge_id:xxx ④dmp_id:111
⑦fuga_id:abc ⑥fuga.orgへのアクセス ⑦fuga.orgのCookie発行 ・fuga_id=abc マッピングテーブル ⑤xxx=111
36 CookieSync fuga.org DMP jsタグ ⑥http://fuga.org ⑦fuga_id=abc ⑧http://DMP.net?fuga_id=abc Cookie情報 ②hoge_id:xxx
④dmp_id:111 ⑦fuga_id:abc ⑥fuga.orgへのアクセス ⑦fuga.orgのCookie発行 ・fuga_id=abc ⑧仕込まれたタグによってDMPへリクエスト ・DMPにfuga_id=abcが伝わる マッピングテーブル ⑤xxx=111
37 CookieSync fuga.org DMP jsタグ ⑥http://fuga.org ⑦fuga_id=abc ⑧http://DMP.net?fuga_id=abc Cookie情報 ②hoge_id:xxx
④dmp_id:111 ⑦fuga_id:abc ⑥fuga.orgへのアクセス ⑦fuga.orgのCookie発行 ・fuga_id=abc ⑧仕込まれたタグによってDMPへリクエスト ・DMPにfuga_id=abcが伝わる ⑨DMPのcookieを既に持っているので cookie_idのマッピングテーブル更新 マッピングテーブル ⑤xxx=111 ⑨xxx=abc
38 CookieSync fuga.org DMP jsタグ ⑥http://fuga.org ⑦fuga_id=abc ⑧http://DMP.net?fuga_id=abc Cookie情報 ②hoge_id:xxx
④dmp_id:111 ⑦fuga_id:abc ⑥fuga.orgへのアクセス ⑦fuga.orgのCookie発行 ・fuga_id=abc ⑧仕込まれたタグによってDMPへリクエスト ・DMPにfuga_id=abcが伝わる ⑨DMPのcookieを既に持っているので cookie_idのマッピングテーブル更新 マッピングテーブル ⑤xxx=111 ⑨xxx=abc いろんなシステムとIDのsyncをしておくと、 後でIDをkeyとして各システムの情報を取得可能となる
39 DMPによるデータ収集 出典:http://www.adopsinsider.com/online-ad-measurement-tracking/data-management-platforms/syncing-online-data-to-a-data-management-platform/
◦ タグを設置すればデータ収集は可能となる。が、タグを設置したサイト のPV数分を受ける必要がある ◦ 大量のデータが貯まるため大規模なストレージも必要 ◦ データを集めるところの参入障壁は低い ◦ どのようなデータを持っていて、どのように解析を行うか、が重要 40
41 Cookieの限界
42 Firefox22の3rd party cookieのポリシー ・3rd party cookieをデフォルトでblock → ✕ ・既にCookieが保存されているドメインなら3rd
party cookieの読み書きOK ・新規での3rd party cookieの保存をブロック
43 Cookieに対する各ブラウザのポリシー ブラウザ ポリシー Chrome すべてのCookieを許可する Internet Explore P3P compact
policy準拠 実際はほぼ全てのCookieを許可す る Firefox 1st partyのcookieは問題なく許可 3rd partyのcookieは一度でも保存 したドメインのもののみ許可 Safari 1st partyのcookieは問題なく許可 3rd partyのcookieは一度でも保存 したドメインのもののみ許可 ・3rd party Cookieを活用する今のアドテク技術としては エコシステムに大きな影響が発生しうる ・1st partyのCookieをセットする機会の多いメディアには 大きな優位性を与える
44 Cookieの限界 Cookie非対応のモバイルデバイス、ネイティブアプリ、DNTヘッダー、etc… Cookieをベースとした技術が適用しづらいケースが増えている
45 IABでもCookieについて考えましょうという流れになっている http://www.slideshare.net/jordanmitchell/iab-ad-technology-council-future-of-the-cookie
46 AdTruth ・情報理論を用いて確率的にデバイス識別のIDを発行する ・UserAgent文字列、システムフォント、TimeZone、etc…の情報を利用する ・AdTruth自体は直接データ収集を行わず、ID生成エンジンを提供する Webペー ジ Recipe Engine AdTruthのシステムを
導入して構築 jsタグ APIコール ID生成 Internet
47 AdTruthと類似した技術 https://panopticlick.eff.org/
48 Windows7+Chrome Mac+Chrome UA文字列からエントロピーという情報量を算出している ・値が大きいほどより大きな情報を持っている ・Macの方がユーザー数が少ないため UA以外にもいろいろな情報を組み合わせる
◦ 今のアドテクはCookieをベースにした技術がほとんど ◦ ただし、Cookieベースの技術が危うくなりつつある状況 ◦ 特にFirefox22問題は、今後かなり大きな話になっていきそうな予感 49 まとめ https://gist.github.com/mala/5028502