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 di Activity Map. Impostando qui una funzione di sostituzione che restituisce valori errati si possono verificare problemi di raccolta dei dati con le dimensioni di Activity Map e la sovrapposizione di Activity Map.

Sovrascrittura dei valori dell’area geografica tramite Web SDK

È possibile utilizzare il callback OnBeforeLinkClickSend per modificare il payload di Web SDK 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 geografica Activity Map.

Se il valore restituito è falsy, tutte le variabili di dati di contesto di 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