registerPreTrackCallback
registerPreTrackCallback 変数を使用すると、イメージリクエスト URL がコンパイルされたがまだ送信されていないときに実行する JavaScript 関数をフックできます。 この変数を使用して、AppMeasurement によって収集されたデータをパートナーまたは社内インフラストラクチャに送信できます。
registerPreTrackCallback 変数を呼び出すたびに、その関数をフックして、イメージリクエスト URL がコンパイルされるたびに実行します。 同じページの読み込みで同じ関数を複数回登録しないでください。
registerPreTrackCallback と registerPostTrackCallback の間に呼び出される関数のタイミングと順序は保証されません。 この 2 つの関数間の依存関係を避けます。Web SDK拡張機能を使用したプリトラックコールバック
Web SDKでは、データがコンパイルされた後、Adobeに送信される前に、関数をフックすることはできません。 ただし、onBeforeEventSendを使用して、データが送信される直前に実行する関数を登録できます。
- Adobe IDの資格情報を使用して、Adobe Experience Platform Data Collection UIにログインします。
- 目的のタグプロパティをクリックします。
- 拡張機能 タブに移動し、Adobe Experience Platform Web SDKの下にあるConfigure ボタンをクリックします。
- データ収集で、「イベント送信前に編集」コールバックコード ボタンをクリックします。
- エディターに目的のコードを配置します。
Web SDKを手動で実装するコールバックの事前追跡
Web SDKでは、データがコンパイルされた後、Adobeに送信される前に、関数をフックすることはできません。 ただし、doPluginsと同様に、onBeforeEventSendを使用して、データが送信される直前に実行する関数を登録できます。 詳しくは、Web SDK ドキュメントの「 グローバルにイベントを変更する」を参照してください。
// Set the trackingCode XDM field to "New value"
alloy("configure", {
"onBeforeEventSend": function(content) {
content.xdm.marketing.trackingCode = "New value";
}
})
Adobe Analytics拡張機能を使用したプリトラックコールバック
Adobe Analytics 拡張機能には、この変数を使用する専用のフィールドはありません。 AppMeasurement 構文に従って、カスタムコードエディターを使用します。
AppMeasurementのs.registerPreTrackCallbackとAnalytics拡張機能のカスタムコードエディター
s.registerPreTrackCallback は、関数を唯一の引数として受け取る関数です。 ネストされた関数は、イメージリクエストの送信直前に実行されます。
s.registerPreTrackCallback(function(){/* Desired code */});
コードでイメージリクエスト URL を使用する場合は、ネストされた関数内で requestUrl 文字列引数を参照します。 requestUrl 変数は、目的の用途に合わせて解析できます。この変数を調整しても、データ収集には影響しません。
s.registerPreTrackCallback(function(requestUrl){
console.log(requestUrl); // Outputs the full image request URL
});
s.registerPreTrackCallback 関数には、ネストされた関数で使用できる、追加の引数を含めることができます。
s.registerPreTrackCallback(function(requestUrl,a,b,c) {
console.log(requestUrl); // Full image request URL
console.log(a); // param1
console.log(b); // param2
console.log(c); // param3
}, "param1", "param2", "param3");
requestUrl 文字列の変更は、この関数呼び出しの直後に送信されるイメージリクエストには影響しません。 代わりに、doPlugins() 変数を使用します。