Googleタグマネージャでクロスドメイン、サブドメイン設定をする方法

クロスドメイン設定カグア
Googleタグマネージャで、Googleアナリティクスのクロスドメイン設定、サブドメイン設定をする方法をご紹介します。

こんにちは、Googleアナリティクス大好きカグア!です。

Googleアナリティクス公式コミュニティでもよく質問がありますので、まとまてみました。※追記:2018年10月2日 本記事は1年以上前の記事のため、真似されないようお願いします。

関連記事
>>Googleアナリティクス基礎:サブドメインを計測する設定
>>Googleアナリティクス基礎:クロスドメイントラッキングの設定
>>Googleアナリティクス基礎:複数のトラッキングコード(マルチトラッキング)設定

注意:2018年10月2日

注意!

追記:2018年10月2日 2018年10月2日現在Googleアナリティクスにおいて、本記事の自動リンクドメインが効かなくなっているようです。本記事の所作は絶対に実行されませんようお願いします。

Googleタグマネージャの前提

Googleタグマネージャで、Googleアナリティクスのクロスドメインやサブドメインの設定方法をご紹介する前に、いくつか前提条件がありますので、確認していきましょう。

新しいGoogleタグマネージャの書き方

2016年9月に、Googleタグマネージャのスニペット(コンテナタグ)の設置する位置が変わっています。
>>【注意!】Googleタグマネージャーのコンテナスニペット(タグ)の設置方法が変わりました。 | 運営堂

ヘッド最上部とBODY直下の2箇所に組み込むよう、公式には指定されています。
コンテナタグが別れました

おそらく、Googleアナリティクスタグの、クロスドメイン設定、サブドメイン設定では影響はないとは思われますが、ヘルプなどは最新の方式で書かれることになるでしょうから、時期を見て変更しておくと良いでしょう。

Googleアナリティクス側の設定

クロス、サブドメインで必要な設定

たとえばデフォルトのGoogleアナリティクスですと、いくらクロスドメイン設定やサブドメイン設定をしたとしても、www.aaa.jp/index.html と shop.aaa.jp/index.html は同じ /index.html と記録してしまいます。

ですから、Googleアナリティクスのビューフィルタを設定し、上図のように重複しないように記録されるようしないといけません。そのあたりは、通常のクロスドメイン・サブドメイン設定と同様ですので、そちらもご確認ください。
>>Googleアナリティクス基礎:クロスドメイントラッキングの設定

クロスドメイン設定はAタグ遷移が簡単

Googleタグマネージャでユニバーサル アナリティクスを実装しますと、クロスドメイン遷移をするときに、そのセッションを引き継ぐようなURLを発行する処理(Linker)を自動で発動してくれます。ゆえに、クロスドメインでもセッションが切れずに済むのです。
クロスドメインでページ遷移

しかし、そのLinker発動(自動リンクドメイン処理)は、基本はAタグのリンクのみです。たとえば、フォームボタンをクリックしてカートに進むですとか、JavaScriptなどでジャンプするですとか、iFrameで移動するですとか、Aタグでのリンク以外は個別対応となります。

フォーム遷移は後述しますが、それ以外は基本、個別にスクリプトを書いたり、トリガーを工夫したりして検証しながら、実装することとなります。システム上、残念ながら不可能な場合もあるとは理解しておきましょう。
>>クロスドメイン トラッキング  |  ウェブ向けアナリティクス(analytics.js)  |  Google Developers

また最近ですと、Facebook認証やメール認証などのクロスドメイン遷移もありそうですが、さすがにそこまでいきますと、なかなか取れない場合のほうが多いとは思います(30分以内ルールが適用できるケースもありますが)。

それでは、以上の前提をふまえて、早速Googleタグマネージャで、Googleアナリティクス(ユニバーサルアナリティクス)の、クロスドメイン・サブドメイン設定を行っていきましょう。

Googleタグマネージャの設定

クロスドメイン設定

自動リンクドメイン

