6 消費アナリティクスによるヘッドレス・サイトの計測
Oracle Content Managementには、サイトのアセットの使用状況および人気を追跡できる消費アナリティクス機能があります。
次の項では、ヘッドレス・サイト(つまり、Oracle Content Managementの外部で作成および管理)をデータ収集機能で計測して消費アナリティクス機能と統合する方法について説明します:
消費アナリティクスのデータ収集は、通常クライアント・ブラウザで実行されるJavaScriptで行われます。 これは、サーバー側のヘッドレス・サイトにとって特に重要です。 JavaScriptから開始されたHTTPリクエストを介して、ブラウザでの消費時にデータ収集が行われます。
アナリティクス・スクリプト
ヘッドレス・サイトのページに次のアナリティクス・スクリプトを含めます:
<script type="text/javascript" src="//<instance>.ocecdn.oraclecloud.com/_sitesclouddelivery/analytics/ocm-asset-analytics.js?channelId=<channel-id>" async></script>
以下の点に注意する必要があります。
- このocm-asset-analytics.jsスクリプトは、2時間のキャッシュ期間で提供されます。
- ロードされると、グローバル変数SCSAnalyticsがウィンドウ・ネームスペースに追加されます。
Oracle Content Managementインスタンスから提供されるocm-asset-analytics.jsライブラリには、serviceId
およびaccountId
パラメータが埋め込まれています。 指定する必要があるパラメータはchannelId
のみです。
パラメータ名 | 説明 |
---|---|
serviceId |
サイト・アセットを保持するOracle Content ManagementインスタンスのサービスID。 |
accountId |
アナリティクス・プロバイダのアカウントID。 |
channelId | サイト・アセットの取得に使用される公開チャネルのチャネルID。 |
アセット・イベント
サイト・ページで使用されるアセットでは、現在4つのイベントがサポートされ、記録されます。 次の表では、これらのイベントについて説明します:
イベント・タイプ | 説明 |
---|---|
ロード |
アセットはサイト・ページで参照されています。 |
ビュー |
サイト・ページのアセットは、ブラウザ・ビューポートにスクロールされます。 |
play |
サイト・ページのメディア・アセットの再生が開始されました。 |
download |
ユーザーがアセットに対してダウンロード操作を開始しました。 |
ページ・インストゥルメンテーション
消費アナリティクスで使用するページを計測するメソッドは2つあります: レンダリングされたアセット・マークアップをページに補強したり、直接JavaScriptコールでアセット・イベントを手動で生成できます。
data-asset-operation
この属性は、アナリティク・イベントを自動的に生成するようにocm-asset-analytics.jsライブラリに指示します。data-asset-operation
属性の値構文は、<page-event>です:<asset-id>:<asset-event> ". 複数のアセット操作をセミコロン(;)で区切って指定できます。
次の表に、data-asset-operation
パラメータを示します:
パラメータ名 | 説明 |
---|---|
page-event |
通常、ページ・イベントは、要素に対する「クリック」や「再生」などのDOMイベントに対応します。 サポートされているページ・イベントには、表示、再生およびクリックが含まれます。
|
asset-id |
コンテンツ・アイテムまたはデジタル・アセットのID。 |
asset-event |
サポートされているアセット・イベントの1つ(次を含む):
|
たとえば、簡易コンテンツ・アイテムの最終マークアップは次のようになります:
<div data-asset-operation="view:COREBE60D5159507409B97E9B5CD27937B82:view">
Hello World!
</div>
最初の行で、data-asset-operation
属性を確認します。 ocm-asset-analytics.jsライブラリは、このマークアップがページに表示されると、アセットに対してロード・イベントを自動的に生成します。 また、アイテムがブラウザ・ビューポートでビューにスクロールされると、アナリティク・イベントが記録されます。
recordAssetOperation
コールは、コールが受け入れられ、アナリティクス・プロバイダに記録されるかどうかを示すブール値を返します。 無効なパラメータを含む他のすべての条件に対して値falseが返されます。
コンポーネント属性
アセット消費イベントを自動的に記録するには、ページのレンダリングされたアセット・マークアップに特別なデータ属性を追加します。
次の表に、data-asset-operation
属性のパラメータを示します。
パラメータ名 | 説明 |
---|---|
page-event |
通常、ページ・イベントは、要素に対する「クリック」や「再生」などのDOMイベントに対応します。 サポートされているページ・イベントには、表示、再生およびクリックが含まれます。
|
asset-id |
コンテンツ・アイテムまたはデジタル・アセットのID。 |
asset-event |
サポートされているアセット・イベントの1つ:
|
たとえば、簡易コンテンツ・アイテムの最終マークアップは次のようになります:
<div data-asset-operation="view:COREBE60D5159507409B97E9B5CD27937B82:view">
Hello World!
</div>
JavaScript APIコール
Site JavaScriptでは、アセット・イベントを記録するためにocm-asset-analytics.jsライブラリをコールできます。 SCSAnalyticsオブジェクトは、アセット・イベントを記録するための単一のファンクションを公開します。
SCSAnalytics.recordAssetOperation( assetId, assetEvent, options ) → {Boolean}
名前 | タイプ | 必須 | 説明 |
---|---|---|---|
assetId | 文字列 | はい |
コンテンツ・アイテムまたはデジタル・アセットのID。 |
asset event |
文字列 |
はい |
サポートされているアセット・イベントの1つ(次を含む):
|
options | オブジェクト | いいえ |
記録操作のオプションを提供します。 プロパティは次のとおりです。
|
構成オプション
サイト・ページ内のJavaScriptでは、ocm-asset-analytics.jsライブラリをロードする前にSCSAnalytics.configオブジェクトを定義できます。 URL問合せ文字列に追加せずに、ライブラリにパラメータを指定できます。
次の構成パラメータを指定できます:
名前 |
タイプ |
説明 |
enableAnalytics | Boolean |
ocm-asset-analytics.jsライブラリがロード後にこれ以上のアクションを実行するかどうかを決定します。 デフォルト: true |
serviceId |
文字列 |
サイト・アセットを保持するOracle Content ManagementインスタンスのサービスID。 |
channelId |
文字列 |
サイト・アセットの取得に使用される公開チャネルのチャネルID。 |
accountId |
文字列 |
アナリティクス・プロバイダのアカウントID。 |
useObservers |
Boolean |
ocm-asset-analytics.jsライブラリでDOMオブザーバをインストールしてアナリティクス・イベントを自動的に記録するかどうかを決定します。 デフォルト: true |
loadProvider |
Boolean | アナリティクス・プロバイダのJavaScriptをロードするようにocm-asset-analytics.jsライブラリに指示します。 プロバイダJavaScriptがすでにページに含まれている場合は、これをfalseに設定します。
デフォルト: true |
ready |
配列 |
アナリティクス・ライブラリがロードされ、分析イベントの記録準備が整った後にコールする必要がある一連の関数。 |
次の例は、ocm-asset-analytics.jsライブラリをパラメータ化する方法を示しています:
<script type="application/javascript">
window.SCSAnalytics = {
config: {
enableAnalytics: true,
serviceId: "<service-id>",
channelId: "<channel-id>",
accountId: "<account-id>",
useObservers: true,
loadProvider: true,
ready: [
function() {
console.log("The asset analytics library is ready.");
}
]
}
};
</script>
<script type="text/javascript" src="//<instance>.ocecdn.oraclecloud.com/_sitesclouddelivery/analytics/ocm-asset-analytics.js" async></script>
デジタル資産のdata-asset-operationマークアップを追加
data-asset-operationアセット操作マークアップを追加するには、次のHTMLコードを追加します:
<img data-asset-operation="view:CONTBE5A53457DAE412B872C21DDC05FED5D" src="https://samples.mycontentdemo.com/content/published/api/v1.1/assets/CONTBE5A53457DAE412B872C21DDC05FED5D/Medium/Blog400px.jpg?channelToken=47c9fb78774d4485bc7090bf7b955632">
参照フィールド・タイプに対するdata-asset-operation Markupの追加
参照フィールド・タイプのdata-asset-operationマークアップを追加するには、次のHTMLコードを追加します:
<ul data-asset-operation="view:COREBE60D5159507409B97E9B5CD27937B82:view">
<li>Name: Joe Bloggs</li>
<li>Age: 39</li>
<li>Photo: <img data-asset-operation="view:CONTBE5A53457DAE412B872C21DDC05FED5D:view" src="https://samples.mycontentdemo.com/content/published/api/v1.1/assets/CONTBE5A53457DAE412B872C21DDC05FED5D/Medium/Blog400px.jpg?channelToken=47c9fb78774d4485bc7090bf7b955632"></li>
<li>Video: <video data-asset-operation="view:CONTBE5A53457DAE412B872C21DDC05FED5D:view;play:CONTBE5A53457DAE412B872C21DDC05FED5D:play" src="https://samples.mycontentdemo.com/content/published/api/v1.1/assets/CONTBE5A53457DAE412B872C21DDC05FED5D/Medium/Blog400px.jpg?channelToken=47c9fb78774d4485bc7090bf7b955632"></video></li>
</ul>
サイト固有のOracle Infinityアカウントの使用
account-id
パラメータを使用して、特定のOracle Infinityアカウントにアセット操作を記録するようにocm-asset-analytics.jsライブラリを構成できます。 ocm-asset-analytics.jsライブラリを含むスクリプト・タグで、使用するアカウントIDを指定します。
<script type="text/javascript "src="//<instance>.ocecdn.oraclecloud.com/_sitesclouddelivery/analytics/ocm-asset-analytics.js?channelId=<channel-id>&accountId=<account-id>" async></script>
独自のOracle Infinityアカウントに記録する場合は、ocm_asset_analyticsという名前のInfinityタグが定義され、本番での使用が有効になっていることを確認します。
独自のOracle Infinityタグの使用
ocm-asset-analytics.jsライブラリは、ヘッドレス・サイト・ページにロードされた既存のInfinityタグと連携するように構成できます。
デフォルトのInfinityスクリプトのロードを回避するには、loadProvider
構成値(false)
を使用します。
<!-- Include Oracle Infinity analytics -->
<script type="text/javascript" async src="//c.oracleinfinity.io/acs/account/<infinity-account-id>/js/<infinity-tag>/odc.js"></script>
<!-- Include the ocm-asset-analytics.js library, preventing it from loading its own copy of Infinity -->
<script type="text/javascript" src="//<instance>.ocecdn.oraclecloud.com/_sitesclouddelivery/analytics/ocm-asset-analytics.js?channelId=<channel-id>&loadProvider=false" async></script>