onBeforeLinkClickSend
filterClickDetails
.Mit dem onBeforeLinkClickSend
Callback können Sie eine JavaScript-Funktion registrieren, die Linktracking-Daten ändern kann, die Sie senden, bevor diese Daten an Adobe gesendet werden. Dieser Rückruf ermöglicht es Ihnen, das xdm
- oder data
-Objekt zu bearbeiten, einschließlich der Möglichkeit, Elemente hinzuzufügen, zu bearbeiten oder zu entfernen. Sie können das Senden von Daten auch ganz abbrechen, z. B. bei erkanntem Client-seitigem Bot-Traffic. Es wird ab Web SDK 2.15.0 unterstützt.
Dieser Rückruf wird nur ausgeführt, wenn clickCollectionEnabled
aktiviert ist und filterClickDetails
keine registrierte Funktion enthält. Wenn clickCollectionEnabled
deaktiviert ist oder filterClickDetails
eine registrierte Funktion enthält, wird dieser Callback nicht ausgeführt. Wenn onBeforeEventSend
und onBeforeLinkClickSend
beide registrierte Funktionen enthalten, wird onBeforeLinkClickSend
zuerst ausgeführt.
Konfigurieren Sie einen Link, bevor Sie auf „Rückruf senden“ klicken, indem Sie die Tag-Erweiterung „Web SDK" verwenden. tag-extension
Wählen Sie beim Konfigurieren Tag-Erweiterung die Schaltfläche Vor Link-Klick-Ereignis-Rückruf-Code Bereitstellen aus. Diese Schaltfläche öffnet ein modales Fenster, in dem Sie den gewünschten Code einfügen können.
- Melden Sie sich mit Ihren Adobe IDAnmeldeinformationen beiexperience.adobe.com) an.
- Navigieren Sie Datenerfassung > Tags.
- Wählen Sie die gewünschte Tag-Eigenschaft aus.
- Navigieren Sie zu Erweiterungen und klicken Sie dann auf Konfigurieren auf der Karte Adobe Experience Platform Web SDK.
- Scrollen Sie nach unten zum Abschnitt Datenerfassung und aktivieren Sie dann das Kontrollkästchen Aktivieren und auf Datenerfassung klicken.
- Klicken Sie auf die Schaltfläche Bereitstellen eines Links vor dem Klicken auf den Rückruf-Code für das Ereignis 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.
- Klicken unter auf „Speichern“ und veröffentlichen Sie Ihre Änderungen.
Innerhalb des Code-Editors 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
: Sofort den Callback mit den aktuellen Variablenwerten beenden. DeronBeforeEventSend
-Rückruf wird ausgeführt, wenn er eine registrierte Funktion enthält.return false
: Sofort den Callback beenden und das Senden von Daten an Adobe abbrechen. DeronBeforeEventSend
-Callback wird nicht ausgeführt.
Alle Variablen, die außerhalb von content
definiert wurden, können verwendet werden, sind jedoch 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 bei onBeforeEventSend
können Sie return true
, die Funktion sofort abzuschließen, oder return false
, das Senden von Daten an Adobe abzubrechen. Wenn Sie den Versand von Daten in onBeforeLinkClickSend
abbrechen, wenn sowohl onBeforeEventSend
als auch onBeforeLinkClickSend
registrierte Funktionen enthalten, wird die onBeforeEventSend
nicht ausgeführt.
Vor dem Klicken auf „Rückruf senden“ unter Verwendung der Web SDK JavaScript-Bibliothek konfigurieren library
Registrieren Sie den onBeforeLinkClickSend
Callback, wenn Sie den configure
Befehl ausführen. Sie können den Namen der content
in einen beliebigen Wert ändern, indem Sie die Parametervariable innerhalb der Inline-Funktion ändern.
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;
}
}
});
Anstelle einer Inline-Funktion können Sie auch eine eigene Funktion registrieren.
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
});