onBeforeLinkClickSend

IMPORTANT
Ce rappel est obsolète. Utilisez filterClickDetails à la place.

Le rappel onBeforeLinkClickSend vous permet d’enregistrer une fonction JavaScript qui peut modifier les données de suivi des liens que vous envoyez juste avant l’envoi de ces données à Adobe. Ce rappel vous permet de manipuler l’objet xdm ou data, y compris la possibilité d’ajouter, de modifier ou de supprimer des éléments. Vous pouvez également annuler de manière conditionnelle l’envoi de données, par exemple avec le trafic de robots côté client détecté. Elle est prise en charge sur le SDK Web 2.15.0 ou version ultérieure.

Ce rappel ne s’exécute que lorsque clickCollectionEnabled est activé et filterClickDetails ne contient pas de fonction enregistrée. Si clickCollectionEnabled est désactivé ou si filterClickDetails contient une fonction enregistrée, ce rappel ne s’exécute pas. Si onBeforeEventSend et onBeforeLinkClickSend contiennent tous deux des fonctions enregistrées, onBeforeLinkClickSend est exécuté en premier.

WARNING
Ce rappel permet l’utilisation de code personnalisé. Si un code que vous incluez dans le rappel renvoie une exception non interceptée, le traitement de l’événement est interrompu. Les données ne sont pas envoyées à Adobe.

Configurez avant le rappel de rappel de clic sur les liens à l’aide de l’extension de balise SDK Web. tag-extension

Sélectionnez le bouton Fournir avant le clic sur les événements de lien envoyer le code de rappel lors de la configuration de l’extension de balise. Ce bouton ouvre une fenêtre modale dans laquelle vous pouvez insérer le code de votre choix.

  1. Connectez-vous à experience.adobe.com à l’aide de vos informations d’identification Adobe ID.
  2. Accédez à Collecte de données > Balises.
  3. Sélectionnez la propriété de balise de votre choix.
  4. Accédez à Extensions, puis cliquez sur Configurer sur la carte SDK Web Adobe Experience Platform.
  5. Faites défiler l’écran jusqu’à la section Collecte de données, puis cochez la case Activer la collecte de données de clic.
  6. Sélectionnez le bouton intitulé Fournir avant l’événement de clic de lien envoyer le code de rappel.
  7. Ce bouton ouvre une fenêtre modale avec un éditeur de code. Insérez le code de votre choix, puis cliquez sur Enregistrer pour fermer la fenêtre modale.
  8. Cliquez sur Enregistrer sous les paramètres d’extension, puis publiez vos modifications.

Dans l’éditeur de code, vous avez accès aux variables suivantes :

  • content.clickedElement : élément DOM sur lequel l’utilisateur a cliqué.
  • content.xdm : charge utile XDM pour l’événement.
  • content.data : charge utile de l’objet de données pour l’événement.
  • return true : Quittez immédiatement le rappel avec les valeurs de variable actuelles. Le rappel onBeforeEventSend s’exécute s’il contient une fonction enregistrée.
  • return false : Quittez immédiatement le rappel et abandonnez l’envoi de données à Adobe. Le rappel onBeforeEventSend n’est pas exécuté.

Toutes les variables définies en dehors de content peuvent être utilisées, mais ne sont pas incluses dans la payload envoyée à Adobe.

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

De la même manière que onBeforeEventSend, vous pouvez return true terminer la fonction immédiatement ou return false abandonner l'envoi de données à Adobe. Si vous interrompez l'envoi de données dans onBeforeLinkClickSend lorsque onBeforeEventSend et onBeforeLinkClickSend contiennent tous deux des fonctions enregistrées, la fonction onBeforeEventSend ne s'exécute pas.

Configurez avant le rappel de rappel de clic sur les liens à l’aide de la bibliothèque JavaScript SDK Web library

Enregistrez le rappel onBeforeLinkClickSend lors de l’exécution de la commande configure. Vous pouvez remplacer le nom de la variable content par toute valeur souhaitée en modifiant la variable de paramètre dans la fonction intégrée.

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;
    }
  }
});

Vous pouvez également enregistrer votre propre fonction au lieu d’une fonction intégrée.

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
});
recommendation-more-help
ad108910-6329-42f1-aa1d-5920a2b13636