ActivityMap.region

La variabile ActivityMap.region consente di ignorare la logica utilizzata da Activity Map per impostare i valori dell'area. Questa variabile è utile nelle aree in cui si desidera avere un controllo maggiore di quello fornito da ActivityMap.regionExclusions.

CAUTION
Questa variabile sostituisce completamente la logica Activity Map. Impostando qui una funzione di sostituzione che restituisce valori errati si possono verificare problemi di raccolta dati con le dimensioni Activity Map e la sovrapposizione Activity Map.

Ignorare i valori dell’area geografica tramite Web SDK

È possibile utilizzare il callback OnBeforeLinkClickSend per modificare il payload dell'SDK Web o interrompere l'invio dei dati.

Sostituzione dell’area geografica tramite l’estensione Adobe Analytics

Nell’estensione Adobe Analytics non è presente un campo dedicato per utilizzare questa variabile. Utilizza l’editor di codice personalizzato seguendo la sintassi di AppMeasurement.

ActivityMap.region in AppMeasurement e nell’editor di codice personalizzato dell’estensione Analytics

Assegna a questa variabile una funzione che:

  • Riceve l’elemento HTML su cui è stato fatto clic; e
  • Restituisce un valore stringa. Questo valore stringa è il valore finale utilizzato per la dimensione Area Activity Map.

Se il valore restituito è falsy, tutte le variabili di dati di contesto Activity Map vengono cancellate e non vengono tracciati dati di collegamento.

Esempi

Utilizza un nome tag minuscolo come area:

s.ActivityMap.region = function(clickedElement) {
  while (clickedElement && (clickedElement = clickedElement.parentNode)) {
    var regionId = clickedElement.tagName;
    if (regionId) {
      return regionId.toLowerCase();
    }
  }
}

Utilizza nomi di classe specifici come area:

s.ActivityMap.region = function(ele) {
  var className,
  classNames = {
    'header': 1,
    'navbar': 1,
    'left-content': 1,
    'main-content': 1,
    'footer': 1,
  };
  while ((ele && (ele = ele.parentNode))) {
    if ((className = ele.className)) {
      let classes = className.split(' ');
      for (let i = 0; i < classes.length; i++) {
        if (classNames[classes[i]]) {
          return classes[i];
        }
      }
    }
  }
  return "BODY";
}
recommendation-more-help
b4f6d761-4a8b-4322-b801-c85b9e3be690