Adobe Analytics

Adobe Analytics: VisitorAPIでSafariでもクロスドメイン計測をする

こんにちは、エクスチュアCTOの権です。

今回はAdobe AnalyticsのVisitorAPI(Marketing Cloud ID Service)を使ったSafariのクロスドメイン計測についてです。
ご存知のとおりSafariはMacOS/iOSの標準ブラウザで、3rdパーティクッキーを拒否してます。
昔はs.visitorIDに同じ値をセットして計測する方法しかありませんでしたが、これをs.visitorIDを使わずにVisitorAPIの機能だけで実装してみます。

VisitorAPIを使う場合も、クロスドメイン計測の方法が複数存在しています。

1. appendVisitorIDsTo関数を使う

指定ドメインへのリンク先URLの末尾に、自動的に訪問者IDパラメータを付与してドメイン遷移する方法です。
VisitorAPI v1.7.0以上で使えるようになりました。
Append Visitor ID Helper Function

DTMを使ってAnalyticsとVisitorAPIを導入している場合は、下記の方法です。
How to set Marketing Cloud ID Service helper function in Adobe DTM
ページ読み込みルールを作成して、3rdパーティJavascriptタグとしてこの関数を実行します。

で、実はGAのautoLinkerのようなものを期待してたのですが、違いました。
この関数は結局渡したURL文字列に対してmidをつけてくれるだけなので、JQuery使ってこんな感じで実装しました。
「DOM Ready 発生時」に、「非順次JS」で動くようにします。

//遷移元ドメインA
var visitor = Visitor.getInstance ("foobar12345@AdobeOrg",{
	trackingServer: "example.sc.omtrdc.net"
});

var domainB="www.example.com"; //遷移先ドメインB
$("a").each(function(){
	var chk = $(this).attr("href");
	if ((typeof chk != "undefined") && (chk.indexOf(domainB) > 0)) {
		var newlink = visitor.appendVisitorIDsTo(chk);
		$(this).attr("href", newlink);
	}
});

ページ読み込みじゃなくて、クリックのタイミングでhref書き換えるやり方でも良かったか。まぁ、好きなやり方で実装すれば良いかと。

あと、遷移先ドメインのDTMプロパティでは、Marketing Cloud ID サービスにoverwriteCrossDomainMCIDAndAID: trueの設定を追加します。

これで、遷移元ドメインAからドメインBに遷移したときに、同じmidがセットされてればOKです。

2. CNAME実装を使う

CNAMEを使った1stパーティクッキーを使う方法でクロスドメイン計測を実装する方法です。
Data Collection CNAMEs and Cross-Domain Tracking

私個人のブログサイトでこの実装を使って試しました。
http://www.kwonline.org/memo2/
上記サイトではCNAMEを使って、stats.kwonline.orgというホスト名を、exture.d1.sc.omtrdc.netにマッピングしてます。
SSLを利用してないサイトなので、Adobeへの申請なしにCNAMEさえ登録できれば動作します。

やるべき事は、
1. DNSのCNAMEレコードを登録。
任意のサブドメインに対して、CNAMEをAdobeのサーバー(omtrdc.netまたは2o7.net)にする。
2. AppMeasurement または s_codeを修正する
trackingServer変数の値と、marketingCloudServer変数を追加します。

/* VisitorAPI の初期化コードの例 */
var visitor = Visitor.getInstance("123456@AdobeOrg", {
	trackingServer: "stats.kwonline.org",
	marketingCloudServer: "stats.kwonline.org"
});

/* AppMeasurement.js 側の設定 */
s.trackingServer = "stats.kwonline.org";
s.visitor = Visitor.getInstance("123456@AdobeOrg");

DTMの場合は、同様の設定をDTMにて行ってください。

で、まずは私のサイトをSafariで開き、Omniture Debuggerを使ってmidを確認します。

www.kwonline.org

www.kwonline.org

www.kwonline.org


mid(Marketing Cloud ID)パラメータに注目してください。これが別ドメインでも同じ値になればOKです。

次に、弊社の検証用ページをSafariで開いて、Debuggerを使ってmidを確認します。
ex-ture.com

ex-ture.com

ex-ture.com


3rdパーティクッキーをブロックしているSafariでも、別ドメイン(ex-ture.com)において、kwonline.orgと同じmidがセットされました。

なぜこのような事が可能かと言うと、
Safariは3rdパーティクッキーのセットを拒否しているだけであって、一旦、1stパーティクッキーとしてセットされた後であれば、以降、1stパーティか3rdパーティかは問わず、必ずそのドメインのクッキーをHTTPヘッダーに付与して送信します。

そしてmidはkwonline.orgのAMCVクッキーに格納されている値なので、ここから同じ値を取り出す事で、ex-ture.comでも同じmidになります。

という訳で、「Safariだから3rdパーティクッキーはアウト」という言葉が拡大解釈されている傾向があるのですが、今回の方法ならばAdobe Analyticsにおいて、Safariでもクロス計測が可能という事が分かりました。

なお、今年のAdobe Summit 2016で発表されたDevice Co-op機能がリリースされれば、クロスドメイン・クロスデバイス計測がもっと簡単になるはずなので、リリースを待ちたいと思います。

弊社では、Adobe Analyticsの実装支援サービスを提供しております。
お問い合わせはこちら

関連記事

  1. Adobe Analytics

    Adobe Analytics: Mobile SDK 4.x でアプリ計測する際の小技

    こんにちは、エクスチュアCTOの権です。今回も、かつて個人ブロ…

  2. Adobe Analytics

    Adobe Analytics: SegmentsAPIを使って大量のセグメント設定を作成・更新する…

    こんにちは、エクスチュアCTOの権です。今回はAdobe Ma…

  3. Adobe Analytics

    Adobe Analytics: AppMeasurement.jsの実装開発作業に使うツール Ja…

    こんにちは、エクスチュアCTOの権です。今回はAdobe Anal…

  4. Adobe Analytics

    AdobeAnalytics: GTMのdataLayerをAdobeAnalyticsの処理ルール…

    こんにちは、エクスチュアCTOの権です。今回はGoogle T…

  5. Ad Hoc Analysis

    Adobe Analytics: Ad Hoc Analysisでセグメントの条件を一気に追加する方…

    Adobe Analyticsでセグメントを作るとき、「A または B…

最近の記事

  1. Firebase Analyticsの新しいBigQuery…
  2. Adobe Cloud Platform Auditor (…
  3. Google Analytics Standardのデータを…
  4. Google Tag Manager上でGoogle Ana…
  5. BigQueryテーブルをAVRO形式でエクスポートしてHi…
  1. Firebase Analytics

    Firebase Analyticsの新しいBigQueryスキーマを試す
  2. GA 360 Suite

    BigQuery: Google Analytics 360のネストされたデータ…
  3. Google Cloud Platform

    Google Compute Engine のLinuxVMにVNC接続する
  4. GA 360 Suite

    GoogleDataStudio:GoogleAnalyticsのカスタムチャネ…
  5. Adobe Analytics

    Adobe Analytics:セグメントの落とし穴:滞在時間がおかしくなる
PAGE TOP