onBeforeLinkClickSend

IMPORTANT
Questo callback è obsoleto. Utilizza invece filterClickDetails.

Il callback onBeforeLinkClickSend consente di registrare una funzione di JavaScript che può modificare i dati di tracciamento dei collegamenti 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. È supportato dall’SDK web 2.15.0 o versione successiva.

Questo callback viene eseguito solo quando clickCollectionEnabled è abilitato e filterClickDetails non contiene una funzione registrata. Se clickCollectionEnabled è disabilitato o se filterClickDetails contiene una funzione registrata, il callback non viene eseguito. Se onBeforeEventSend e onBeforeLinkClickSend contengono entrambi funzioni registrate, onBeforeLinkClickSend viene eseguito per primo.

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. I dati non vengono inviati ad Adobe.

Configurare prima del collegamento fai clic su Invia callback utilizzando l’estensione tag Web SDK tag-extension

Seleziona il pulsante Fornisci prima del collegamento, invia codice di callback dell'evento clic quando configura l'estensione tag. Questo pulsante apre una finestra modale in cui puoi inserire il codice desiderato.

  1. Accedi a experience.adobe.com utilizzando le credenziali Adobe ID.
  2. Passa a Raccolta dati > Tag.
  3. Seleziona la proprietà tag desiderata.
  4. Passa a Estensioni, quindi fai clic su Configura nella scheda Adobe Experience Platform Web SDK.
  5. Scorri verso il basso fino alla sezione Raccolta dati, quindi seleziona la casella di controllo Abilita raccolta dati su clic.
  6. Selezionare il pulsante con l'etichetta Fornisci prima del collegamento codice di callback di invio evento clic.
  7. Questo pulsante apre una finestra modale con un editor di codice. Inserisci il codice desiderato, quindi fai clic su Salva per chiudere la finestra modale.
  8. Fai clic su Salva in Impostazioni estensione, quindi pubblica le modifiche.

Nell’editor di codice puoi accedere alle seguenti variabili:

  • content.clickedElement: elemento DOM su cui è stato fatto clic.
  • content.xdm: payload XDM per l'evento.
  • content.data: payload dell'oggetto dati per l'evento.
  • return true: uscire immediatamente dal callback con i valori della variabile corrente. Il callback onBeforeEventSend viene eseguito se contiene una funzione registrata.
  • return false: uscire immediatamente dal callback e interrompere l'invio di dati all'Adobe. Il callback onBeforeEventSend non è eseguito.

È possibile utilizzare qualsiasi variabile definita al di fuori di content, ma non è inclusa nel payload inviato a Adobe.

// Set an already existing value to something else
content.xdm.web.webPageDetails.URL = "https://example.com/current.html";

// Use nullish coalescing assignments to create objects if they don't yet exist, preventing undefined errors.
// Can be omitted if you are certain that the object is already defined
content.xdm._experience ??= {};
content.xdm._experience.analytics ??= {};
content.xdm._experience.analytics.customDimensions ??= {};
content.xdm._experience.analytics.customDimensions.eVars ??= {};

// Then set the property to the clicked element
content.xdm._experience.analytics.customDimensions.eVars.eVar1 = content.clickedElement;

// Use optional chaining to check if each object is defined, preventing undefined errors
if(content.xdm.web?.webInteraction?.type === "other") content.xdm.web.webInteraction.type = "download";

Analogamente a onBeforeEventSend, è possibile return true per completare immediatamente la funzione o return false per interrompere l'invio di dati all'Adobe. Se si interrompe l'invio di dati in onBeforeLinkClickSend quando sia onBeforeEventSend che onBeforeLinkClickSend contengono funzioni registrate, la funzione onBeforeEventSend non viene eseguita.

Configurare su prima del collegamento fare clic su Invia callback utilizzando la libreria JavaScript dell'SDK Web library

Registra il callback onBeforeLinkClickSend 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",
  onBeforeLinkClickSend: function(content) {
    // Add, modify, or delete values
    content.xdm.web.webPageDetails.URL = "https://example.com/current.html";

    // Return true to complete the function immediately
    if (sendImmediate == true) {
      return true;
    }

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

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

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

alloy("configure", {
  datastreamId: "ebebf826-a01f-4458-8cec-ef61de241c93",
  orgId: "ADB3LETTERSANDNUMBERS@AdobeOrg",
  onBeforeLinkClickSend: lastChanceLinkLogic
});
recommendation-more-help
ad108910-6329-42f1-aa1d-5920a2b13636