Googleタグマネージャの公式情報はこちらをご確認ください。
>>クロスドメイン トラッキング – タグマネージャ ヘルプ

Googleアナリティクスの公式ヘルプはこちらです。
>>クロスドメイン トラッキングを設定する – アナリティクス ヘルプ

基本的な流れは以下になります。aaa.comとbbb.jpという2つのドメインで、同じGTMコンテナタグを入れている想定です。

  1. 現在いるホスト名から遷移先のドメイン名を返す変数を作成
  2. ユニバーサルアナリティクスタグの自動リンクドメインを設定
  3. ユニバーサルアナリティクスタグにクロスドメイン設定

aaa.comにいるときにはbbb.jp、bbb.jpにいるときにはaaa.comを、自動的に入れます(1番)。この仕様を実現するのであれば別の方法でも構いません。実際、公式ドキュメントではそれぞれのコンテナを作る方法が紹介されています。
クロスドメイン

ルックアップテーブル変数の作成

現在見ているホスト名を検知して、それに応じて自動リンクドメインが作動するような、ドメイン名を作ります。そのようなときは、Googleタグマネージャのルックアップテーブルを使うと便利です。もともと用意されています {{Page Hostname}} 変数などを使うと容易です。
ルックアップテーブル

「自動リンクドメイン」という欄に、aaa.comにいるときにはbbb.jpを、bbb.jpにいるときにはaaa.comを指定したいのですね。そうすることで、別ドメインへのリンクをクリックしたときに、リンカーが作動するという流れです。

プレビューモードで変数の中身を確認

適宜、プレビューモードで「Valuables」を選び、変数の中身が期待する値になっているかは、確認しましょう。
プレビューモードで変数名を指定する

ユニバーサルアナリティクスタグの設定

ユニバーサルアナリティクスタグは「ページビュー」で、詳細設定に以下のクロスドメイン設定します。
クロスドメイン設定

allowLinker:リンカーを起動させるかどうか
cookieDomain:Cookieの処理を行う
自動リンクドメイン:異ドメインを含むリンククリックで発動(リンカーを発動させたいドメイン)
区切り文字としてハッシュを使用:?_ga=xxxの代わりに#_ga=xxxを使うかどうか(通常falseで大丈夫)
フォームをデコレート:移動するときフォームが使われるかどうか(上記方法ならばfalse)

ここでいう、リンカーというのが、クロスドメインのリンククリック時に、遷移先のドメインにcookieを渡してくれる=リンカー、なのです。

クロスドメイン処理の確認

クロスドメイン設定が適切にできているかは以下のように確認します。これで、_ga=xxx が付与されていればOKです。

  1. aaa.comからbbb.jpへのリンクをクリックする
  2. 遷移先のURLの末尾に、_ga=xxxxx というパラメーターが付与しているか

逆に、付与されていなければ設定を確認します。

ここで、問題なければこれで、Googleタグマネージャ側でのクロスドメイン設定は完了です。あとは、前述のようにGoogleアナリティクス側で設定すれば完了です。

ただ、この通り実装しても、?_ga=xx が付与されない、ということでしたら、前述のようにそもそもリンクの仕方が、自動リンクドメインで対応できないケースと考えられますので、エンジニアと相談して実装方法を個別に検討しましょう。

お疲れ様です。

ドメインをカンマ区切りについて

Googleタグマネージャの設定画面では「ドメインをカンマ区切り」で書かれていますが、これは残念ながら誤解を招く表現となっていますので、注意してください。

前述したように、自動リンクドメインの欄は、「そのドメインを含むリンクをクリックしたらリンカーを発動させる」ものです。つまり、aaa.com,bbb.jp と書いてしまいますと、たとえば、aaa.com内で絶対パスでhttp://aaa.jp/products.html というリンクをクリックしたら、リンカーが発動してしますのです。

ですから、aaa.comにはbbb.jp、bbb.jpにはaaa.com、を書かなくてはいけません。

