このドキュメントでは、複数のドメインへのアクセスを、あたかも 2 つの異なるサイトではなく 1 つのサイトであるかのように、1 つのビュー(プロファイル)で収集するさまざまな方法について説明します。また、サブディレクトリや iFrame で設定されたコンテンツなど、ウェブサイトの一部をトラッキングする方法についても説明します。 クロスドメイン トラッキングの一般的なプロセスについて詳しくは、 クロスドメイン トラッキングについてをご覧ください。
はじめに
Google アナリティクスのデフォルト設定は、1 つのドメイン( www.example.com
など)のコンテンツとユーザー データをトラッキングするように設計されています。
ただし、トラッキングなどの複雑な状況でアナリティクスを使用するとします。
- サブドメイン -
dogs.example.com
とwww.example.com
の両方にアクセスしたすべてのユーザー(同じレポートビュー(プロファイル)に両方のデータが表示される) - サブディレクトリ -
www.example.com/dogs
サブディレクトリにアクセスしたユーザーのみが、1 つのサイトであるかのように別個のレポートに表示されます。 - サードパーティのショッピング カート - オンライン ショップや別のドメインでホストされているショッピング カートの訪問者
- トップレベル ドメイン - 所有する 2 つのドメイン(
www.example-petstore.com
とwww.my-example-blog.com
など)にアクセスしたすべてのユーザーで、両方のデータが同じレポートビュー(プロファイル)に表示されます。 - iframe コンテンツ - 別のドメインの iFrame 内にあるコンテンツの訪問者およびページビュー データ。
いずれの場合も、ユーザーを正しくトラッキングするには、トラッキング コードを一部カスタマイズする必要があります。その前に、デフォルトのアナリティクス インストールでのドメインとディレクトリの処理方法を確認しておくことをおすすめします。
トラッキングのシナリオ
このセクションでは、さまざまなトラッキング シナリオを一般的な方法から順を追って説明します。
複数のドメインやサブドメインにわたるトラッキング
このシナリオでは、2 つの一意のドメインと 1 つのサブドメインをトラッキングすることをおすすめします。たとえば、オンライン ショップを運営していて、ブログの訪問者データとキャンペーン データもトラッキングするとします。
3 つの URL 例でトラッキング コードをカスタマイズした場合のキーは次のようになります。
- オンライン ストアのドメイン:
www.example-petstore.com
カスタマイズする必要があるリンクまたはフォームデータは、
www.my-example-blogsite.com
を指すものだけです。このサイトのサブドメインへのリンクの場合は必要ありません。他のサブドメインの Cookie アクセスを有効にするために、_setDomainName()
関数で.example-petstore.com
がドメインとして定義されているためです。 - オンライン ストアのサブドメイン:
dogs.example-petstore.com
サブドメインがプライマリ ドメインと同じ Cookie を共有するため、プライマリ ドメインに戻るリンクを構成する必要はありません。
- ブログのドメイン:
www.my-example-blogsite.com
この設定では、ドメイン名がブログサイトのトップレベル ドメインに設定されます。これにより、後からブログサイトにサブドメインを追加しても、そのサブドメインは親と Cookie を共有できるため、ドメイン間で特別なリンク呼び出しを設定する必要がなくなります。ただし、
www.example-petstore.com
へのフォームやリンクには、引き続き_link()
メソッドと_linkByPost()
メソッドを使用する必要があります。
ドメインとそのサブドメインにわたるトラッキング
前述のとおり、Google アナリティクスのデフォルト設定は、1 つのドメイン(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()
メソッドを使用して、トラフィックとユーザーの Cookie データを HTTP POST 経由でショッピング カートのサイトにコピーします。_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 が、アカウントによって共有される可能性があります。つまり、サイト訪問者のセッション Cookie には
www.example.com
の他の部分のアクティビティも反映される可能性があるため、new vs returning
、time on site
、number of visits
などのユーザー統計情報は不正確になる可能性があります。- レポートに、サイトの別の場所のキャンペーンの詳細が反映されている場合があります。
たとえば、訪問者が同じドメインの別のサイト(
www.example.com/theirBlog
)に移動するメール キャンペーンをクリックしたとします。この場合、訪問者の Cookie 内の参照情報は、「ブログの最新ニュース」という名前のキャンペーンに設定されます。その後、同じユーザーがブラウザに「www.example.com/yourBlog
」と入力して直接サイトに戻り、ブログの購読を購入します。他のキャンペーンの参照はすべて直接訪問で保持されるため、購読の売上を生み出す「ブログの最新ニュース」 キャンペーンが表示されます。これは、オンライン ショップの_utm
z Cookie がパスに対して一意に設定されていないためです。
ユーザーの Cookie を特定のパスのみに制限すると、Cookie のパスが制限されているため、www.example.com
の別の部分のキャンペーン データとセッション データはレポートに含まれません。(ウェブブラウザが Cookie をどのように読み取るかに関する背景情報については、Cookie に関する記事をご覧ください)。
サブディレクトリに関するその他のヒント
- あるサブディレクトリの訪問者トラフィックと参照トラフィックをトラッキングする場合は、サブディレクトリに一致フィルタを設定して、そのサブディレクトリのコンテンツのみがレポートに表示されるようにすることもできます。詳しくは、ヘルプセンターの事前定義フィルタに関する記事をご覧ください。
- ドメインでサブディレクトリのトラッキングを設定する場合は、ルートパス(例:
/
)とその下位のページに対するアナリティクスのトラッキングを無効にする必要があります。たとえば、サイトのサブディレクトリを個別にトラッキングする場合は、www.example.com/index.html
でアナリティクス トラッキングを有効にしないでください。ルートパスのトラッキングが無効になっていない場合、パスレベルのトラッキングを設定したページに対して、サブディレクトリ用とトップレベル ドメイン用の 2 セットの Cookie が設定されます。
同じドメインの 2 つのサブディレクトリにわたるトラッキング
上位のドメインの各ページへのアクセス権がない場合、1 つのドメインで複数のサブディレクトリをトラッキングすることもできます。たとえばサービス プロバイダーのサイトに次のようなオンライン ストアとショッピング カートがあるとします。
www.example-commerce-host.com/myStore/
www.example-commerce-host.com/myCart/
ショップからショッピング カートへのユーザー セッションとキャンペーン データをトラッキングする場合は、次の 2 つの方法があります。
_setCookiePath()
メソッド(トラッキングを特定のディレクトリに制限)_cookiePathCopy()
メソッド(Cookie 情報を同じドメインの別のディレクトリにコピーします)
以下の例は、ストアからショッピング カートへのユーザー セッションとキャンペーン データをトラッキングするトラッキング コード スニペットの主要部分を示しています。
この場合、ドメインに対して、指定された 1 番目のディレクトリに限定された一意の Cookie が設定され、同じ Cookie データも指定された 2 番目のディレクトリにコピーされます。どちらのサイトも同じドメイン上にあるため、2 つのディレクトリ間のリンクやフォームデータを変更する必要はありません。
クロスドメイン トラッキングの主要なコンポーネント
このセクションでは、クロスドメイン トラッキングのセットアップに関する問題を解決する際に、主な構成要素とその最適な使用方法について解説します。
ビュー(旧プロファイル)
クロスドメイン トラッキングを設定する際には、ビュー(旧プロファイル)について次のことを必ず行ってください。
- フィルタなしでプライマリ ドメインのマスタービュー(旧プロファイル)を設定します。
クロスドメイン トラッキングではビュー(旧プロファイル)の用途が特殊であるため、まず、プライマリ ドメインのマスタービュー(旧プロファイル)を設定することをおすすめします。このビューにはフィルタが追加されていません。これにより、クロス トラッキング ビュー(プロファイル)でフィルタを設定する際にエラーが発生した場合に参照できる、プライマリ ドメインのベースライン履歴データを常に取得できます。
- クロスドメイン トラッキング専用のビューを作成し、トラッキング コードを再利用します。
ビューを設定してプライマリ ドメインのトラッキング コードを取得したら、他のすべてのウェブ プロパティでも同じトラッキング コードを使用します。これにより、クロスドメイン トラッキングを開始する前に適切に設定が行われ、すべてのウェブ プロパティの過去のデータを使用できるようになります。マスタービューの設定に関する推奨事項に従った場合、マスタービューで提供されるものと同じトラッキング コードを使用してプライマリ ドメイン用のビューを新たに作成するだけです。リンクする他のすべてのウェブ プロパティにも、同じトラッキング コードが設定されている必要があります。
- フィルタを使用してクロスドメイン ビュー(旧プロファイル)を変更し、コンテンツ レポートにドメイン全体を表示します。
ドメインのリンクを確立すると、コンテンツ レポートにはリクエスト URI のみが表示され、特定のページのトップレベルやサブドメインは表示されません。たとえば、次のようなページへのアクセスが対象となります。
—http://www.example.com/index.php
と 上の別のページ
—http://sub.example.com/more.php
レポートには次のように表示されます。
— index.php
— more.php
どのページがどのドメインからのものかは区別できません。ページレポートにドメインを表示するには、ページ URL のすべてのコンポーネントが含まれるようにフィルタを次のように設定します。- [View (Profile) Settings] ページで、[Add Filter] リンクをクリックします。
- [新しいフィルタを追加] を選択し、フィルタに名前を付けます。
- [カスタム フィルタ] を選択し、[フィルタの種類] の設定で [詳細] を選択します。
- [詳細設定] で、次の操作を行います。
- [FieldA] を [Hostname] に設定します。
- FieldB を「リクエスト 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 つのドメインが同じユーザー データ(セッションやユーザーの種類など)を共有するには、同じ Cookie 情報をコピーまたは共有できなければなりません。さらに、次の点にも留意してください。
あるドメインからのセッションは、適切に設定されたクリックまたはフォームの送信、または _getLinkerURL
からのみ別のドメインに転送できます。
これら 3 つの方法で Cookie データを渡すと、1 回のセッションの下で 2 つのページビューがリンクされます。同じビュー(プロファイル)でトラッキングしている 2 つのサイトにユーザーがブックマークなどを介して別々に訪問した場合、これらのアクセスは別々のセッションとしてカウントされます。このシナリオではリンク メソッドは関与しないので、ユーザーがいつセッションを開始したかを判断する方法がありません。
クロスドメイン トラッキングを理解するには、Cookie は複数のフィールドによって識別され、デフォルトではドメイン間で共有されないことを理解しておくと役立ちます。また、アナリティクスでは Cookie の共有が自動的に無効になります。これは、多くの場合、ドメイン間で同じ Cookie を共有することが望ましくないためです。Cookie リファレンスの Cookie の識別と有効期限の意味をご覧ください。また、アナリティクスでは Cookie に整合性チェックがデフォルトで追加されています。
_setDomainName('[ドメイン名]yourDomainName')
機能
このメソッドは、Cookie のドメイン フィールドをパラメータで指定された文字列に設定します。この方法では、Cookie が使用するドメイン名を制御できます。サブドメインは親と同じ Cookie を共有するため、トップレベル ドメイン間のリンクのみを設定する必要があります。
使用場面:
トップレベルとサブドメインを 1 つのエンティティとして扱い、同じビュー(旧プロファイル)でトラッキングする場合に使用します。また、複数のトップレベル ドメインとそのサブドメインにわたってトラッキングする場合にも使用します。この場合、トップレベル ドメイン間のリンクを使用する必要がありますが、トップレベル ドメインとそのサブドメイン間のリンクは必要ありません。
使用しない場合:
単一のドメインをトラッキングする場合は、ドメイン名を明示的に設定する必要はありません。