Dies ist etwas verwirrend. Angenommen, ich habe eine Datenschicht mit Seitendetails implementiert. Die Seite hat 2 Artikel, beide werden bei jedem Klick umgeleitet. Angenommen, das Tracking läuft so ab. Sobald der Benutzer auf die Karte klickt, wird der Name des Namens der Karte (h1) im Tool angezeigt. Ich habe dieses Szenario implementiert, ohne Datenebene zu verwenden. (Looking for custom script in Adobe DTM data element?).Verwenden der Datenschicht zum Verfolgen der ereignisbasierten Regel
Der Code ist unten erwähnt, wo ich die Datenschicht definiert habe. In der DTM-Konsole habe ich Datenelemente erstellt und mit dem DataLayer-Objekt verknüpft. für den Kartennamen - DDO.pageData.cardname. Außerdem wurde eine ereignisbasierte Regel erstellt und mit diesem Datenelement verknüpft. Problem hier ist, wenn ich auf einen Artikel klicke, nimmt es h1 beider Artikel in einem einzelnen evar. Idealerweise sollte NUR der Artikel, auf den geklickt wird, den Wert haben. Bitte vorschlagen.
<article class="mu-item">
<a href="www.google.com" data-tags="test" target="_blank">
<div>
<h1>This is a test text for tracking</h1>
<p>This was the day when the South Stand at Old Trafford, the stadium where he played around half of his 758 matches for United, was officially renamed in his honour before his beloved Reds took on Everton in the Barclays Premier League.<br><br>
</p>
</div>
</a>
</article>
<article class="mu-item">
<a href="www.facebook.com" data-tags="{{displaytag_2}}" target="_blank">
<div>
<h1>This is new card</h1>
<p>This was the day when the South Stand at Old Trafford.<br><br>
</p>
</div>
</a>
</article>
<a href="#" class="link"><span>some text</span></a>
<script type="text/javascript">
DDO = {} // Data Layer Object Created
var pageObj = {};
var pageDOM = $('.mu-item');
pageObj.DestinationURL = $(pageDOM).find('a').attr('href');
pageObj.cardName = $(pageDOM).find('h1').text();
DDO.pageData = {
"pageName": document.title,
"DestinationURL":pageObj.DestinationURL,
"cardname":pageObj.cardName
}
</script>
<script type="text/javascript">_satellite.pageBottom();</script>
Warum ist die DL so niedrig auf der Seite platziert? –
@MarkStringham, weil Amit den DL vom DOM aus füllt (also muss er sicherstellen, dass die Elemente vorhanden sind, bevor er auf sie zugreift). Die interessantere Frage ist, warum Sie überhaupt einen solchen Datenlayer verwenden sollten, wenn Sie auf dieselben Informationen direkt in Ihren Datenelementen zugreifen können und wenn eine Ereignisbasisregel den Textinhalt einer geklickten Überschrift bereits zurückgibt. –
Ja @EikePierstorff das ist korrekt, das DOM-Element muss geladen werden, bevor DL auswählt, welche Antworten Mark Frage. Für Sie ist dies eigentlich nur eine Testimplementierung, bei der ich versuche, den h1-Text unter Verwendung der Datenschicht zu erhalten. Natürlich können wir diesen Zweck direkt wie erwähnt erfüllen, ich habe mich nur gefragt, ob v das immer noch mit einem DL machen kann. Eine andere Frage hier, gibt es bestimmte Szenarien, DL zu verwenden. Ich meine, es ist wie wenn es ein Einkaufswagen ist, oder irgendeine andere spezifische Funktion, wo wir DL implementieren sollten. –