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. Ad Hoc Analysis

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

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

  2. Google BigQuery

    Google Apps Scriptを使ってスプレッドシートからBigQueryのテーブルを更新する…

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

  3. Adobe Experience Cloud

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

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

  4. Adobe Analytics

    AdobeAnalytics: Adobe I/OのAPIを使ってSAINT分類データを取得する

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

  5. Adobe Analytics

    次のページとは-Adobe Analyticsの指標説明

    今回は次のページについて説明します。次のページとはサイトを訪問した…

  6. Adobe Analytics

    Adobe AnaltyicsとGoogle Analytics の「生Webビーコン」をBigQu…

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

最近の記事

  1. TableauでTreasure Data上のデータへ接続す…
  2. 【DBエンジニアが学ぶSnowflake】①Snowflak…
  3. Siteimproveを知る。
  4. GTMのプレビューモードを共有したい
  5. GoogleスプレッドシートのデータをGASで整理する【se…
  1. Python

    わかりやすいPyTorch入門⑥(RNN:再帰型ニューラルネットワーク)
  2. Mouseflow

    【新機能】カスタムダッシュボード:重要な指標すべてを一つの画面で
  3. Google BigQuery

    オープンソースBI「Metabase」の使い勝手が丁度良かった
  4. Mouseflow

    Mouseflowの新機能:サイト単位でレコーディング数の制限が可能に!
  5. Tableau

    Tableau Desktop 2020.1の新機能を全て解説してみた。
PAGE TOP