1
1

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 3 years have passed since last update.

Googleアナリティクス:クロスドメイン広告コンバージョン計測の実装パターンと検証

Last updated at Posted at 2019-12-01

#概要
ランディングページとサンクスページのドメインが異なるサイトにおいて、Googleアナリティクスが広告コンバージョンを計測するために必要な設定は何か?どう動くのか?を考察・検証したノートです。

さて、前回の記事「Google広告:クロスドメインコンバージョン計測の実装パターンを検証」とはどのような違いがあるのでしょうか。

※以降、ランディングページ~サンクスページの間で異なるドメインへ遷移することを「クロスドメイン」と呼びます。

#結論
##計測の仕組み
Google Analytics Conversion Mechanism.png

ランディングページのURLパラメータを計測に使う

Google広告とは異なり、コンバージョンポイントではクリックIDを格納したCookieは利用しません。Googleアナリティクスは、ランディングページにアクセスした際、以下いずれかのURLパラメータを元にして流入元を判別しています。

  • クリックID:gclid
  • カスタムキャンペーンパラメータ:utm_source``utm_medium

###クロスドメイン時、トラッキングCookieを次のドメインに引き渡す
ユーザーがコンバージョンすると、Cookieの識別IDをキーにして上記流入元情報とコンバージョンデータがGoogleアナリティクスで紐づけられ、「そのユーザーのそのセッションのコンバージョンは広告経由のものである」と判別されます。

このCookieは、まずそのランディングページで作られてブラウザに保持されます。しかし、Cookieは本来ドメイン単位で作られるものなので、異なるドメイン(自分のサイト)にはそのままでは引き継がれません。すると、そのドメインでは全く別のCookieの識別IDが作られるため、ユーザーをキーとしてコンバージョンなどのトラッキング情報と、それが広告経由であるという情報を紐づけることができなくなります。これを回避するため、クロスドメインではCookieの識別IDを次のドメインに引き渡します。

※なお、クロスドメイン時の挙動を見ると、識別IDとして引き渡されているCookieの情報はclientIdであるため、このclientIdをアナリティクスのサーバーでまず広告コンバージョン計測のキーとして扱っているように見えます(コンバージョン(「目標の完了」)はセッション単位で計測されるのでセッション情報も最終的には絡んでくると思いますが...)。
※Google広告のクロスドメインコンバージョン計測の場合、クリックIDのCookiegclidをコンバージョンポイントまで引き渡し、コンバージョンタグの発火によりそのCookiegclidをGoogle広告に送ることで計測を行っています。これに対してGoogleアナリティクスのクロスドメイン広告コンバージョン計測の場合、gclidをCookieとして利用していません。

##計測の条件
上記「計測の仕組み」整理すると、以下の2つの条件を満たしているとき、Googleアナリティクスでクロスドメイン広告コンバージョンが行われます。

  • [1] ランディングページのURLに特定のパラメータが付与されること(以下)
    • [1-1] Google広告のクリックID: gclid
    • [1-2] Googleアナリティクスのカスタムキャンペーンパラメータ(utmパラメータ): utm_source=google, utm_medium=cpc
  • [2] ドメインが切り替わるとき、次のドメインのページURLのパラメータにcookieclientidの情報が付与されること

##実装方法
上記「計測の条件」を満たすために、以下の2つの実装をしているとき、Googleアナリティクスでクロスドメイン広告コンバージョンが行われます。

  • [1] 以下いずれかの方法によりランディングページのURLに特定のパラメータが付与させる

    • [1-1]「自動タグ設定」を有効にする

    • [1-2] 「Google広告の最終ページURL」のキャンペーンパラメータに以下を追加する

      • utm_source=google
      • utm_medium=cpc

      ※[1-1] 「自動タグ設定」はリンクアカウント(Google広告とアナリティクスをリンク)するときの前提となるため、[1-1]を「リンクアカウントを設定する」と読み変えることも可能です。「自動タグ設定」をするだけでなくリンクアカウントを設定することで、どのアカウント・どのキャンペーンでどのくらい広告コンバージョンが発生したかを知ることができます。
      Google Ads and Analytics - link account.png

  • [2] 以下いずれかの方法によりクロスドメイントラッキングを行う

  • 補足

※[2-1] 「グローバルスニペット」のクロスドメイン用のコード

gtag.js
<!-- Global site tag (gtag.js) - Google Ads: *** -->
<script async src="https://www.googletagmanager.com/gtag/js?id=AW-***"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}

  //クロスドメイン用のコード
  gtag('set', 'linker', {
   'domains': ['masatoemata.github.io', 'myfirsraccount.firebaseapp.com']
  });

  gtag('js', new Date());
  gtag('config', 'AW-***');
</script>

※[2-2] 「ユニバーサルアナリティクス」の「自動リンクドメイン」
cross-domain-tracking-auto-link-domains.png
※{{allDomain}} = masatoemata.github.io,myfirsraccount.firebaseapp.com (定数)

