Allgemeine Probleme beim Verweisen auf ein Datenelement mit benutzerdefiniertem Code in DTM sind:
- Verwenden der Methode _satellite.readcookie (), um ein Datenelement aufzurufen.
- Query-String kann nicht mit s.referrer gelesen werden.
Beim Aufrufen eines Datenelements, dessen Persistenz auf Sitzung oder Besucher eingestellt ist, schreibt DTM den zurückgegebenen Wert in ein Cookie.
In diesem Fall kann durch Aufrufen von _satellite.readCookie (‘sdsat’ + dataElementName) auf den zurückgegebenen Wert verwiesen werden, ohne dass das benutzerdefinierte Skript im Datenelement erneut ausgeführt wird.
Alternativ dazu kann durch Aufrufen von _satellite.getVar(dataElementName) auf das Datenelement verwiesen werden, das den Wert erneut ausführt, indem der benutzerdefinierte Skriptcode neu ausgeführt wird.
Beachten Sie, dass Datenelemente erst dann existieren, wenn sie aufgerufen werden. Sie werden aufgerufen, wenn sie in der Benutzeroberfläche aufgerufen werden, wenn _satellite.track aufgerufen wird, oder durch ein benutzerdefiniertes Skript oder eine Regel.
Wenn Sie nur den Wert innerhalb einer bestimmten Seite verwenden, können Sie auf das Datenelement in der Seitenlade-Regel zugreifen. Wenn Sie dann auf diesen Wert auf derselben Seite erneut zugreifen, können Sie erneut auf das Datenelement zugreifen. In diesem Fall funktioniert dies nur, nachdem das benutzerdefinierte Skript erneut ausgeführt wurde.
Bei Übergabe des Datenelements zur s.referrer-Methode stellen Sie sicher, dass es ein benutzerdefiniertes Skript gibt, das zuerst das Datenelement aufruft. Nachdem das Skript das Datenelement aufgerufen hat, übergeben Sie es an die s.referrer-Methode.
Als schnelle Lösung können Sie eine Regel ohne Bedingungen erstellen, die auf jeder Seite ausgelöst wird. Wenn Sie auf ein Datenelement auf der relevanten Seite verweisen, kann es anschließend „erstellt“ werden. Nachdem es erstellt wurde, kann es dann in die s.referrer-Methode mit dem folgenden Code übergeben werden: s.referrer = _satellite.getVar(<data element name>).