onBeforeLinkClickSend
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.
Vor dem Link-Klick Callback mit der Web SDK-Tag-Erweiterung konfigurieren tag-extension
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.
- Anmelden bei experience.adobe.com mit Ihren Adobe ID-Anmeldedaten.
- Navigieren Sie zu Datenerfassung > Tags.
- Wählen Sie die gewünschte Tag-Eigenschaft aus.
- Navigieren Sie zu Erweiterungen Klicken Sie auf Konfigurieren auf Adobe Experience Platform Web SDK Karte.
- Scrollen Sie nach unten zum Datenerfassung und wählen Sie das Kontrollkästchen aus. Aktivieren der Klickdatenerfassung.
- Wählen Sie die Schaltfläche mit der Bezeichnung Vor Link-Klick-Ereignis angeben Callback-Code senden.
- 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.
- 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. DieonBeforeEventSend
-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. DieonBeforeEventSend
-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.
Vor dem Link-Klick Callback mit der Web SDK JavaScript-Bibliothek konfigurieren library
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
});