#検証メモ
##検証No.1
以下条件でクロスドメイン広告コンバージョン計測に成功

  • 条件
ツール 設定項目 設定有無
Google広告 リンクアカウント なし
Google広告 自動タグ設定 あり
Googleアナリティクス 目標の完了 あり
Googleタグマネージャー Googleアナリティクス設定変数 - オートリンクドメイン あり
Googleアナリティクス 参照元除外リスト あり(masatoemata.github.io)
Googleタグマネージャー allwaysSendReferer なし
  • 1 ランディングページの確認

URL: https://masatoemata.github.io/test/first.html?gclid=test

カスタムディメンション
client id 1414608377.1575182780
session id 20191201-07053237
((区切り文字は本来"-"だがQiitaのテーブル仕様の都合上"-"で記載))

▽Googleアナリティクス>リアルタイムレポート>トラフィック

表示オプション メディア ソース
ページビュー cpc google
ユーザー cpc google
  • 2 クロスドメイン時の確認

URL: https://myfirsraccount.firebaseapp.com/#_ga=...&_gac=...test

カスタムディメンション
client id 1414608377.1575182780
session id 20191201-02344928

▽Googleアナリティクス>リアルタイムレポート>トラフィック

表示オプション メディア ソース
ページビュー (none) (direct)
ユーザー cpc google
  • 3 コンバージョンポイントの確認

URL: https://myfirsraccount.firebaseapp.com/form_clientId.html

カスタムディメンション
client id 1414608377.1575182780

((区切り文字は本来"-"だがQiitaのテーブル仕様の都合上"-"で記載))
▽Googleアナリティクス>リアルタイムレポート>トラフィック

表示オプション メディア ソース
ページビュー (none) (direct)
ユーザー cpc google
  • ユーザーエクスプローラーレポートの確認
    Google Analytics Conversion UserProfile.png

  • 集客レポートの確認
    ▽集客>すべてのトラフィック>参照元/メディア

参照元/メディア client id ページ/セッション コンバージョン
google / cpc 1414608377.1575182780 3 1

##検証No.2
以下条件でクロスドメイン広告コンバージョン計測に失敗参照元除外リストを削除

  • 条件
ツール 設定項目 設定有無
Google広告 リンクアカウント なし
Google広告 自動タグ設定 あり
Googleアナリティクス 目標の完了 あり
Googleタグマネージャー Googleアナリティクス設定変数 - オートリンクドメイン あり
Googleアナリティクス 参照元除外リスト なし(masatoemata.github.ioを削除)
Googleタグマネージャー alwaysSendReferer なし
  • 1 ランディングページの確認

URL: https://masatoemata.github.io/test/first.html?gclid=test

カスタムディメンション
client id 256899691.1575190838
session id 20191201-05585437

(区切り文字は本来"-"だがQiitaのテーブル仕様の都合上"-"で記載)
▽Googleアナリティクス>リアルタイムレポート>トラフィック

表示オプション メディア ソース
ページビュー cpc google
ユーザー cpc google
  • 2 クロスドメイン時の確認

URL:
https://myfirsraccount.firebaseapp.com/#_ga=...&_gac=...test

カスタムディメンション
client id 256899691.1575190838
session id 20191201-09889877
((区切り文字は本来"-"だがQiitaのテーブル仕様の都合上"-"で記載))
▽Googleアナリティクス>リアルタイムレポート>トラフィック
表示オプション メディア ソース
ページビュー 参照 masatoemata.github.io
ユーザー 参照 masatoemata.github.io
  • 3 コンバージョンポイントの確認

URL:
https://myfirsraccount.firebaseapp.com/form_clientId.html

カスタムディメンション
client id 256899691.1575190838
session id 20191201-09889877
(区切り文字は本来"-"だがQiitaのテーブル仕様の都合上"-"で記載)

▽Googleアナリティクス>リアルタイムレポート>トラフィック

表示オプション メディア ソース
ページビュー (none) (direct)
ユーザー 参照 masatoemata.github.io
  • ユーザーエクスプローラーレポートの確認
    Google Analytics Conversion UserProfile2.png

  • 集客レポートの確認
    ▽集客>すべてのトラフィック>参照元/メディア

参照元/メディア client id ページ/セッション コンバージョン
google / cpc 1950717675.1575186342 1 0
masatoemata.github.io / referral 1950717675.1575186342 2 1
  • 考察

もし参照元除外をしていれば、クロスドメイン時のページでメディア/ソースが「(direct) / (none)」になる(※)。メディア/ソースが「(direct) / (none)」ならば、Googleアナリティクスの仕様上、前回のセッションの参照元/メディアが反映される。それが「cpc / google」ならば広告コンバージョンとして計測されるはずだが、今回実際は参照元除外をしていないため、クロスドメイン前のドメインがメディア/ソース=「参照 / (前のドメイン)」になる。Googleアナリティクスの仕様上、参照元情報が異なるアクセスが行われた場合、トラッキングセッションが切り替わる。したがって、コンバージョンを行った今回のセッションは広告経由であるとは判別されなくなる。
※参照元除外リストにはプロパティに設定されたドメインが自動的に設定される。これを今回削除した。

