onBeforeLinkClickSend
filterClickDetails
.Met de callback van onBeforeLinkClickSend
kunt u een JavaScript-functie registreren die de gegevens voor het bijhouden van koppelingen die u verzendt, kan wijzigen vlak voordat de gegevens naar de Adobe worden verzonden. Met deze callback kunt u het object xdm
of data
bewerken, inclusief de mogelijkheid om elementen toe te voegen, te bewerken of te verwijderen. U kunt het verzenden van gegevens ook voorwaardelijk annuleren, zoals met ontdekt cliënt-zijbot verkeer. Deze functie wordt ondersteund op Web SDK 2.15.0 of hoger.
Deze callback wordt alleen uitgevoerd wanneer clickCollectionEnabled
is ingeschakeld en filterClickDetails
geen geregistreerde functie bevat. Als clickCollectionEnabled
is uitgeschakeld of als filterClickDetails
een geregistreerde functie bevat, wordt deze callback niet uitgevoerd. Als onBeforeEventSend
en onBeforeLinkClickSend
allebei geregistreerde functies bevatten, wordt onBeforeLinkClickSend
eerst uitgevoerd.
Vorm vóór verbinding klikken verzend callback gebruikend de de markeringsuitbreiding van SDK van het Web tag-extension
Selecteer de Provide on before link click event send callback code knoop wanneer het vormen van de markeringsuitbreiding. Met deze knop opent u een modaal venster waarin u de gewenste code kunt invoegen.
- Login aan experience.adobe.comgebruikend uw geloofsbrieven van Adobe ID.
- Ga naar Data Collection > Tags.
- Selecteer de gewenste eigenschap tag.
- Navigeer naar Extensions en klik vervolgens op Configure op de Adobe Experience Platform Web SDK -kaart.
- Schuif omlaag naar de sectie Data Collection en schakel vervolgens het selectievakje Enable click data collection in.
- Selecteer de knop met het label Provide on before link click event send callback code .
- Met deze knop opent u een modaal venster met een code-editor. Voeg de gewenste code in en klik op Save om het modale venster te sluiten.
- Klik op Save onder extensie-instellingen en publiceer uw wijzigingen.
In de code-editor hebt u toegang tot de volgende variabelen:
content.clickedElement
: Het DOM-element waarop is geklikt.content.xdm
: De XDM-lading voor de gebeurtenis.content.data
: De payload van het gegevensobject voor de gebeurtenis.return true
: Sluit de callback onmiddellijk af met de huidige variabelewaarden. De callback vanonBeforeEventSend
wordt uitgevoerd als deze een geregistreerde functie bevat.return false
: Sluit de callback onmiddellijk af en abort het verzenden van gegevens naar de Adobe. De callbackonBeforeEventSend
wordt niet uitgevoerd.
Variabelen die buiten content
worden gedefinieerd, kunnen worden gebruikt, maar worden niet opgenomen in de lading die naar de Adobe wordt verzonden.
// 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";
Net als onBeforeEventSend
kunt u return true
de functie direct voltooien of return false
het verzenden van gegevens naar de Adobe afbreken. Als u het verzenden van gegevens afbreekt in onBeforeLinkClickSend
wanneer zowel onBeforeEventSend
als onBeforeLinkClickSend
geregistreerde functies bevatten, wordt de functie onBeforeEventSend
niet uitgevoerd.
Configureer op voordat de koppeling klikt en stuur callback met behulp van de Web SDK JavaScript-bibliotheek library
Registreer de callback onBeforeLinkClickSend
wanneer u de opdracht configure
uitvoert. U kunt de naam van de variabele content
wijzigen in elke gewenste waarde door de parametervariabele binnen de inline functie te wijzigen.
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;
}
}
});
U kunt ook uw eigen functie registreren in plaats van een inline functie.
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
});