Adobe Analytics

Adobe新タグ登場って本当?AEP Web SDKって何だ?

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

Adobe Summit 2020のブレークアウトセッションで知ったのですが、今後Adobeの各ソリューションのタグ(JSライブラリ)は1つに統合されます。
それぞれのアーキテクチャも統合されて行く方向だそうです。

Adobe Summit 2020レポート: Implementation Tips for Adobe Analytics

で、調べたところ既にベータ版のドキュメントが公開されてます。

(Beta) What is Adobe Experience Platform Web SDK

2020年4月22日現在、非公開ベータテスト中のためJSライブラリは一般公開されてませんが、気になったのでドキュメントを読んでみました。
以下、私の主観たっぷりで解説します。

AEP Web SDKとは何なのか?

ドキュメントには、以下の4つのJSライブラリに置き換わるものだと書いてます。

  • VisitorAPI.js
  • AppMeasurement.js(s_code.js)
  • at.js
  • DIL.js

新JSはこれらの4個のファイルのラッパーではなく、「完全な書き直し」(complete rewrite)だと表現してます。

新JSのファイル名は?

ドキュメントには「alloy.js」という名前が書かれてまして、どうやらこれが新しいJSライブラリの名前です。

(Beta) Installing the SDK

コードサンプルはこうなってます。

<script>
  !function(n,o){o.forEach(function(o){n[o]||((n.__alloyNS=n.__alloyNS||
  []).push(o),n[o]=function(){var u=arguments;return new Promise(
  function(i,l){n[o].q.push([i,l,u])})},n[o].q=[])})}
  (window,["alloy"]);
</script>
<script src="alloy.js" async></script>

本日現在このalloy.jsは一般入手出来ません。
正式リリースまで待ちましょう。

新JSはInternetExplorerに対応してる?

alloy.jsは、もはや誰も相手したくないIEに対応してるのでしょうか?
このJSは非同期処理のPromiseオブジェクトを使ってます。

そしてIEにはこのPromiseが存在してません。
そのため、IEでalloy.jsを動かすには、Promiseオブジェクトをpolyfillする必要があります。
サイトで既にBabelなどを使ってpolyfillしてない場合は、jsDelivrが公開しているライブラリをインクルードすればOK。

<script src="https://cdn.jsdelivr.net/npm/promise-polyfill@8/dist/polyfill.min.js"></script>

 

新JSの実装方法は?

alloy.jsは従来のAnalytics・Target・AudienceManagerのJSライブラリを統合したものだと説明されてますが、それらをまとめて実装する方法はまだ公開されてません。

本日現在、ページは用意されてますが「comming soon」です。
(Beta) Deploying all products

というわけでベータ公開されてる範囲のドキュメントを読んだところ以下の事が分かりました。

SDKの制御はcommandで行う

alloy.jsはコマンドを使って制御するAPIが用意されてます。

(Beta) Executing commands

基本構文はこれ。

alloy("commandName", options);

あれ?これどこかで見たな、思ったらGoogleAnalyticsのgtag.jsのAPIに似てるw

GoogleのAPI構文はこうです。

//Global site tag (gtag.js)
gtag(<command>, <command parameters>);

中々インスパイアードです。

オプションで渡すデータ・変数はJSON形式

ではalloy.jsのAPIの実行例を見てみましょう。
まずは基本設定。

(Beta) Configuring the SDK

alloy("configure", {
  "configId": "ebebf826-a01f-4458-8cec-ef61de241c93",
  "orgId":"ADB3LETTERSANDNUMBERS@AdobeOrg"
});

コマンドに続いて、オプションパラメータをJSONで渡してます。
configId というのがAdobeから割り当てられるアカウントIDです。
AAのレポートスイートIDやTargetのclientIDをこのconfigIdに紐づけてから使う、と説明されてました。

s.tもs.tlもない

そしてどうやらcongiureだけしておけば、ページビューのビーコンは自動で発生します。
これもgtag.jsと同じですね。

なお、contextコマンドと、onBeforeEventSendコマンドが用意されてるので、AAで言うところの変数セットはこれらを使えば良いわけです。

Tracking events