##検証No.3
以下条件でクロスドメイン広告コンバージョン計測に失敗alwaysSendRefererをTrueに設定)

  • 条件
ツール 設定項目 設定有無
Google広告 リンクアカウント なし
Google広告 自動タグ設定 あり
Googleアナリティクス 目標の完了 あり
Googleタグマネージャー Googleアナリティクス設定変数 - オートリンクドメイン あり
Googleアナリティクス 参照元除外リスト あり(masatoemata.github.io)
Googleタグマネージャー alwaysSendReferer あり
  • 1 ランディングページの確認

URL: https://masatoemata.github.io/test/first.html?gclid=test

カスタムディメンション
client id 398644281.1575249179
session id 20191202-06263977
(区切り文字は本来"-"だがQiitaのテーブル仕様の都合上"-"で記載)

▽Googleアナリティクス>リアルタイムレポート>トラフィック

表示オプション メディア ソース
ページビュー cpc google
ユーザー cpc google
  • 2 クロスドメイン時の確認

URL: https://myfirsraccount.firebaseapp.com/#_ga=...&_gac=...test

カスタムディメンション
client id 398644281.1575249179
session id 20191202-07685228
((区切り文字は本来"-"だがQiitaのテーブル仕様の都合上"-"で記載))

▽Googleアナリティクス>リアルタイムレポート>トラフィック

表示オプション メディア ソース
ページビュー (none) (direct)
ユーザー cpc google
  • 3 コンバージョンポイントの確認

URL:
https://myfirsraccount.firebaseapp.com/form_clientId.html

カスタムディメンション
client id 398644281.1575249179
session id 20191202-07685228
(区切り文字は本来"-"だがQiitaのテーブル仕様の都合上"-"で記載)

▽Googleアナリティクス>リアルタイムレポート>トラフィック

表示オプション メディア ソース
ページビュー 参照 myfirsraccount.firebaseapp.com
ユーザー 参照 myfirsraccount.firebaseapp.com
  • ユーザーエクスプローラーレポートの確認
3回目_user-explorer.png
  • 集客レポートの確認
    ▽集客>すべてのトラフィック>参照元/メディア
参照元/メディア client id ページ/セッション コンバージョン
google / cpc 398644281.1575249179 2 0
myfirsraccount.firebaseapp.com / referral 398644281.1575249179 1 1
  • 考察

もし、alwaysSendRefererを設定していなければ、クロスドメイン時のページでメディア/ソースが「(direct) / (none)」になる。メディア/ソースが「(direct) / (none)」ならば、Googleアナリティクスの仕様上、前回のセッションの参照元/メディアが反映される。今回はそれが「cpc / google」であるため、広告コンバージョン計測が可能。これに対して今回実際はalwaysSendRefererを設定していないため、常に参照元として「参照 / (前のドメイン)」がセットされる。Googleアナリティクスの仕様上、参照元情報が異なるアクセスが行われた場合、トラッキングセッションが切り替わる。したがって、今回コンバージョンを行ったセッションは広告経由であるとは判別されなくなっている。

##検証No.4
以下条件でクロスドメイン広告コンバージョン計測に失敗(ランディングページのURLパラメータgclidを設定せず、手動でCookieにgclid情報をセット)

ツール 設定項目 設定有無
Google広告 リンクアカウント なし
Google広告 自動タグ設定 なし
Googleアナリティクス 目標の完了 あり
Googleタグマネージャー Googleアナリティクス設定変数 - オートリンクドメイン あり
Googleアナリティクス 参照元除外リスト あり(masatoemata.github.io)
Googleタグマネージャー allwaysSendReferer なし
参照元/メディア client id ページ/セッション コンバージョン
(direct) / (none) 177811258.1575208490 3 1

#備考
##参照元/メディアとセッションの関係
この実験で見たように、以下の挙動はGoogleアナリティクスの仕様です:

  • 参照元/メディアが変化したときにトラッキングセッションが切り替わる
  • ただし、そのヒットの参照元/メディアが(none)/(direct)のときは前回のセッションの参照元/メディアが反映され、同一セッションとなる

##クリックIDのCookieについて
この実験では、Googleアナリティクスの広告コンバージョン計測のためにクリックIDのCookieが不要であることを確かめるために、コンバージョンポイント到達前にクリックIDのCookie(_gac_Ua-***,_gcl_aw)をブラウザから削除しておきました。

##リンクアカウントについて
リンクアカウントについて詳しくは未検証なのでいずれチェックしてみたいと思います。


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

\ Follow Me! /
Qiitaアカウント
Twitterアカウント

1
1
2

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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?