現在表示中:

AEM Analytics では、Web サイトでのユーザーインタラクションを追跡できます。開発者は次の作業が必要になる場合があります。

注意:

この情報は基本的には全体に適用されますが、一部の例では SiteCatalyst が使用されています。

コンポーネントとダイアログボックスの開発に関する一般的な情報については、コンポーネントの開発を参照してください。

カスタムイベント

カスタムイベントはページ内の特定のコンポーネントの可用性に依存する要素を追跡します。これにはテンプレート特有のイベントも含まれます。ページコンポーネントは別のコンポーネントとして扱われています。

ページの読み込み時のカスタムイベントの追跡

疑似属性 data-tracking(下位互換性のために、古いレコード属性がまだサポートされています)を使用して追跡できます。これは任意の HTML タグに追加できます。

data-tracking の構文は次のとおりです。

  • data-tracking="{'event': ['eventName'], 'values': {'key': 'value', 'nextKey': 'nextValue'}, componentPath: 'myapp/component/mycomponent'}"

任意の数のキー値のペアを 2 番目のパラメーター(ペイロード)として渡すことができます。

次に例を示します。

<span data-tracking="{event:'blogEntryView', 
                                values:{
                                   'blogEntryContentType': 'blog', 
                                   'blogEntryUniqueID': '<%= xssAPI.encodeForJSString(entry.getId()) %>',
                                   'blogEntryTitle': '<%= xssAPI.encodeForJSString(entry.getTitle()) %>',
                                   'blogEntryAuthor':'<%= xssAPI.encodeForJSString(entry.getAuthor()) %>',
                                   'blogEntryPageLanguage':'<%= currentPage.getLanguage(true) %>'
                                },
                                componentPath:'myapp/component/mycomponent'}">
</span>

ページの読み込み時に、すべての data-tracking 属性が収集されて ClientContext のイベントセクションに追加され、SiteCatalyst イベントにマッピングできるようになります。マッピングされないイベントは SiteCatalyst では追跡されません。イベントのマッピングについて詳しくは、Adobe Analytics への接続を参照してください。

ページの読み込み後のカスタムイベントの追跡

ページの読み込み後に発生するイベント(ユーザーインタラクションなど)を追跡するには、JavaScript 関数 CQ_Analytics.record を使用します。

  • CQ_Analytics.record({event: 'eventName', values: { valueName: 'VALUE' }, collect:  false, options: { obj: this, defaultLinkType: 'X' }, componentPath: '<%=resource.getResourceType()%>'})

各パラメーターの内容は次のとおりです。

  • events:文字列、または文字列の配列(イベントが複数の場合)。
  • values:追跡するすべての値を格納します。
  • collect:オプションで、イベントおよびデータオブジェクトを格納する配列を返します。
  • options:オプションで、HTML 要素 obj および defaultLinkType などのリンク追跡オプションが含まれます。
  • componentPath:必須の属性で、<%=resource.getResourceType()%> に設定することを推奨します。

例えば、次のように定義した場合、「Jump to top」リンクをクリックすると jumptopheadlineclick の 2 つのイベントが実行されます。

<h1 data-tracking="{event: 'headline', values: {level:'1'}, componentPath: '<%=resource.getResourceType()%>'}">
  My Headline <a href="#" onclick="CQ_Analytics.record({event: ['jumptop','headlineclick'],  values: {level:'1'}, componentPath: '<%=resource.getResourceType()%>'})">Jump to top</a>
</h1>

ページの読み込み時にデータを格納するサンプルのスクリプト設定

ClientContext の値へのアクセス

どのデータマネージャーにも getProperty(key) 関数があります。この関数は指定したキーの値が存在すればその値を返します。getPropertyNames 関数を使用すると、定義されたキーの配列を取得できます。

addListener(event, callback, scope) 関数を使用してリスナー関数を追加すると、値が変更された場合に通知を受けることができます。実行可能なイベントは更新され、維持されます。

ClientContext の初期利用可能通知を受けるための最も適切な方法は、CQ_Analytics.ClientContextMgr.addListener("storesloaded", function(e) { }) 関数を使用することです。

ClientContext 用の追加リスナー:

すべてのストアに対応:

CQ_Analytics.ClientContextMgr.onReady(function(){});

ストア固有:

CQ_Analytics.ClientContextUtils.onStoreInitialized("profile",function(event) {});

レコードコールバックの追加

関数 CQ_Analytics.registerBeforeCallback(callback,rank) および CQ_Analytics.registerAfterCallback(callback,rank) を使用して、before コールバックと after コールバックを登録します。

どちらの関数も、先頭の引数では関数を、2 番目の引数ではランクを受け取ります。このランクによって、コールバックの実行順序が決定されます。

コールバックが false を返す場合、実行チェーンの後続のコールバックは実行されません。

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー