onBeforeEventSend

onBeforeEventSend コールバックを使用すると、JavaScript関数を登録して、そのデータがAdobeに送信される直前に送信するデータを変更できます。 このコールバックを使用すると、要素の追加、編集、削除などの機能を含め、xdmまたはdata オブジェクトを操作できます。 また、クライアントサイドのボットトラフィックが検出された場合など、データの送信を完全にキャンセルすることもできます。

WARNING
このコールバックでは、カスタムコードを使用できます。 コールバックに含めるコードで捕捉できない例外がスローされた場合、イベントの処理は停止し、データはAdobeに送信されません。

configure コマンドの実行時にonBeforeEventSend コールバックを登録します。 インライン関数内のパラメーター変数を変更することで、content変数名を任意の値に変更できます。

alloy("configure", {
  datastreamId: "ebebf826-a01f-4458-8cec-ef61de241c93",
  orgId: "ADB3LETTERSANDNUMBERS@AdobeOrg",
  onBeforeEventSend: function(content) {
    // Use nullish coalescing assignments to add a new value
    content.xdm._experience ??= {};
    content.xdm._experience.analytics ??= {};
    content.xdm._experience.analytics.customDimensions ??= {};
    content.xdm._experience.analytics.customDimensions.eVars ??= {};
    content.xdm._experience.analytics.customDimensions.eVars.eVar1 = "Analytics custom value";

    // Use optional chaining to change an existing value
    if(content.xdm.web?.webPageDetails) content.xdm.web.webPageDetails.URL = content.xdm.web.webPageDetails.URL.toLowerCase();

    // Remove an existing value
    if(content.xdm.web?.webReferrer) delete content.xdm.web.webReferrer.URL;

    // Return true to immediately send data
    if (sendImmediate == true) {
      return true;
    }

    // Return false to immediately cancel sending data
    if(myBotDetector.isABot()){
      return false;
    }

    // Assign the value in the 'cid' query string to the tracking code XDM element
    content.xdm.marketing ??= {};
    content.xdm.marketing.trackingCode = new URLSearchParams(window.location.search).get('cid');
  }
});

また、インライン関数の代わりに独自の関数を登録することもできます。

function lastChanceLogic(content) {
  content.xdm.application ??= {};
  content.xdm.application.name = "App name";
}

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

Web SDK タグ拡張機能を使用したイベント送信前のコールバックの設定

これらの設定は、Data collection configuration settingsを使用してWeb SDK タグ拡張機能で設定できます。

recommendation-more-help
experience-platform-help-collection