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と「どこどこJP」のAPIを連携する

    こんにちは、CTOの権です。弊社Webサイトでは「どこどこJP」を…

  2. Adobe Analytics

    Adobe Analytics:Report Builderの小技:リクエストのあるシートを丸ごとコ…

    エクセルでの定期レポートを作る際に、一度データブロックを作っておけば以…

  3. Adobe Analytics

    Adobe Analytics: データフィードをGoogle BigQueryのテーブルにロードす…

    こんにちは、CTOの権です。前回のブログの続きです。今回は…

  4. Adobe Analytics

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

    こんにちは、CTOの権です。今回はAdobe Analyticsの…

  5. Adobe Analytics

    Adobe Analytics: BigQueryにロードしたデータフィードをDataStudioで…

    こんにちは、CTOの権です。前回のブログで、BigQueryに…

最近の記事

  1. Firebase AnalyticsのデータをフラットなCS…
  2. Adobe Analytics: BigQueryにロードし…
  3. Adobe Analytics: データフィードをBigQu…
  4. Adobe Analytics: データフィードをGoogl…
  5. Adobe Analytics: データフィードをGoogl…
  1. Google Analytics

    Google Analytics: アプリSDKのclientIDを取得する
  2. Adobe Analytics

    Adobe Analyticsと「どこどこJP」のAPIを連携する
  3. Adobe Analytics

    Adobe Analytics: カスタムリンク計測を1行で書く
  4. Adobe Analytics

    Adobe Analytics:セグメントの落とし穴:滞在時間がおかしくなる
  5. Adobe Audience Manager

    Adobe Audience Manager: REST APIを使ってTrai…
PAGE TOP