Adobe Analytics

AdobeAnalytics: GTMのdataLayerをAdobeAnalyticsの処理ルールで計測する

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

今回はGoogle Tag ManagerのdataLayer変数を、Adobe Analyticsの処理ルールを使って計測する方法についてです。

Google AnalyticsをGTMで導入していて、そこにAdobe Analyticsも導入するならば、GTMのdataLayer変数を共有してAdobe Analyticsでも使いまわせると楽です。

というわけでdataLayer変数をAdobe AnalyticsのcontextDataに流用するというか変換するscriptを作りました。
これを使えば、dataLayerをcontextData経由でAdobeの処理ルールで計測する事が出来ます。

s.getDataLayer

/*
* getDataLayer
*/
s.getDataLayer = function(s, dl){
    var cd = s.contextData;
    if (typeof dl != "undefined") {
        for (var i=0; i < dl.length; i++) {
            try {
                cd = Object.assign(cd, dl[i]);
            } catch(ie) {
                for (var key in dl[i]) {
                    cd[key] = dl[i][key];
                }
            }
        }
    }
    return cd;
};

こんなに簡単にできてしまいます。
ポイントは、Object.assign関数です。
この関数は複数の連想配列同士をつなげて一つの連想配列にしてくれる関数です。

このdataLayerの配列をループしながらObject.assignを使うことで、GoogleのdataLayerとAdobeのs.contextDataを一つの連想配列としてマージする、という事です。

なお、IEはObject.assign関数が存在しないので、すごいダサいのですがIEの時だけforループで中身をチマチマコピーしてます。IEダサいよIE。

実装方法

使い方は、Adobeのs_code.js (またはAppMeasurement.js)のs_doPlugins関数の中で呼びだせばOKです。

s.contextData = s.getDataLayer(s, window.dataLayer);

実際に動作してるデモページはこちらです。
http://www.kwonline.org/tst/dataLayer.php

リンク先のページのHTMLヘッダの中でdataLayerを宣言してます。

<script>
  window.dataLayer = window.dataLayer || [];
  dataLayer.push({"category":"blog"});
</script>

そして、Adobe DTM内のs_code.jsのdoPlugins関数の中で、s.getDataLayerをコールしてます。
でもページでAdobeデバッガを開くと、dataLayerにセットした”category” : “blog”という値が、contextDataにcategory=blogとしてセットされている事が分かります。

sitenameというcontextDataもs_codeの中でセットしてまして、マージされているのが分かります。
あと、GTMが自動的にセットするgtm.startなどの値も拾ってますが、それはスルーしてくださいw

処理ルール

次は、AdobeAnalytics管理画面の処理ルールで、各ディメンションにコンテキストデータの値をセットします。

処理ルール管理画面を見ると、sitenameやcategoryというコンテキストデータが出てきますね。
これらを任意のディメンションにセットすれば、計測出来ます。

今回はGTMのdataLayer変数をそのままAdobeAnalyticsで簡単に計測する方法についてでした。
弊社ではGoogle AnalyticsとAdobe Analyticsを同時に使うためのベストな方法や、もしくは一方に乗り換える方法についてのご相談を承っております。
お問い合わせはこちらからどうぞ。

関連記事

  1. Adobe Analytics

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

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

  2. Adobe Analytics

    Adobe Analytics:自動で分析してくれる貢献度分析(異常値検出)機能

    こんにちは、CEOの原田です。今回は随分前から公開されてるのに…

  3. プログラミング

    Node.jsでCSVファイル内のダブルクオートで囲まれたカラム内のカンマを除去する

    こんにちは、エクスチュアCTOの権です。いろんなデータを扱う業…

  4. Adobe Analytics

    AdobeAnalytics:WordPressやHTML5内の動画を計測する

    こんにちは、エクスチュアの鈴木です。Adobe Analyti…

  5. Adobe Cloud Platform Auditor

    Adobe Cloud Platform Auditor (Powered by ObservePo…

    こんにちはCEOの原田です。本日は先日より利用可能になったAdob…

最近の記事

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

    GCP: 今月のGCP課金額をslackに自動的に書き込む
  2. Adobe Analytics

    BigQuery: Adobe Datafeed: event_listカラムの…
  3. GA 360 Suite

    GoogleDataStudio:GoogleAnalyticsのカスタムチャネ…
  4. Mouseflow

    Mouseflow:レコーディングを確認する前に
  5. Cloud Dataproc

    BigQueryテーブルをAVRO形式でエクスポートしてHiveで扱う
PAGE TOP