onBeforeEventSend

Il callback onBeforeEventSend consente di registrare una funzione di JavaScript in grado di modificare i dati inviati immediatamente prima dell'invio dei dati ad Adobe. Questo callback consente di manipolare l'oggetto xdm o data, inclusa la possibilità di aggiungere, modificare o rimuovere elementi. Puoi anche annullare completamente l’invio di dati in modo condizionale, ad esempio con il traffico bot lato client rilevato.

WARNING
Questo callback consente l’utilizzo di codice personalizzato. Se un codice incluso nel callback genera un'eccezione non rilevata, l'elaborazione per l'evento si interrompe e i dati non vengono inviati ad Adobe.

Registra il callback onBeforeEventSend durante l'esecuzione del comando configure. È possibile modificare il nome della variabile content in qualsiasi valore desiderato modificando la variabile di parametro all'interno della funzione in linea.

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');
  }
});

È inoltre possibile registrare una propria funzione invece di una funzione in linea.

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
});

Configurare su prima del callback di invio dell’evento utilizzando l’estensione tag Web SDK

Queste impostazioni possono essere configurate nell'estensione tag Web SDK utilizzando Impostazioni di configurazione raccolta dati.

recommendation-more-help
1ae86b30-e55e-49c1-ab11-9d0356a5f3e1