s_objectID 変数を使用したリンク ID のカスタマイズ、領域のカスタマイズ、AppMeasurement ActivityMap モジュールファイルのカスタマイズによってリンクを区別できます。
例として、リンク ID と領域が同じで、Activity Map によって識別される "Buy" リンクが複数あるとします。
コードサンプル | リンク ID | 領域 |
---|---|---|
<div id="recommendation panel"> <div> <a href="product1.html">Buy</a> </div> <div> <a href="product2.html">Buy</a> </div> <div> <a href="product3.html">Buy</a> </div> </div>
|
Buy Buy Buy |
recommendation panel recommendation panel recommendation panel |
これらのリンクの値を区別するには、Web ページとタグをどのようにカスタマイズすればよいでしょうか。オプションは 3 つあります。リンク ID をカスタマイズするか、領域をカスタマイズするか、AppMeasurement ActivityMap モジュールファイルをカスタマイズするかです。
リンクまたはページのリンクの場所に対して固有のオブジェクト ID、s_objectID
を作成することにより、Activity Map のトラッキングを向上したり、Activity Map を使用して、リンク URL ではなく、リンクタイプやリンクの場所について報告します。 変数について詳しくは、ここをクリックしてください。s_objectID
Activity Map で s_objectID
を使用する場合、末尾のセミコロン(;
)は必須です。
コードサンプル | リンク ID | 領域 |
---|---|---|
<div id="recommendation panel"> <div> <a onClick="s_objectID='Product1';" href="product1.html">Buy</a> </div> <div> <a onClick="s_objectID='Product2';" href="product2.html">Buy</a> </div> <div> <a onClick="s_objectID='Product3';" href="product3.html">Buy</a> </div> </div>
|
Product1 Product2 Product3 |
recommendation panel recommendation panel recommendation panel |
「Buy」リンクごとに独自の地域を定義することにより、地域をカスタマイズできます。これを行うには、「Buy」アンカータグごとに、親の 1 つに "id"
パラメーターを追加します。
地域識別子として、"id"
パラメーター以外を使用できないというわけではありません。JavaScript の変数 "s.ActivityMap.regionIDAttribute"
を使用して独自の ID を設定することもできます。
コードサンプル | リンク ID | 領域 |
---|---|---|
<div id="recommendation panel"> <div id="region a"> <a href="product1.html">Buy</a> </div> <div id="region b"> <a href="product2.html">Buy</a> </div> <div id="region c"> <a href="product3.html">Buy</a> </div> </div>
|
Buy Buy Buy |
region a region b region c |
必ず変更したコードをテストして、正しく動作することを確認してください。変更後のコードの動作については、アドビでは一切責任を負いません。
AppMeasurement.js ファイルに(変更した形式で)含めることのできる一般的なリンク/領域関数の例を 2 つ示します。
s.ActivityMap.link = function(ele, linkName) {
if (linkName) {
return linkName;
}
if (ele) {
if (ele.tagName == 'A' && ele.href) {
return ele.href;
}
}
}
linkName
は、s.tl()
に対する呼び出し中に渡されます。
s.ActivityMap.region = function(ele) {
var className,
classNames = {
'header': 1,
'navbar': 1,
'left-content': 1,
'main-content': 1,
'footer': 1,
};
while ((ele && (ele = ele.parentNode))) {
if ((className=ele.className) && classNames[className]) {
return className;
}
}
return "BODY";
}