ではなぜカンマ区切りと書かれているのか。これは、3つ以上のクロスドメインの場合向けなのです。aaa.comから、bbb.jpとccc.net に遷移するとき、bbb.jp,ccc.net と書くという意味なのですね。

前述の原則を正しく理解していれば分かるわけですが、Googleアナリティクスにはこのような日本語訳も多いので注意しましょう。

サブドメイン設定

サブドメイン設定 ユニバーサル アナリティクス

Googleアナリティクスの公式情報はこちらです。
>>複数のサブドメインにわたるテストを実施する – アナリティクス ヘルプ

Googleタグマネージャには2017年2月時点でサブドメイン設定の記述がありません。また、上記公式ドキュメントも_gaq.pushという、以前のGoogleアナリティクスのバージョン(ユニバーサルアナリティクスの前)の情報ですが、仕組みは変わっていませんので安心してください。

サブドメインごとにCookieを共通化

サブドメインをまたいでしまうと、Cookieが共通化されない場合があります。

いちおう、ユニバーサル アナリティクスタグのalanytics.jsでは、autoで認識してくれる仕組みはあるっぽいのですが、設定しておくとより安心という感じです。

上位のドメインを指定しておきますと、その配下のサブはすべて共通のcookieで処理してくれる、と認識させることができるわけです。ですから、自動リンクドメインの設定などは不要ということになります。

Googleタグマネージャの設定

以下のように、cookieDomain にサブドメインの上位のドメインを設定しておけば、その下位であるすべてのサブドメインで、Cookieが共通化されます。
サブドメイン設定

Googleタグマネージャを使った、Googleアナリティクス(ユニバーサルアナリティクス)タグのサブドメイン設定は、これだけです。簡単ですね。

GoogleアナリティクスのCookieの扱い

Googleタグマネージャに限らず、Cookieの扱いについて理解をしておきますと、今後GoogleアナリティクスやGoogleタグマネージャが変わっても対応ができるかと思います。

  • GoogleアナリティクスはファーストパーティCookieを採用
  • ファーストパーティCookieとは同一ドメインでのみ有効となるCookie
  • だから、クロスドメイン遷移をするとセッションが切れてしまう
  • サブドメインでは最上位の影響範囲を記述しておくと良い

サブドメインについては、公式ドキュメントにも記述があります。
>>ドメインと Cookie – ウェブ トラッキング(analytics.js)  |  ウェブ向けアナリティクス(analytics.js)  |  Google Developers

example.co.uk での書き込みは成功します。www.example.co.uk については、Cookie がより高いレベルのドメインで書き込まれるため省略されます。

ようは、より上位でのドメインをcookieDomainとして指定しておけば、サブドメインという下位の指定をも包含する、ということですね。

サブドメインであっても、指定をしないと、cookieドメインを共有してくれないため、別セッション扱いになってしまうわけです。とにかくGoogleアナリティクスでは、クライアントIDをCookieで共通化して保持させるにはどうすればいいか、を考えます。
>>サブドメインの異なるサイトでクッキーを共有する : まだプログラマーですが何か?

ユニバーサルアナリティクスのプログラム本体である analytics.jsを利用している場合は、じつはautoで処理されるため大丈夫な場合もあり、公式ドキュメントでは一方で以下のようにも書かれており、このあたりはほんと試さないと分からないですね。
>>クロスドメイン トラッキングの一般的な使用例 – アナリティクス ヘルプ

トラッキング コードを analytics.js に更新した場合、特に何も設定しなくてもサブドメインをトラッキングできます。

今後も、おかしな挙動をするときには、Cookieの扱いを確認すると良いかもしれません。覚えておくと何かと冊子がつきやすくなりますよ。

関連情報リンク

Google公式情報

Googleタグマネージャ公式ヘルプ。
>>Google タグマネージャの概要 – タグマネージャ ヘルプ

Googleアナリティクス公式ヘルプ。公式ドキュメント。
アナリティクス ヘルプ

解説記事

