Adobe Analytics

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

こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。

今回は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. 最速で理解したい人のためのIT用語集

関連記事

  1. Google Cloud Platform

    Server-side GTM を Google AppEngine にデプロイする

    こんにちは、エクスチュアの権泳東(權泳東/コン・ヨンドン)です。…

  2. Linux

    無料のWindows10仮想マシンをEdge/IE11検証用途で使う

    こんにちは、エクスチュアの権泳東(コン・ヨンドン)です。普段W…

  3. Google Analytics

    Google Analytics StandardのデータをBigQueryで分析するための力技

    こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。…

  4. Adobe Analytics

    Adobe AEP SDKでReactNativeアプリを計測する (iOS編)

    こんにちは、エクスチュアの權泳東(コン・ヨンドン)です。今回は…

  5. Google Analytics

    Server-side GTMのGAビーコンログをBigQueryにエクスポートして分解する

    こんにちは、エクスチュアの権泳東(權泳東/コン・ヨンドン)です。…

  6. Adobe Analytics

    訪問者数とは-Adobe Analyticsの指標説明

    今回は訪問者数について説明いたします。訪問者数とは期間中にサイトを…

最近の記事

  1. Pythonを用いたAmazon S3の署名付きURLの発行…
  2. Snowflakeとは?Data Cloud World T…
  3. SnowflakeのData Clean Roomを基礎から…
  4. SnowflakeのData Clean Roomを基礎から…
  5. SnowflakeのData Clean Roomを基礎から…
  1. Tableau

    Tableauの「WEB編集」機能について理解する
  2. Excel

    コホート分析(Cohort Analysis)って何?〜Tableau/GA/E…
  3. Google Analytics

    【UAとは違う!?】GA4で変更された”イベント”につい…
  4. Adobe Analytics

    Adobe Analytics: ランドスケイプの「企業ログ解析データベースAP…
  5. Adobe Analytics

    BigQuery: テーブルに格納されたURL文字列をKey-ValueのSTR…
PAGE TOP