クロスドメイン設定しつつクライアントIDを取得する際の落とし穴

クロスドメイン設定しつつクライアントIDを取得する際の落とし穴

こんにちは、連クミコです。

クライアントIDを取得されているサイトの運営者の方から「Googleアナリティクスでクロスドメイン設定をしたいんだけど、うまく計測ができない」というご相談を頂きまして、分かってしまえば簡単なことなのですが注意が必要だと感じたので、問題点と解決方法をご紹介します。

スポンサーリンク

前提と問題点

Googleタグマネージャを利用して、Googleアナリティクスで計測されているサイトです。

Googleアナリティクスの基本のアクセスを取得しているタグでは、以下のサイトで紹介されている方法を用いてクライアントIDを取得されていました。

GTM経由でもできる!GoogleアナリティクスのClientIDの表示方法
今まで、できそうだけどやり方が分からなかったGoogle Tag Manager経由でGoogleアナリティクスを導入しているときのClientIDの表示方法について解説します。

Googleタグマネージャ側のクロスドメインの設定&クライアントIDの取得設定も、Googleアナリティクス側の参照元除外設定も間違っておらず、ドメインをまたいだ際きちんとリンカーパラメータが表示されるにも関わらず、この時点でリンカーパラメータの情報をGoogleアナリティクス側で受け取れていないようでした。

参考サイト:リンカー  |  ウェブ向けアナリティクス(analytics.js)  |  Google Developers

クライアントIDを取得しつつクロスドメイン設定する方法

結論からお話すると、基本のアクセスを取得しているタグに設定しているトリガーの発火タイミングをページの読み込みが完全に終了した後に変更したことで、解決できました。

次のトリガーを新規作成し、基本のアクセスを取得しているタグのトリガーをこちらに設定し直してください。

トリガーの種類
ページビュー:ウィンドウの読み込み
このトリガーの発生場所
すべてのウィンドウの読み込みイベント

クライアントID情報の取得タイミングとリンカーパラメータの情報取得タイミング

解決策が判明したのは、クライアントID情報の取得タイミングとリンカーパラメータの情報取得タイミングをそれぞれ確認していたときでした。

a. クライアントID情報の取得タイミング

Googleタグマネージャでは、アクセス計測のタイミングを変更することが可能です。ページの解析を開始した直後(PageView)、ブラウザでページのDOM読み込みが完全に終了した後(DOMReady)、画像やスクリプトなどの埋め込みのリソースを含め、ページの読み込みが完全に終了した後(WindowLoaded)の3つのタイミングの他、イベントトラッキングをしている場合は、イベント計測用のdataLayerが出力されたタイミングも選択できます。

参考サイト:トリガー – タグマネージャ ヘルプ

今回の場合は、次のように、クライアントID情報を取得するためのdataLayerが出力されたタイミング以降であれば、どのタイミングでもクライアントID情報を取得することができました

▼ページの解析を開始した直後

▼ブラウザでページのDOM読み込みが完全に終了した後

▼クライアントID情報を取得するためのdataLayerが出力されたタイミング

▼画像やスクリプトなどの埋め込みのリソースを含め、ページの読み込みが完全に終了した後

b. リンカーパラメータの情報取得タイミング

一方で、リンカーパラメータの情報の取得は、次のように「PageView」「DOMReady」「WindowLoaded」のタイミングでしか取得できないようでした

▼ページの解析を開始した直後

ドメインをまたいだ場合のURL

http://sample2.com?_ga=2.4810355.1389554332.1497510998-1054076102.1497510998

リンカーパラメータから取得できた情報
1054076102.1497510998

▼ブラウザでページのDOM読み込みが完全に終了した後

ドメインをまたいだ場合のURL

http://sample2.com?_ga=2.4810355.1389554332.1497510998-1054076102.1497510998

リンカーパラメータから取得できた情報
1054076102.1497510998

▼クライアントID情報を取得するためのdataLayerが出力されたタイミング

ドメインをまたいだ場合のURL

http://sample2.com?_ga=2.4810355.1389554332.1497510998-1054076102.1497510998

リンカーパラメータから取得できた情報
1714502166.1496920616

▼画像やスクリプトなどの埋め込みのリソースを含め、ページの読み込みが完全に終了した後

ドメインをまたいだ場合のURL

http://sample2.com?_ga=2.4810355.1389554332.1497510998-1054076102.1497510998

リンカーパラメータから取得できた情報
1054076102.1497510998

このため、クライアントID情報を取得でき、かつ、リンカーパラメータの情報も取得可能な「画像やスクリプトなどの埋め込みのリソースを含め、ページの読み込みが完全に終了した後(WindowLoaded)」でタグが発火するようトリガーを変更したことにより、無事にクライアントIDの取得とクロスドメイン設定の両方を設定することができました。

このようにGoogleタグマネージャの設定は、他の設定との兼ね合いやhtmlの構造を考慮した上での設定が必要なため、ご自身のサイトでクロスドメイン設定を行う際ブログなどで紹介されている方法で必ず設定できるわけではないことはお含みおきくださいね。

Googleアナリティクスを詳しく学びたい方にオススメ

Googleタグマネージャはこちらがオススメ