カートASPごとに設定がことなるのですよね。EC-CUBEならプラグインで簡単。
>>ASPのカートでGoogle アナリティクスを使うなら覚えておきたいクロスドメイン設定 (1/3)|ネット通販情報満載の無料Webマガジン「ECzine(イーシージン)」

拡張eコマースはほんと楽しい。
>>お手軽に使いたい人にはオススメ 「ショップサーブ」での拡張eコマースも含めたGA設定方法 (1/2)|ネット通販情報満載の無料Webマガジン「ECzine(イーシージン)」

クロスドメイン設定の難しさって、cookieの処理とページ遷移など、複数の技術知識が必要なところ。
>>複数のサイトをどうやって計測する?クロスドメイン計測の落とし穴(後編) (1/3):MarkeZine(マーケジン)

カンマ区切りとツールチップには書いているのですけどね。
>>Googleタグマネージャでクロスドメイントラッキングを設定する : ビジネスとIT活用に役立つ情報
>>クロスドメイン設定の落とし穴【Googleタグマネージャー/Googleアナリティクス】 | Googleアナリティクス | DoRuby

山田さんの神回答。
>>GTMでのクロスドメイン(サブドメイン)トラッキング設定について – Google 広告主コミュニティ

クッキードメインオートって覚えておくと良い。
>>Googleタグマネージャでサブドメイン計測設定 & 忘れちゃいけないGoogleAnalytics側の設定|リスティング広告の運用代行ならカルテットコミュニケーションズ

おすすめ書籍

Googleアナリティクス基礎講座 (得するコレだけ技) | 吉田 喜彦

Googleアナリティクス基礎講座 (得するコレだけ!技) | 吉田 喜彦 |本 | 通販 | Amazon
Amazonで詳しく見る

Googleアナリティクスのバージョンは古いですが、図解多めで、原理原則をまずは理解したい人には今でもおすすめです。

できる逆引き Googleアナリティクス Web解析の現場で使える実践ワザ240 ユニバーサルアナリティクス&Googleタグマネージャ対応 | 木田 和廣, できるシリーズ編集部

できる逆引き Googleアナリティクス Web解析の現場で使える実践ワザ240 ユニバーサルアナリティクス&Googleタグマネージャ対応 | 木田 和廣, できるシリーズ編集部 |本 | 通販 | Amazon
Amazonで詳しく見る

Googleアナリティクスの辞書的な一冊。金字塔です。

実践 Google タグマネージャ入門 増補版 | 畑岡 大作(アユダンテ株式会社)

実践 Google タグマネージャ入門 増補版 | 畑岡 大作(アユダンテ株式会社) |本 | 通販 | Amazon
Amazonで詳しく見る

Googleタグマネージャの辞書的な1冊。こちらも金字塔。

HTML5プロフェッショナル認定試験 レベル2 対策テキスト&問題集 (Mynavi Examination Library) | 右寺 隆信, NTTソフトウェア株式会社

HTML5プロフェッショナル認定試験 レベル2 対策テキスト&問題集 (Mynavi Examination Library) | 右寺 隆信, NTTソフトウェア株式会社 |本 | 通販 | Amazon
Amazonで詳しく見る

GoogleタグマネージャでJavaScriptを扱うときの、JavaScript基礎知識の習得におすすめ。

まとめ

Googleタグマネージャを使いますと、ほんとうに便利に高度な設定ができます。そのとき、ポイントは詳細設定と変数の扱いです。

>>人気の「Googleアナリティクス または Googleタグマネージャ」最新一覧はこちら。
Amazonで詳しく見る

GoogleアナリティクスやGoogleタグマネージャは常に進化していきますが、cookieの扱いなどウェブ技術の原理原則を正しく理解しておくと応用がきくはずです。

Googleタグマネージャで、クロスドメイン設定、サブドメイン設定、ほんとおすすめですよ。

・ ・ ・ ・ ・

>>安っ!アマゾンで半額以下になっている食品タイムセール
セール特設ページを見る

↓↓↓無料のニュースレターを配信中です

がんばる。