14
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[ITP 2.0] Google広告でクロスドメインのコンバージョン計測をするためのTODO

Last updated at Posted at 2019-03-02

#はじめに:

##やりたいこと
Safariブラウザでもコンバージョン計測がしたい。
 日本のiPhone普及率を考えると、ここは無視できないところ。

##そのために
・ファーストパーティークッキー(後述しますが、_gcl_aw/_gac)を生成する。
・広告をクリックした直後のランディングページと、コンバージョン計測したいページのドメインが異なる場合(クロスドメイン)、特別な方法でクッキーを渡してあげる必要がある。

##しかし
・Googleの資料を見ても、クロスドメイントラッキングの話がなかなかない。
(これ解決しないと、ITP対応できないでしょうに!)
Google 広告のコンバージョンをトラッキングする方法
こんなん読んでも、ファーストパーティー、どころか、クッキーの「ク」の字もない。

##そこで、
参考資料:
 ・コンバージョン トラッキングの実装を検証する
 ・Google アナリティクスによるウェブサイトでの Cookie の使用
 ・Google 広告の自動タグ設定が正常に機能するか確認する
 ・ドメインをまたぐカスタマー ジャーニーを測定する

ここらの資料をすべてまとめてみました。

#ドメインをまたいでクッキーの引継ぎをするために
・GTMコンバージョンリンカー
・gtagでset linker
いずれかの方法で、クロスドメインの設定が必要になります。

#① Googleタグマネージャーで設定する場合
CV linker.PNG
・ドメイン間のリンクの有効可にチェック
・カンマつなぎで、複数ドメインを登録する
・ドメインまたぎの瞬間がフォームの送信(カートに入れた瞬間にドメインが変わる場合など)の時には、「装飾フォーム: true」にする必要あり
 (これが結構罠。デフォルトtrueではダメなんか...)
・トリガーはページビュー: All pages
#② gtagでset linkerの設定する場合
・以下のコードでドメイン間のリンクを有効にしてあげます。
・が、かならず gtag('js', new Date());よりも早く呼ぶ必要があります。
(テストしましたが、クッキー引き継げなかったです。これも罠。)

...
gtag('set', 'linker', {
  'domains': ['exampleA.com', 'exampleB.com'],
  'decorate_forms': true // trueにしておきましょう。
});
gtag('js', new Date());
...

よって、最終的な形はこうなります。

<script async src="https://www.googletagmanager.com/gtag/js?id=AW-XXXXXXXX"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}  
  gtag('set', 'linker', {
    'domains': ['exampleA.com', 'exampleB.com'],
    'decorate_forms': true
  });   
  gtag('js', new Date());
  gtag('config', 'AW-XXXXXXXX');
</script>

#③ 本当にクロスドメインでクッキーを引き継げているのか?の検証
Google広告にて、コンバージョン計測に活用できるファーストパーティークッキーは2つです。
・_gcl_aw (Google広告のクッキー)
・_gac  (※アナリティクスのクッキーです。アカウントのリンクが必要)

よって、「自動タグ設定にて付与された_gcl_aw / _gacを、ドメインAからドメインBに引き継げているかどうか」の検証が必要ですね。

#④ 検証方法
##手順1. gclid付与(広告クリックの状態を疑似的に再現)
「?gclid=xxxxx」とドメインAにてURLに付与
##手順2. クッキー確認
デベロッパーツールにて、「_gcl_aw」というクッキーが生成されたか確認
※_gcl_aw=xxxxx(gclidで付与した値) という形式のクッキーです
クッキーの生成.PNG

##手順3. ドメインを移動して、URLのクエリパラメータを確認(? or &_gl=...)
ユーザーと同じ導線でドメインBへ。URLに「?_gl=1xxxxxx_gcl_aw*xxxxx」というクエリが付くのを確認してください!(この中にクッキーの情報が入っているイメージ)
もし、リダイレクトしていてこのクエリパラメータが失われているいるようであれば、リダイレクトの設定を変更します。

Google公式: Google 広告の自動タグ設定が正常に機能するか確認する

リダイレクトがサーバーサイドの設定によって発生している場合は、リダイレクトが発生しないようサーバーの設定を変更します。方法はウェブサーバーによって異なります。たとえば Apache サーバーの場合は、.htaccess ファイルでリダイレクトの設定を行います。リダイレクトを回避できない場合は、リダイレクトの際に gclid などのクエリ パラメータが最初の URL から最終ページ URL に渡されるよう、サーバーを設定します。たとえば、自動タグ設定を使用している最終ページ URL が www.example.com/redirecting-page?gclid=TeSter-123 であれば、ユーザーのリダイレクト先が www.example.com/new-url?gclid=TeSter-123 になるようにします(ページの URL は変化しているものの、gclid パラメータはそのままである点に注目しましょう)。

※ 上記の「?gclid=」を「?_ gl=」に読み替えてください。
  gclidは広告クリック直後の1回のみ、_glはクロスドメインの際に付与されるクエリパラメータです。

##手順4. ドメインBでクッキーを確認
ドメインBにて、手順2でチェックしたクッキーと同じものが引き継がれていれば、ドメインBへのファーストパーティークッキーの引き継ぎ完了です。
##プラグイン SUGOI!Cookies: gclid tester for Google Ads
SUGOI!Cookies: gclid tester for Google Ads
440-280.png

・手動での検証方法が面倒なので、プラグインを作ってみました。 気になる方は試してみてください。
・あくまで個人の趣味で開発してますが、バグがあれば直すので一報いただけると嬉しいです。随時改善中です。

#⑤ 補足: コンバージョンデータ送信時のHTTP通信を見てみる 
 - もし本当の本当に「コンバージョン計測時にファーストパーティークッキーのデータを送信できているのかどうか」気になるのであれば、コンバージョン計測時のHTTPリクエストを確認してみましょう。

##手順1 コンバージョンのHTTPリクエストを探す
デベロッパーツール=> Network
=> www.googleadservices.com/pagead/conversion/ で検索
##手順2 ファーストパーティークッキーが送られているか確認
この通信にて、「_gcl_aw / _gac」が送信されていれば安心です。

クッキー.PNG

※Googleアナリティクスのクロスドメイン設定ができている、かつ、アカウントのリンクができている場合、_gacというクッキーも活用できます。

#まとめ
・Google広告のコンバージョン計測で使えるファーストパーティーは「_gcl_aw」「_gac」の2つ。今回は「_gcl_aw」をクロスドメインで引き継ぐための話でした。

・クッキーを渡す側(ドメインA)、もらう側(ドメインB)のいずれもで、
 「GTM」 OR 「gtag」でのクロスドメイン設定の実装が必要になります。

以上です!

14
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?