クロスドメイン・トラッキング機能¶
クロスドメイン・トラッキング機能を利用することで、あるWebサービスが複数のドメインにまたがってページを提供する場合に、複数のドメインをまたいでエンドユーザーの情報を引き継ぎ同一のユーザーとしてトラッキングするが可能になります。たとえば example.com というルートドメイン上で展開するサービスの一部が example.co.jp というルートドメインで提供され相互にリンクが存在する場合、example.com で動くReproのWeb SDKが記録しているエンドユーザーの情報を example.co.jp へ引き継ぎます。
なお mail.example.com から news.example.com へ遷移する場合はサブドメインは異なるもののルートドメインは同じ扱いになるためクロスドメインにはあたりません。このケースではクロスドメイン・トラッキング用の特別な設定は不要です。
クロスドメイン・トラッキングが可能なケース¶
遷移元のドメインから遷移先のドメインに向いたリンク(<a> タグ)を辿ったとき。
注釈
例:
- ショッピングサイト => ショッピングサイトが利用する決済システムへのリンク
- LP用別ドメイン => サイト本体へのリンク
クロスドメイン・トラッキングが不可能なケース¶
- Formタグの送信を経由したページ遷移
- リダイレクトによる遷移
- リダイレクトを実施する(= リクエスト元に対してLocationヘッダつきのレスポンスを返してクライアントにリダイレクトを実施させる)サーバの実装によってはパラメータを引き継ぐこともありますが、サービス側のサーバの実装依存になるためサポートしておりません
設定時の注意事項¶
クロスドメイン・トラッキング機能の設定に不備があると意図しない形でユーザーのトラッキングがされてしまう可能性があるので、必ずHTML/JavaScriptの経験のある開発者が設定してください。
注意すべきケース¶
複数ドメインで展開する異なるサービスがそれぞれ個別にログイン機構があり、そういった複数ドメインをクロスドメインとしてトラッキングしたい場合(いわゆるマルチテナントと呼ばれるものがこれにあたります)、ユーザーの識別子などのデータは引き継ぎ元のデータが引き継ぎ先のデータを上書きしてしまうので、こういったケースで双方向に頻繁に行き来するサイトは設定に注意が必要です。
設定時の注意事項¶
API に記載の内容のうち、クロスドメイン・トラッキング機能に関連するものの詳細を説明します。
1. linker_domains(必須)¶
linker_domains
には対象ページからクロスドメインとしてトラッキングしたい遷移先ドメイン名を配列として入力してください。
reproio("setup", "YOUR_REPRO_SDK_TOKEN", {
linker_domains: ["blog.example.com", "shop.example.com"],
})
与えられたドメイン名が現在閲覧中のサイトのドメイン名と一致している場合は、クロスドメイン・トラッキングの設定から除外します。現在閲覧中のドメイン、リンク先のドメイン、 linker_domains
オプションの値の組み合わせによるクロスドメイン・トラッキングの動作是非の詳細については、下記の表を参考にしてください。YESの場合はリンクにクロスドメイン・トラッキング用のパラメータが付与され、NOの場合は付与されません。
2. disable_linker_params_referrer_check¶
ReproのWeb SDKがクロスドメインとして設定された遷移元のデータを引き継ぐ際、まず document.referrer
を確認してクロスドメインなトラッキングとみなしてよいかを判別します。引き継ぐ際の条件として 、linker_domains
のオプションに渡されたドメインと document.referrer のドメインが一致する必要があります。
disable_linker_params_referrer_check
オプションを true に設定すると、先述の確認をスキップしクロスドメインなトラッキングとして動作します。この設定を有効にすると、 document.referrer
が linker_domains
に渡されたものと一致するかどうかにかかわらず遷移元のドメインからデータを引き継ぎます。
なおリファラのチェックを行う際においても linker_domains
の表に記載した形で判定を行います。つまり、 linker_domains: ['example.com']
と指定されていれば リファラが example.com や sub.example.com の場合には該当するとみなされます。
警告
この設定を利用する際の注意点
- パラメータ付きのリンクがSNSやチャットツールに貼られてしまった場合など、本来はクロスドメインなリンク遷移とは判定されない不正なケースにおいてもデータを引き継いでしまう可能性があります
reproio("setup", "YOUR_REPRO_SDK_TOKEN", {
linker_domains: ["blog.example.com", "shop.example.com"],
disable_linker_params_referrer_check: true,
});
3. disable_auto_attach_linker_params¶
Web SDKはページの読み込み時にページ内に存在するリンクをチェックしてクロスドメイン・トラッキング用のパラメータを付与するだけでなく、ページ内のDOMに変化があった際にも自動的に新規のaタグにパラメータを付与します。この挙動が望ましくない場合は disable_auto_attach_linker_params
のオプションをtrueにすることでこの機能を無効化することができます。
reproio("setup", "YOUR_REPRO_SDK_TOKEN", {
linker_domains: ["blog.example.com", "shop.example.com"],
disable_auto_attach_linker_params: true,
});
4. updateLinkerParameters¶
Web SDKはページの読み込み時にページ内に存在するリンクをチェックしてクロスドメイン・トラッキング用のパラメータを付与します。セッション時間が比較的長いサービスや disable_auto_attach_linker_params
オプションを利用しているケースなどでは、定期的にリンクに付与されたクロスドメイン・トラッキング用のパラメータを更新したいケースが想定されます。こういった場合においては reproio('updateLinkerParameters');
を呼び出すことでaタグのリンクに付与された引き継ぎデータを最新化することができます。
reproio("updateLinkerParameters");