【Google広告】オーディエンスリスト・SSPへのデータ送信内容の検証ノート(Cookie/HTTPリクエスト)

リマーケティング広告が表示されるとき、Webサイト側ではどのようなCookieが使われ、HTTPリクエストが行われているのか？

広告主ページでGoogleリマーケティング広告のタグが発火し、媒体メディアで広告表示が行われるまでの仕組みをクライアントサイドで確認・記録したノートです。
※何か訂正・追記すべき点があれば、お気軽に突っ込んでいただければ幸いです。

#仮説
①広告主サイトにおけるリマーケティングタグ発火時、広告用のCookieが生成され、広告サーバーに送信されている（つまり、そのCookieは広告サーバーのCookieである）
②媒体サイトの閲覧時、上記広告サーバードメインのCookieが、同じドメイン名またはサブドメイン名を持つ広告サーバーに送信される
③①と②のCookie情報は同じものであり、特定のオーディエンスに適した広告を表示させるためのキー情報として使われる

#予備調査
[「SSP DSP 仕組み」](https://www.google.com/search?q=SSP+DSP+%E4%BB%95%E7%B5%84%E3%81%BF&oq=SSP+DSP+%E4%BB%95%E7%B5%84%E3%81%BF&aqs=chrome..69i57.6863j0j7&sourceid=chrome&ie=UTF-8)を確認した。
ざっくり今回の検証に関係ありそうな箇所を見ると、以下のように広告が配信されている模様：
①媒体ページ(広告を表示するメディア、ブログ)からSSPにHTTPリクエストが行われる
②次にSSPがサーバーサイドでDSPとのやり取りを行う
③最終的にDSPが広告クリエイティブを配信する
つまり、媒体ページから送信しているデータを見るということは、SSPへのHTTPリクエストを確認することを意味するらしい。

#取得データ
以下の前提に基づいて検証を行う。
「もし、
・広告主サイトAでのHTTPリクエスト内容
・広告主サイトBでのHTTPリクエスト内容
・媒体サイトCでのHTTPリクエスト内容
に共通する情報があれば、それをキーとしてオーディエンスとクリエイティブが紐づけられている」

##1. ECサイトAを閲覧
###■開発者ツール>Network>General
```
Request URL: https://googleads.g.doubleclick.net/pagead/viewthroughconversion/927234480/?random=1576051207786&cv=9&fst=1576051207786&num=1&guid=ON&resp=GooglemKTybQhCsO&eid=376635471&u_h=720&u_w=1280&u_ah=720&u_aw=1206&u_cd=24&u_his=2&u_tz=540&u_java=false&u_nplug=3&u_nmime=4&gtm=2wgav9&sendb=1&ig=1&data=dynx_itemid%3D%3Bdynx_itemid2%3D%3Bdynx_pagetype%3Dhome%3Bdynx_totalvalue%3D0&frm=0&url=https%3A%2F%2Fwww.EC-Site-A.jp%2F&tiba=%E7%B5%90%E5%A9%9A%E5%BC%8F%E3%83%91%E3%83%BC%E3%83%86%E3%82%A3%E3%83%BC%E3%81%AE%E3%83%AC%E3%83%B3%E3%82%BF%E3%83%AB%E3%83%89%E3%83%AC%E3%82%B9%E3%83%BB%E3%82%A2%E3%82%A4%E3%83%86%E3%83%A0%E3%81%AF**EcSiteA**&hn=www.googleadservices.com&async=1&rfmt=3&fmt=4
Request Method: GET
Status Code: 200 
Remote Address: 216.58.197.194:443
Referrer Policy: no-referrer-when-downgrade
```

###■開発者ツール>Network>Request Header
```
:authority: googleads.g.doubleclick.net
:method: GET
:path: /pagead/viewthroughconversion/927234480/?random=1576051207786&cv=9&fst=1576051207786&num=1&guid=ON&resp=GooglemKTybQhCsO&eid=376635471&u_h=720&u_w=1280&u_ah=720&u_aw=1206&u_cd=24&u_his=2&u_tz=540&u_java=false&u_nplug=3&u_nmime=4&gtm=2wgav9&sendb=1&ig=1&data=dynx_itemid%3D%3Bdynx_itemid2%3D%3Bdynx_pagetype%3Dhome%3Bdynx_totalvalue%3D0&frm=0&url=https%3A%2F%2Fwww.EC-Site-A.jp%2F&tiba=%E7%B5%90%E5%A9%9A%E5%BC%8F%E3%83%91%E3%83%BC%E3%83%86%E3%82%A3%E3%83%BC%E3%81%AE%E3%83%AC%E3%83%B3%E3%82%BF%E3%83%AB%E3%83%89%E3%83%AC%E3%82%B9%E3%83%BB%E3%82%A2%E3%82%A4%E3%83%86%E3%83%A0%E3%81%AF**EcSiteA**&hn=www.googleadservices.com&async=1&rfmt=3&fmt=4
:scheme: https
accept: */*
accept-encoding: gzip, deflate, br
accept-language: ja-JP,ja;q=0.9,en-US;q=0.8,en;q=0.7
cookie: IDE=AHWqTUnMUqTyZTQP_nm5faES9hsvg_WmUxo6p8pGk8iPtjeK2wt9wkXuVM1R7Tub; DSID=ADyxuku4cmUy_kFWILLnBPB7UwA7C2BlF_NlRJKfBFGYt8yFTVacda2dV8mfH8FjVS3bns9i1lu9jc405BViEAVyP2g-jZjmivHuSOK1le9BBTSGzjFzScM
referer: https://www.EC-Site-A.jp/
sec-fetch-mode: no-cors
sec-fetch-site: cross-site
user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36
x-client-data: CIy2yQEIorbJAQjEtskBCKmdygEI4qjKAQjqrMoBCJytygEIy67KAQjdrsoBCLywygEIzrDKAQjoscoBCMSyygEI97TKAQjwtcoBGKukygE=
```

##2. ECサイトBを閲覧
###■開発者ツール>Network>General

```
Request URL: https://googleads.g.doubleclick.net/pagead/viewthroughconversion/973839095/?random=1576062220918&cv=9&fst=1576062220918&num=1&guid=ON&resp=GooglemKTybQhCsO&u_h=720&u_w=1280&u_ah=720&u_aw=1206&u_cd=24&u_his=2&u_tz=540&u_java=false&u_nplug=3&u_nmime=4&gtm=2wgav9&sendb=1&ig=1&data=ecomm_pagetype%3Dhome&frm=0&url=https%3A%2F%2FEC-Site-B.com%2F&tiba=%E3%80%90COACH%E3%80%91%E3%82%B3%E3%83%BC%E3%83%81%E5%85%AC%E5%BC%8F%E3%82%AA%E3%83%B3%E3%83%A9%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%82%A2&hn=www.googleadservices.com&async=1&rfmt=3&fmt=4
Request Method: GET
Status Code: 200 
Remote Address: 216.58.197.162:443
Referrer Policy: strict-origin-when-cross-origin
```

###■開発者ツール>Network>Request Header

```
:authority: googleads.g.doubleclick.net
:method: GET
:path: /pagead/viewthroughconversion/973839095/?random=1576062220918&cv=9&fst=1576062220918&num=1&guid=ON&resp=GooglemKTybQhCsO&u_h=720&u_w=1280&u_ah=720&u_aw=1206&u_cd=24&u_his=2&u_tz=540&u_java=false&u_nplug=3&u_nmime=4&gtm=2wgav9&sendb=1&ig=1&data=ecomm_pagetype%3Dhome&frm=0&url=https%3A%2F%2FEC-Site-B.com%2F&tiba=%E3%80%90COACH%E3%80%91%E3%82%B3%E3%83%BC%E3%83%81%E5%85%AC%E5%BC%8F%E3%82%AA%E3%83%B3%E3%83%A9%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%82%A2&hn=www.googleadservices.com&async=1&rfmt=3&fmt=4
:scheme: https
accept: */*
accept-encoding: gzip, deflate, br
accept-language: ja-JP,ja;q=0.9,en-US;q=0.8,en;q=0.7
cookie: IDE=AHWqTUnMUqTyZTQP_nm5faES9hsvg_WmUxo6p8pGk8iPtjeK2wt9wkXuVM1R7Tub; DSID=ADyxuku4cmUy_kFWILLnBPB7UwA7C2BlF_NlRJKfBFGYt8yFTVacda2dV8mfH8FjVS3bns9i1lu9jc405BViEAVyP2g-jZjmivHuSOK1le9BBTSGzjFzScM
referer: https://EC-Site-B.com/
sec-fetch-mode: no-cors
sec-fetch-site: cross-site
user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36
x-client-data: CIy2yQEIorbJAQjEtskBCKmdygEI4qjKAQjqrMoBCJytygEIy67KAQjdrsoBCLywygEIzrDKAQjoscoBCMSyygEI97TKAQjwtcoBGKukygE=
```

##3. 媒体サイトCを閲覧
AdSenseタグ：

```js
<script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<script>(adsbygoogle = window.adsbygoogle || []).push({
    google_ad_client: "ca-pub-4444444444444444",
    enable_page_level_ads: true
  });</script>
```
  
###■開発者ツール>Network>General
```
Request URL: https://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-4444444444444444&output=html&h=280&slotname=3436659892&adk=3191907620&adf=3171145786&w=803&fwrn=4&fwrnh=100&lmt=1576051766&rafmt=1&psa=1&guci=2.2.0.0.2.2.0.0&format=803x280&url=https%3A%2F%2Fsekai-ju.com%2Flife%2Fvnm%2Fimmigration%2Fhanoi-iju02%2F&flash=0&fwr=0&fwrattr=true&rpe=1&resp_fmts=3&wgl=1&adsid=ChEIgMTC7wUQsvumj7bT-_PoARI7AGGnu5AHIK7ksYXvAJnUuPNQGdc21HO8i-xdr8TpiHyJocoatRj98_e4SGlj9CYnLWZlpGV-y93tToA&dt=1576051766337&bpp=11&bdt=324&fdt=472&idt=472&shv=r20191205&cbv=r20190131&saldr=aa&abxe=1&prev_fmts=0x0%2C803x200&nras=1&correlator=7998924410473&frm=20&pv=1&ga_vid=485391096.1576050821&ga_sid=1576051767&ga_hid=1824216713&ga_fc=0&iag=0&icsg=844424930044586&dssz=49&mdo=0&mso=0&u_tz=540&u_his=4&u_java=0&u_h=720&u_w=1280&u_ah=720&u_aw=1206&u_cd=24&u_nplug=3&u_nmime=4&adx=17&ady=3803&biw=837&bih=618&scr_x=0&scr_y=3329&eid=21065125&oid=3&pvsid=3427828749747898&pem=747&ref=https%3A%2F%2Fwww.google.com%2F&rx=0&eae=0&fc=1920&brdim=0%2C0%2C0%2C0%2C1206%2C0%2C1206%2C720%2C853%2C618&vis=1&rsz=%7C%7CoeE%7C&abl=CS&pfx=0&fu=144&bc=31&jar=2019-12-11-07&ifi=2&uci=a!2&fsb=1&xpc=qPXrye7Woc&p=https%3A//sekai-ju.com&dtd=487
Request Method: GET
Status Code: 200 
Remote Address: 172.217.31.130:443
Referrer Policy: no-referrer-when-downgrade
```
###■開発者ツール>Network>Request Header
```
:authority: googleads.g.doubleclick.net
:method: GET
:path: /pagead/ads?client=ca-pub-4444444444444444&output=html&h=280&slotname=3436659892&adk=3191907620&adf=3171145786&w=803&fwrn=4&fwrnh=100&lmt=1576051766&rafmt=1&psa=1&guci=2.2.0.0.2.2.0.0&format=803x280&url=https%3A%2F%2Fsekai-ju.com%2Flife%2Fvnm%2Fimmigration%2Fhanoi-iju02%2F&flash=0&fwr=0&fwrattr=true&rpe=1&resp_fmts=3&wgl=1&adsid=ChEIgMTC7wUQsvumj7bT-_PoARI7AGGnu5AHIK7ksYXvAJnUuPNQGdc21HO8i-xdr8TpiHyJocoatRj98_e4SGlj9CYnLWZlpGV-y93tToA&dt=1576051766337&bpp=11&bdt=324&fdt=472&idt=472&shv=r20191205&cbv=r20190131&saldr=aa&abxe=1&prev_fmts=0x0%2C803x200&nras=1&correlator=7998924410473&frm=20&pv=1&ga_vid=485391096.1576050821&ga_sid=1576051767&ga_hid=1824216713&ga_fc=0&iag=0&icsg=844424930044586&dssz=49&mdo=0&mso=0&u_tz=540&u_his=4&u_java=0&u_h=720&u_w=1280&u_ah=720&u_aw=1206&u_cd=24&u_nplug=3&u_nmime=4&adx=17&ady=3803&biw=837&bih=618&scr_x=0&scr_y=3329&eid=21065125&oid=3&pvsid=3427828749747898&pem=747&ref=https%3A%2F%2Fwww.google.com%2F&rx=0&eae=0&fc=1920&brdim=0%2C0%2C0%2C0%2C1206%2C0%2C1206%2C720%2C853%2C618&vis=1&rsz=%7C%7CoeE%7C&abl=CS&pfx=0&fu=144&bc=31&jar=2019-12-11-07&ifi=2&uci=a!2&fsb=1&xpc=qPXrye7Woc&p=https%3A//sekai-ju.com&dtd=487
:scheme: https
accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
accept-encoding: gzip, deflate, br
accept-language: ja-JP,ja;q=0.9,en-US;q=0.8,en;q=0.7
cookie: IDE=AHWqTUnMUqTyZTQP_nm5faES9hsvg_WmUxo6p8pGk8iPtjeK2wt9wkXuVM1R7Tub; DSID=ADyxuku4cmUy_kFWILLnBPB7UwA7C2BlF_NlRJKfBFGYt8yFTVacda2dV8mfH8FjVS3bns9i1lu9jc405BViEAVyP2g-jZjmivHuSOK1le9BBTSGzjFzScM
referer: https://sekai-ju.com/life/vnm/immigration/hanoi-iju02/
sec-fetch-mode: nested-navigate
sec-fetch-site: cross-site
upgrade-insecure-requests: 1
user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36
x-client-data: CIy2yQEIorbJAQjEtskBCKmdygEI4qjKAQjqrMoBCJytygEIy67KAQjdrsoBCLywygEIzrDKAQjoscoBCMSyygEI97TKAQjwtcoBGKukygE=
```
###（広告クリエイティブ表示）
```
https://adclick.g.doubleclick.net/pcs/click?xai=***&sai=***&sig=***&urlfix=***&nx=***&ny=***&dim=***&adurl=https://www.sas.com/gms/redirect.jsp%3Fdetail%3DGMS118521_163567
```

#結果の整理
##Cookieについて
少なくとも今回は「1. ECサイトAを閲覧」および「2. ECサイトBを閲覧」において、広告サーバー「.doubleclick.net」をドメインとするCookie「IDE」「DSID」が送信されている。さらにこれらのCookieは「3. 媒体サイトCを閲覧」においても送信されている。念のためこれらのCookieを調べたところ以下の記事のとおり、関連性の高い広告を表示するために使われる、と記載されている。したがって、ECサイト閲覧時、HTTPリクエストでキーとなるこれらのCookieを送り、広告クリエイティブを配信するためにキーとして利用していると考えられる。

[GOOGLE が使用している COOKIE の種類](https://policies.google.com/technologies/types?hl=ja)
>Google は、ウェブで配信する広告にも一つまたは複数の Cookie を使用しています。Google 以外のサイトの場合、主な広告 Cookie の一つは「IDE」という名前であり、ブラウザで doubleclick.net ドメインの下に保存されます。google.comには別のCookieが保存され、ANIDという名前となっています。Google では他にも、DSID、FLC、AID、TAID、exchange_uid といった名前の Cookie も使用しています。YouTube などの他の Google サービスも、こうした Cookie を使用してより関連性の高い広告を表示する場合があります。

※なお、「x-client-data」ヘッダーの情報も両サイトで共通する情報が送られているが、これは以下記事を見る限り関係がないように見える。
>Chrome-Variations header (X-Client-Data) will not contain any personally identifiable information, and will only describe the state of the installation of Chrome itself, including active variations, as well as server-side experiments that may affect the installation.
https://www.google.com/chrome/privacy/whitepaper.html#variations

>Most users are not aware of it but this is header sent with every request sent Google services (and only Google services) to do A/B testing. Google services include most Google domains, including Doubleclick. Even when Google is a third party, the header is sent. Because it’s a header and not a cookie, it is sent even when you block cookies. The only way to not send it is to turn-on “Incognito Mode”.
https://unsearcher.org/more-on-chrome-updates-and-headers


##Google広告リマーケティングタグとCookieの関係
あるサイトで①Google広告リマーケティングタグを設置している場合と②Google広告リマーケティングタグを設置していない場合それぞれで生成される「.doubleclick.net」のCookieを検証し、前者のみCookieが生成された場合、Google広告リマーケティングタグがそのCookieを生成していると結論付ける。
※Cookieはブラウザの開

①あるサイトでGoogle広告リマーケティングタグを設置している場合
「IDE」→生成された
「DSID」→生成されなかった

②あるサイトでGoogle広告リマーケティングタグを設置していない場合
「IDE」→生成されなかった
「DSID」→生成されなかった
※「Request URL: https://googleads.g.doubleclick.net/pagead/viewthroughconversion/***/」 のリクエストヘッダーでもCookie「IDE」のみセットされている

→「DSID」の生成条件に付いては不明だが、少なくとも「IDE」についてはGoogle広告リマーケティングタグが発火することで生成されていることが分かった。
※Cookieの種類については公式ドキュメントにも記載の通り他にもあるが、それらの調査は割愛する。

#リマーケティングタグ発火～広告配信の仕組みのまとめ
広告主のサイトでGoogle広告リマーケティングタグが発火すると、以下の記事で紹介されているCookieが生成される。
https://policies.google.com/technologies/types?hl=ja
その際、このCookieは「.doubleclick.net」のドメインのものとして送信される。
次に、媒体サイトにアクセスすると、AdSenseタグが発火することで「.doubleclick.net」宛に上記のCookieが送信される。
広告サーバー「.doubleclick.net」ではこのCookieをキーとしてオーディエンスと広告の紐づけが行われて（SSP→DSPの仕組みにより）広告が配信される。
※コンテンツの内容に応じた広告についての確認は割愛

#課題
このノートの内容の検証（と特定プロジェクトへの利用）を行うため、該当のCookieを直接送信したら特定の傾向の広告が表示されるのか調べたい。

#備考
##First Party Cookie vs Third Party Cookie
ファーストパーティCookieはそれを設定したサーバーにしか送信されない。逆にサードパーティCookieは他サーバーに送信される
HTTPリクエストを見るとアナリティクスのCookie"_ga"等(1st)はその値がクエリパラメータで送信されているが、広告は直接Cookie"DSID,IDE"等(3rd)がヘッダーで送信されている

※関連資料
[developer.mozilla.org > HTTP Cookie](https://developer.mozilla.org/ja/docs/Web/HTTP/Cookies)
[www.nexal.co.jp > GoogleAnalyticsのCookieは、なぜサードパーティCookieではなく、ファーストパーティCookieなのか？](https://www.nexal.co.jp/blogs/2061.html)

##Facebook広告サーバーへ送信するCookieについて
Facebookログイン(左)/ログアウト(右)のFacebook広告サーバーに送信しているCookieの違い。データの取り方を正しく実装しているのに気持ち少なめにオーディエンスが溜まるのはこうした違いなどでリストに溜める/溜めないの判別がされている模様

<img width="879" alt="facebook-ads-Cookie-login-logout.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/521810/ab608f15-ecff-aa0c-5e5a-faf344558b13.png">

※関連資料
[Facebook.com > ウェブサイトカスタムオーディエンスのサイズについてのトラブルシューティング](https://www.facebook.com/business/help/1523083297982009?id=2469097953376494)
[medium.com/@TechExpertise > Facebook Cookies Analysis](https://medium.com/@TechExpertise/facebook-cookies-analysis-e1cf6ffbdf8a)


---
何かあればお手数ですが、本記事か以下アカウントでお知らせください！

**\ *Follow Me!* /**
**[*Qiitaアカウント*](https://qiita.com/MasatoEmata)**
**[*Twitterアカウント*](https://twitter.com/masatoemata)**