onBeforeLinkClickSend

IMPORTANT
Dieser Rückruf wird nicht mehr unterstützt. Verwendung filterClickDetails anstatt.

Die onBeforeLinkClickSend Callback ermöglicht die Registrierung einer JavaScript-Funktion, die die Linktracking-Daten ändern kann, die Sie unmittelbar vor dem Senden dieser Daten an Adobe senden. Mit diesem Rückruf können Sie die xdm oder data -Objekt, einschließlich der Möglichkeit, Elemente hinzuzufügen, zu bearbeiten oder zu entfernen. Sie können das Senden von Daten auch bedingt abbrechen, z. B. mit erkanntem clientseitigem Bot-Traffic. Es wird auf Web SDK 2.15.0 oder höher unterstützt.

Dieser Rückruf wird nur ausgeführt, wenn clickCollectionEnabled aktiviert ist und filterClickDetails enthält keine registrierte Funktion. Wenn clickCollectionEnabled deaktiviert ist oder wenn filterClickDetails eine registrierte Funktion enthält, wird dieser Rückruf nicht ausgeführt. Wenn onBeforeEventSend und onBeforeLinkClickSend beide registrierte Funktionen enthalten, onBeforeLinkClickSend wird zuerst ausgeführt.

WARNING
Dieser Rückruf ermöglicht die Verwendung von benutzerdefiniertem Code. Wenn Code, den Sie in den Rückruf einschließen, eine nicht abgefangene Ausnahme ausgibt, wird die Verarbeitung für das Ereignis angehalten. Daten werden nicht an Adobe gesendet.

Wählen Sie die Vor Link-Klick-Ereignis angeben Callback-Code senden Schaltflächen beim Konfigurieren der Tag-Erweiterung. Diese Schaltfläche öffnet ein modales Fenster, in das Sie den gewünschten Code einfügen können.

  1. Anmelden bei experience.adobe.com mit Ihren Adobe ID-Anmeldedaten.
  2. Navigieren Sie zu Datenerfassung > Tags.
  3. Wählen Sie die gewünschte Tag-Eigenschaft aus.
  4. Navigieren Sie zu Erweiterungen Klicken Sie auf Konfigurieren auf Adobe Experience Platform Web SDK Karte.
  5. Scrollen Sie nach unten zum Datenerfassung und wählen Sie das Kontrollkästchen aus. Aktivieren der Klickdatenerfassung.
  6. Wählen Sie die Schaltfläche mit der Bezeichnung Vor Link-Klick-Ereignis angeben Callback-Code senden.
  7. Diese Schaltfläche öffnet ein modales Fenster mit einem Code-Editor. Fügen Sie den gewünschten Code ein und klicken Sie dann auf Speichern , um das modale Fenster zu schließen.
  8. Klicks Speichern unter den Erweiterungsparametern und veröffentlichen Sie dann Ihre Änderungen.

Im Code-Editor haben Sie Zugriff auf die folgenden Variablen:

  • content.clickedElement: Das angeklickte DOM-Element.
  • content.xdm: Die XDM-Payload für das Ereignis.
  • content.data: Die Payload des Datenobjekts für das Ereignis.
  • return true: Beenden Sie den Callback sofort mit den aktuellen Variablenwerten. Die onBeforeEventSend -Rückruf wird ausgeführt, wenn er eine registrierte Funktion enthält.
  • return false: Beenden Sie den Callback sofort und brechen Sie das Senden von Daten an Adobe ab. Die onBeforeEventSend -Rückruf wird nicht ausgeführt.

Alle Variablen, die außerhalb von content kann verwendet werden, sind aber nicht in der Payload enthalten, die an Adobe gesendet wird.

// 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";

Ähnlich wie onBeforeEventSend, können Sie return true die Funktion unverzüglich abzuschließen, oder return false um den Versand von Daten an Adobe abzubrechen. Wenn Sie das Senden von Daten abbrechen onBeforeLinkClickSend Wenn beide onBeforeEventSend und onBeforeLinkClickSend enthält registrierte Funktionen, die onBeforeEventSend -Funktion nicht ausgeführt.

Registrieren onBeforeLinkClickSend Callback beim Ausführen von configure Befehl. Sie können die content Variablennamen zu einem beliebigen Wert hinzufügen, indem Sie die Parametervariable innerhalb der Inline-Funktion ändern.

alloy("configure", {
  edgeConfigId: "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;
    }
  }
});

Sie können auch Ihre eigene Funktion anstelle einer Inline-Funktion registrieren.

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

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