ActivityMap.region

Mit der Variable ActivityMap.region können Sie die Logik überschreiben, die Activity Map zum Festlegen von Regionswerten verwendet. Diese Variable ist nützlich in Bereichen, in denen Sie mehr Kontrolle haben möchten als von ActivityMap.regionExclusions bereitgestellt wird.

CAUTION
Diese Variable überschreibt die Activity Map-Logik vollständig. Wenn Sie hier eine Überschreibungsfunktion einrichten, die falsche Werte zurückgibt, kann dies zu Problemen bei der Datenerfassung mit Activity Map-Dimensionen und der Activity Map-Überlagerung führen.

Überschreiben von Regionswerten mithilfe des Web SDK

Sie können den Rückruf OnBeforeLinkClickSend verwenden, um die Web SDK-Payload zu ändern oder das Senden von Daten abzubrechen.

Regionsüberschreibungen mit der Adobe Analytics-Erweiterung

In der Adobe Analytics-Erweiterung gibt es kein eigenes Feld, um diese Variable zu verwenden. Verwenden Sie den Editor für benutzerdefinierten Code entsprechend der AppMeasurement-Syntax.

ActivityMap.region in AppMeasurement und im benutzerdefinierten Code-Editor der Analytics-Erweiterung

Weisen Sie dieser Variablen eine Funktion zu, die:

  • empfängt das angeklickte HTML-Element und
  • Gibt einen Zeichenfolgenwert zurück. Dieser Zeichenfolgenwert ist der Endwert, der für die Dimension Activity Map Region verwendet wird.

Wenn der Rückgabewert falsy ist, werden alle Activity Map-Kontextdatenvariablen gelöscht und es werden keine Linkdaten verfolgt.

Beispiele

Verwenden Sie einen Tag-Namen in Kleinbuchstaben als region:

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

Verwenden Sie bestimmte gewünschte Klassennamen als region:

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