このドキュメントでは、2 つの別々のサイトではなく、1 つのサイトであるかのように、1 つのビュー(プロファイル)に複数のドメインへのアクセスを収集するさまざまな方法について説明します。また、サブディレクトリや iframe コンテンツなど、ウェブサイトの一部をトラッキングする方法についても説明しています。 クロスドメイン トラッキングの一般的なプロセスに慣れていない場合は、クロスドメイン トラッキングについてをご覧ください。
はじめに
Google アナリティクスのデフォルト設定は、 www.example.com
など、単一のドメインのコンテンツと訪問者データをトラッキングするように設計されています。
しかし、トラッキングのような複雑な状況では、次のようにアナリティクスを使用したいとします。
- サブドメイン -
dogs.example.com
とwww.example.com
の両方の訪問者が同じで、両方のデータが同じレポートビュー(プロファイル)に表示されます。 - サブディレクトリ - 別のレポートの
www.example.com/dogs
サブディレクトリへの訪問者のみ。1 つのサイトであるかのように表示されます。 - サードパーティのショッピング カート - オンライン ショップや別のドメインにホストされているショッピング カートを訪問したユーザー
- トップレベル ドメイン - 所有している 2 つのドメイン(
www.example-petstore.com
、www.my-example-blog.com
など)のすべての訪問者。両方のデータは、同じレポートビュー(プロファイル)に表示されます。 - IFramed コンテンツ - 別のドメインの iframe 内のコンテンツの訪問者データとページビュー データ。
いずれの場合も、ユーザーを正しくトラッキングするには、トラッキング コードをカスタマイズする必要があります。それまでに、アナリティクスのデフォルトのインストール環境でドメインとディレクトリがどのように扱われるかをご確認ください。
トラッキングのシナリオ
このセクションでは、さまざまなトラッキングのシナリオを一般的な順に示します。
複数のドメインやサブドメインにわたるトラッキング
このシナリオでは、2 つの一意のドメインと 1 つのサブドメインを追跡できます。たとえば、オンライン ショップでブログの訪問者とキャンペーン データを追跡するとします。
以下に、3 つのサンプル URL の主なトラッキング コードのカスタマイズを示します。
- オンライン ショップのドメイン:
www.example-petstore.com
カスタマイズが必要なリンクまたはフォーム データは、
www.my-example-blogsite.com
を参照するリンクのみです。このサイトのサブドメインへのリンクの場合、_setDomainName()
関数が.example-petstore.com
を他のサブドメインの Cookie アクセスを有効にするドメインとして定義しているため、この必要はありません。 - オンライン ストアのサブドメイン:
dogs.example-petstore.com
サブドメインはプライマリ ドメインと同じ Cookie を共有するため、プライマリ ドメインに戻るためのリンクを設定する必要はありません。
- ブログのドメイン:
www.my-example-blogsite.com
この設定では、ドメイン名がブログサイトのトップレベル ドメインに設定されます。このように、後でブログサイトにサブドメインを追加すると、そのサブドメインで親と Cookie を共有できるようになります。サブドメイン間の特別なリンク呼び出しを設定する必要はありません。ただし、すべてのフォームや
www.example-petstore.com
へのリンクには、_link()
メソッドと_linkByPost()
メソッドを使用する必要があります。
ドメインとそのサブドメインにわたるトラッキング
前述のように、Google アナリティクスのデフォルト設定は、www.example.com などの単一のドメインのコンテンツと訪問者データを追跡するように設計されています。つまり、ドメインとサブドメインの両方を管理している場合でも、両方のドメインで訪問者データを共有するには、トラッキング コードを変更する必要があります。
1 つのエンティティとしてトラッキングしたい次のような URL があるとします。
www.example-petstore.com
dogs.example-petstore.com
cats.example-petstore.com
この設定では、3 つのドメインすべてのトラッキング コードに対して、次の主要なカスタマイズを行います。
これら 3 つのサイト間でリンクやフォームを調整する必要はありません。ドメイン名がトップレベル ドメインに設定されているため(例:example-petstore.com
)。
ドメインと別のドメインのサブディレクトリ間のトラッキング
もう 1 つの一般的なトラッキング シナリオは、1 つのドメインと別のドメインのサブディレクトリ間のユーザーとトラフィックのデータを追跡することです。これは、ブログをブログ サービスのサブディレクトリに制限しているウェブサイトとオンライン ブログ間のトラフィックを追跡する場合に発生することがあります。 次の各 URL の例には、両方のページのトラッキング コードの推奨カスタマイズが含まれています。
メインのウェブサイトのドメイン: www.example.com
ブログの URL: www.blog-hosting-service.com/myblog
www.example-petstore.com
からショッピング カートのウェブサイトへのフォームの送信については、 _linkByPost()
メソッドを使用して、HTTP POST でトラフィックとユーザーの Cookie データをショッピング カートのサイトにコピーします。_setAllowLinker()
メソッドは、通常のユーザー セッション情報からではなく、POST データから Cookie データを読み取るようにターゲット サイトに指示します。この方法を使用すると、あるドメインに設定された Cookie データを別のドメインに渡すことができます。これにより、オンライン ストアからショッピング カートへの訪問者セッションを維持できます。
同様に、_link()
関数を使用して、オンライン ショップからショッピング カートに移動するリンクの訪問者データを転送します。
iFrame をまたいでトラッキングする
新しいウィンドウを開くか、コンテンツを iFrame に含めることでドメイン間の移行が行われるサイトでは、_getLinkerUrl()
メソッドを使用して、訪問者とキャンペーンの Cookie をドメイン間で移行する必要があります。たとえば、 www.my-example-iframecontent.com
でホストされている iFrame にフォームを含めるとします。
www.example-parent.com
で iframe をホストする親ページから訪問者情報を転送するには、JavaScript を使用して iFrame を読み込み、_getLinkerURL()
メソッドを使用して Cookie の情報を渡します。
以下の例では、リンク設定の仕組みのみを示しており、クロスドメイン トラッキングが両方のドメインのトラッキング スニペットで構成されていることを前提としています。
Internet Explorer 向けの iFrame トラッキングの設定
iframe の内容が親ページとは別のドメインでホストされている場合は、第三者のコンテンツと見なされます。Internet Explorer 6 以降のデフォルトのプライバシー設定では、サードパーティのウェブサイトがファーストパーティのサイトに Cookie を保存することはできません。
つまり、iframe ページに対するアナリティクス トラッキングは、Internet Explorer で機能するために特別な構成を必要とします。iframe にあるウェブページの場合は、プライバシー設定を構成する必要があります。ホストされているページでプライバシーを設定するには、次のいずれかの方法を使用します。
- 含まれるサイトのページに、特別なプライバシー プラットフォーム(P3P)HTTP ヘッダーを追加する
- 含まれているサイトのページに対し、P3P XML マニフェストを提供する
詳しくは、次のリソースをご覧ください。
- ウェブマスター向け P3P ガイド:
- Google アナリティクスの Cookie
1 つのサブディレクトリのトラッキング
Analytics のトラッキングを大規模なドメインの 1 つのサブディレクトリに制限する 2 つの一般的なケースがあります。
- e コマース ホスティング サービスを使用しているときなど、大規模なウェブサイトのサブディレクトリのみにアクセスできます。
- トラッキングを大規模なウェブサイトのサブディレクトリに制限する場合(会社のウェブサイトでプロジェクトを開始するときなど)。アナリティクスのトラッキングも使用します。
アナリティクス アカウントに、オンライン プレゼンスの訪問者データを追跡するビュー(プロファイル)があるとします。これは、大規模なウェブサイト ホスト(ブログサービスなど)の一部にすぎません。サイト自体は www.example.com/myBlog/
でホストされています。
訪問者とキャンペーンのデータを /myBlog
サブディレクトリにのみ記録し、example.com
ドメインの他のページには記録しない。この場合、そのサブディレクトリに含まれるウェブページのみにアクセスできます。
店舗のトラッキングを設定するには、次のようにトラッキング コードで _setCookiePath()
関数を使用する必要があります。
このように設定すると、レポートにはサブディレクトリの訪問者とキャンペーンのデータのみが正しく表示されます。これは、Cookie パスが www.example.com
のルート ディレクトリではなく、そのサブディレクトリに対して設定され、ビュー(プロファイル)がストア固有の Cookie セットの読み取りと書き込みのみを行うためです。
このシナリオでは、_setCookiePath()
関数を使用することをおすすめします。この関数を使用しない場合、レポートに次のような 2 つの影響が及ぶ場合があります。
www.example.com
に設定された他のアナリティクス アカウントの Cookie は、お客様のアカウントで共有できます。つまり、サイトを訪れたユーザーの
new vs returning
やtime on site
、number of visits
などのアクセス統計情報が正しくない可能性があります。セッション Cookie には、www.example.com
の他の部分で発生したアクティビティも反映されている可能性があるためです。- レポートには、サイトの別の部分のキャンペーンの詳細が反映されている場合があります。
たとえば、あるユーザーが同じドメインの別のサイト
www.example.com/theirBlog
にアクセスしているメール キャンペーンをクリックするとします。この場合、ユーザーの Cookie 内の参照情報は「Latest news on Bblog」キャンペーンに設定されます。その後、同じユーザーがブラウザに「www.example.com/yourBlog
」と入力してサイトに直接アクセスし、ブログを購読します。その他のキャンペーンの参照はすべて、直接アクセス時に継続されるため、ブログに関する最新ニュースというキャンペーンによってサブスクリプションの売上が発生します。これは、オンライン ショップの_utm
z Cookie がパスに固有に設定されていないためです。
訪問者の Cookie をパスのみに制限すると、www.example.com
の別の部分に関するキャンペーンやセッション データは、Cookie パスが制限されているためレポートに表示されません。(ウェブブラウザが Cookie を読み取る仕組みについて詳しくは、Cookie についての記事をご覧ください)。
サブディレクトリに関するその他のヒント
- サブディレクトリの訪問者数と参照トラフィックをトラッキングする場合は、このサブディレクトリの内容のみレポートが表示されるように、このサブディレクトリに対して [一致] フィルタを設定します。詳しくは、ヘルプセンターの定義済みフィルタをご覧ください。
- ドメインでサブディレクトリのトラッキングを設定している場合は、ルートのトラッキング(例:
/
)とその下にあるすべてのページに対してアナリティクスのトラッキングが無効であることを確認する必要があります。たとえば、サイトのサブディレクトリを個別にトラッキングする場合は、www.example.com/index.html
でアナリティクスのトラッキングを有効にしないでください。ルートパスのトラッキングが無効になっていない場合は、パスレベルのトラッキングが設定されているページに 2 種類の Cookie が設定されます(サブディレクトリ用とトップレベル ドメイン用にそれぞれ 1 セット)。
同じドメインの 2 つのサブディレクトリにわたるトラッキング
大規模なドメインのページへのアクセス権限がないドメインの複数のサブディレクトリをトラッキングする場合が考えられます。たとえばサービス プロバイダーのサイトに次のようなオンライン ストアとショッピング カートがあるとします。
www.example-commerce-host.com/myStore/
www.example-commerce-host.com/myCart/
ショップのショッピング カートへのユーザー セッションとキャンペーン データを追跡するには、次の 2 つの方法があります。
_setCookiePath()
メソッド。特定のディレクトリへのトラッキングを制限します。_cookiePathCopy()
メソッド。Cookie 情報を同じドメインの別のディレクトリにコピーします。
以下の例は、トラッキング コード スニペットの重要な部分であり、ショップからショッピング カートへのユーザー セッションとキャンペーン データを追跡するためのものです。
この場合、ドメインに対して一意の Cookie が設定され、指定された最初のディレクトリに限定されます。また、同じ Cookie データが指定された 2 番目のディレクトリにコピーされます。両方のサイトが同じドメインにあるため、2 つのディレクトリ間のリンクを変更したり、データを形成したりする必要はありません。
クロスドメイン トラッキングの主要なコンポーネント
このセクションでは、主な要素とその最適な使用方法についての詳細情報を提供することで、クロスドメイン トラッキング設定のトラブルシューティングを支援します。
ビュー(旧プロファイル)
クロスドメイン トラッキングを設定する際は、ビュー(プロファイル)に対して次の作業を行ってください。
- フィルタを使用せずにプライマリ ドメインのマスタービュー(プロファイル)を設定する。
クロスドメイン トラッキングを行うには、特別な方法でビュー(プロファイル)を使用する必要があるため、最初にプライマリ ドメインにマスタービュー(プロファイル)を設定することをおすすめします。このビュー(プロファイル)にはフィルタを追加しないでください。この方法では、プライマリ ドメインのベースラインの履歴データが常に保持されるため、クロストラッキング ビュー(プロファイル)のフィルタ設定時にエラーを参照することができます。
- クロスドメイン トラッキング用のビュー(プロファイル)を作成し、トラッキング コードを再利用する。
ビュー(プロファイル)を設定し、プライマリ ドメインのトラッキング コードを取得したら、他のすべてのウェブ プロパティに同じトラッキング コードを使用します。このようにすると、クロスドメイン トラッキングを開始する前に、設定が正しく行われ、すべてのウェブ プロパティの履歴データが得られます。マスタービュー(旧プロファイル)設定のおすすめの方法に沿って対応した場合は、マスタービュー(プロファイル)と同じトラッキング コードを使ってプライマリ ドメインに追加のビュー(プロファイル)を作成するだけで問題を解決できます。リンクする他のすべてのウェブ プロパティにも、同じトラッキング コードを設定する必要があります。
- コンテンツ レポートにドメイン全体を表示するには、フィルタを使用してクロスドメイン ビュー(プロファイル)を変更します。
ドメイン リンクを設定すると、コンテンツ レポートにはリクエスト URI のみが表示され、特定のページのトップレベル ドメインやサブドメインは表示されません。たとえば、次のページにアクセスする場合:
-http://www.example.com/index.php
および
上の別のページ
-http://sub.example.com/more.php
レポートには次の情報が表示されます。
- index.php
- more.php
どのドメインとどのドメインを区別すればよいか特定できません。ページレポートにドメインを表示するには、次のようにページ URL のすべてのコンポーネントを含めるようにフィルタを設定します。- [ビュー(プロファイル)設定] ページで [フィルタを追加] をクリックします。
- [Add New Filter] を選択し、フィルタの名前を入力します。
- [カスタム フィルタ] を選択し、[フィルタの種類] で [詳細設定] を選択します。
- [詳細設定] で次の操作を行います。
- FieldA をホスト名に設定する必要があります
- FieldB を Request URI に設定する必要があります。
- フィールド A とフィールド B の両方の値を
(.*)
に設定します。これは、すべての文字をキャプチャする式です。 - [Output To --> Constructor] オプションを [Request URI] に設定し、その値として
$A1$B1
を指定します。
レポートには次の情報が表示されます。
—www.example.com/index.php
-sub.example.com/more.php
これにより、URL のwww.example.com
の部分が取得され、コンテンツ レポートのセクションのページ URL の先頭に追加されます。
Cookie: ユーザー データの転送に必要
2 つのドメインで同じ訪問者データ(セッションや訪問者の種類など)を共有するには、2 つのドメインで同じ Cookie 情報をコピーまたは共有する必要があります。さらに、次の点にも留意してください。
あるドメインのセッションは、適切に設定されたクリックやフォームの送信、または _getLinkerURL
経由でのみ、別のドメインに転送できます。
これらの 3 つのメソッドを介して Cookie データを渡すと、1 回のセッション中に 2 つのページビューがリンクされます。ユーザーが同じビュー(プロフィール)でトラッキングしている 2 つのサイト(ブックマークなど)を別々に訪問した場合、それらの訪問は別々のセッションとしてカウントされます。このシナリオではリンク メソッドは関与しないので、ユーザーがいつセッションを開始したかを判断する方法がありません。
クロスドメイン トラッキングを正確に理解するには、Cookie が複数のフィールドによって識別され、デフォルトではドメイン間で共有されないことを理解しておくと役立ちます。また、アナリティクスでは Cookie の共有が自動的に無効になります。これは、多くの場合、ドメイン間で同じ Cookie を共有することは望ましくないためです。Cookie リファレンスの Cookie の識別と有効期限の重要性をご覧ください。また、アナリティクスでは、デフォルトで整合性チェックが Cookie に追加されています。
_setDomainName('[ドメイン名]')
機能
このメソッドは、Cookie のドメイン フィールドをパラメータで指定された文字列に設定します。この方法では、Cookie に使用するドメイン名を制御できます。サブドメインは親と同じ Cookie を共有するため、トップレベル ドメイン間のリンクを設定するだけで済みます。
用途
これは、トップドメインとサブドメインを 1 つのエンティティとして扱い、同じビュー(プロファイル)でトラッキングする場合に使用します。複数のトップレベル ドメインとそのサブドメインをまたいでトラッキングする場合にも、このメソッドを使用します。この場合、トップレベル ドメイン間のリンクを使用する必要がありますが、トップレベル ドメインとそのサブドメイン間のリンクは使用しません。
使用しないケース
1 つのドメインをトラッキングする場合、ドメイン名を明示的に設定する必要はありません。