alloy("configure", {
  "configId": "ebebf826-a01f-4458-8cec-ef61de241c93",
  "orgId": "ADB3LETTERSANDNUMBERS@AdobeOrg",
  "onBeforeEventSend": function(event) {
    // Change existing values
    event.xdm.web.webPageDetails.URL = xdm.web.webPageDetails.URL.toLowerCase();
    // Remove existing values
    delete event.xdm.web.webReferrer.URL;
    // Or add new values
    event.xdm._adb3lettersandnumbers.mycustomkey = "value";
  }
});

他にもアクション・コマース計測用のeventコマンドも用意されてます。

Tracking events

そもそもpropもeVarもない

そしてもうpropやeVarを変数として利用しなくなりました。
全部JSONにつめて、あとは処理ルールでマッピングします。

(Beta) Sending Data to Adobe Analytics

たとえばこんな感じでJSONでデータを持たせるようです。

alloy("event", {
    "data": {
        area:"tokyo",
        category:{
            large:"PC",
            midium:"ノート型",
            small:"13インチノート"
        },
        banner:["banner1","banner2","banner3"]
    }
});

これらは処理ルールエディタUIでは下記のようなコンテキストを使ってアクセス出来ます。

a.x.area //tokyo
a.x.category.large //PC
a.x.category.midium //ノート型
a.x.category.small //13インチノート
a.x.banner[0] //banner1
a.x.banner[1] //banner2
a.x.banner[2] //banner3

そして処理ルールでマッピングします。
コレハメンドクサイ!w

処理ルールを使う

なおURLやリファラー、ブラウザ情報などは自動的に計測されると書いてあるので、これらは個別に処理ルールをセットアップする必要はありません。

(Beta) Variables Automatically Mapped in Analytics

モバイルSDKの場合はキー名に「&&」をつけて処理ルールを使わない方法が用意されてましたが、alloy.jsにもあるんでしょうかね。
eVar200個フルで使ってるような巨大レポートスイートだと設定するって考えただけで震えます。
処理ルール設定画面って重いんですよね(震え声

まとめ

Adobeの新しい計測ライブラリである Adobe Experience Platform Web SDK こと alloy.js が今後リリースされます。
2020年4月22日現在、非公開ベータテスト中のためドキュメントの一部が一般公開されてるのみです。

正式リリース時期は分かりませんが、今からドキュメントに目を通しておけば実装の移行に役立つ事が期待されます。
AA実装方式はモバイルSDKのようにコンテキストデータを送って処理ルールでマッピングするというカスタマイズになります。

 
以上、ササっとAEP Web SDKことalloy.jsについてのベータドキュメントを私の主観でまとめました。
Adobeの進化がますます止まりません。

エクスチュアはAdobe Experience Cloudの導入活用支援を行っており、
Adobe Analyticsの経験10年〜15年のスタッフが何人も在籍しています。
お問い合わせはこちらからどうぞ

ピックアップ記事

  1. 最速で理解したい人のためのIT用語集

関連記事

  1. Adobe Analytics

    続・SafariのITP2.x対策として別サーバー使ってクッキーを永続化する

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

  2. Adobe Analytics

    Adobe Analytics 原理①

    近年、Web解析の必要性が広く認知されるようになり多くのWebサイト…

  3. Adobe Analytics

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

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

  4. Adobe Analytics

    Adobe Summit 2020レポート: Implementation Tips for Ado…

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

  5. Adobe Analytics

    AdobeAnalyticsでReactNativeアプリを計測する

    この記事は2018年12月7日現在の情報を元にしているのと、レガシーA…

  6. Adobe Experience Cloud

    Adobe Summit 2020レポート: Experience Cloud Strategy

    こんにちは。インターン生の中野です。本記事では、バーチャル開催とな…

最近の記事

  1. 【GA4/GTM】dataLayerを使ってカスタムイベント…
  2. 【GA4/GTM】dataLayerを活用しよう
  3. ジャーニーマップをデジタルマーケティングの視点で
  4. ChatGPT ProからClaude3 Proへ移行した話…
  5. その分析、やり方あってる?記述統計と推測統計の違い
  1. IT用語集

    データベース(Data Base)って何?
  2. ObservePoint

    機会損失を未然に防ぐ!ユーザエクスペリエンスシミュレーター”WebJ…
  3. Google Analytics

    Google Analytics 4: イベントパラメータをセッションスコープで…
  4. Python

    pythonを使ったダミーデータ生成
  5. Google Analytics

    【UA完全終了】GA4移行作業は完了しましたか?2023 年 7 月にユニバーサ…
PAGE TOP