onBeforeEventSend
Med onBeforeEventSend
-återanropet kan du registrera en JavaScript-funktion som kan ändra de data du skickar precis innan dessa data skickas till Adobe. Med det här återanropet kan du ändra objektet xdm
eller data
, inklusive möjligheten att lägga till, redigera eller ta bort element. Du kan också villkorligt avbryta sändningen av data helt och hållet, t.ex. med identifierad robottrafik på klientsidan.
Konfigurera före händelsens sändning av återanrop med hjälp av taggtillägget Web SDK tag-extension
Klicka på knappen Provide on before event send callback code när du konfigurerar taggtillägget. Med den här kommandoknappen öppnas ett modalt fönster där du kan infoga den önskade koden.
- Logga in på experience.adobe.com med dina Adobe ID-inloggningsuppgifter.
- Navigera till Data Collection > Tags.
- Välj önskad taggegenskap.
- Navigera till Extensions och klicka sedan på Configure på Adobe Experience Platform Web SDK-kortet.
- Bläddra ned till avsnittet Data Collection och markera sedan knappen Provide on before event send callback code.
- Den här knappen öppnar ett modalt fönster med en kodredigerare. Infoga den önskade koden och klicka sedan på Save för att stänga det modala fönstret.
- Klicka på Save under tilläggsinställningarna och publicera sedan ändringarna.
I kodredigeraren har du tillgång till följande variabler:
content.xdm
: XDM-nyttolasten för händelsen.content.data
: data-objektnyttolasten för händelsen.return true
: Avsluta återanropet omedelbart och skicka data till Adobe med de aktuella värdena icontent
-objektet.return false
: Avsluta återanropet omedelbart och avbryt överföringen av data till Adobe.
Alla variabler som definierats utanför content
kan användas, men inkluderas inte i nyttolasten som skickas till Adobe.
// Use nullish coalescing assignments to add objects if they don't yet exist
content.xdm.commerce ??= {};
content.xdm.commerce.order ??= {};
// Then add the purchase ID
content.xdm.commerce.order.purchaseID = "12345";
// Use optional chaining to prevent undefined errors when setting tracking code to lower case
if(content.xdm.marketing?.trackingCode) content.xdm.marketing.trackingCode = content.xdm.marketing.trackingCode.toLowerCase();
// Delete operating system version
if(content.xdm.environment) delete content.xdm.environment.operatingSystemVersion;
// Immediately end onBeforeEventSend logic and send the data to Adobe for this event type
if (content.xdm.eventType === "web.webInteraction.linkClicks") {
return true;
}
// Cancel sending data if it is a known bot
if (myBotDetector.isABot()) {
return false;
}
false
vid den första händelsen på en sida. Om false
returneras för den första händelsen kan personaliseringen påverkas negativt.Konfigurera på före händelsemeddelande av återanrop med Web SDK JavaScript-biblioteket library
Registrera onBeforeEventSend
-återanropet när du kör kommandot configure
. Du kan ändra variabelnamnet content
till vilket värde som helst genom att ändra parametervariabeln inuti den infogade funktionen.
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');
}
});
Du kan också registrera en egen funktion i stället för en infogad funktion.
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
});