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 Experience Cloud

    Adobe Target: at.jsの「チラつき」を手っ取り早く回避する

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

  2. Adobe Analytics

    Adobe AnalyticsのDatafeedをBigQueryのColumn-based Tim…

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

  3. Ad Hoc Analysis

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

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

  4. Adobe Analytics

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

    Adobe Analyticsの持つ機能の中でも特に強力で便利な機能の…

  5. Adobe Analytics

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

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

最近の記事

  1. Google Compute Engine: 一定時間経過し…
  2. Adobe Analytics: Datafeedのログから…
  3. Adobe Analyticsに入り切らないデータをBigQ…
  4. Adobe Analytics: Datafeedのログから…
  5. Tableau:2つの値の比較に便利な「ダンベルチャート」を…
  1. Tableau

    Tableau:分かりやすいLOD – INCLUDE編
  2. Google Analytics

    Google Tag Manager上でGoogle Analyticsのcli…
  3. Adobe Analytics

    Adobe Analytics:Report Builderの小技:リクエストの…
  4. GA 360 Suite

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

    Adobe AnalyticsからDWHレポートをGoogle Cloud St…
PAGE TOP