Ich habe vor einiger Zeit einen Beitrag zu diesem Thema verfasst und seither weitere Nachforschungen angestellt und das Problem weiterentwickelt, aber ich habe immer noch keine Lösung...
Ich habe eine Website (www.seatgeek.com), auf der eine Menge Links über AJAX geladen werden. Wenn ein Benutzer auf einen dieser Links klickt, möchte ich es als ein Ziel zählen, also habe ich versucht, pageTracker._trackPageview() an das onClick-Attribut der Links anzuhängen. Aber GA zeichnet diese Klicks nicht auf, und ich habe keine Ahnung warum. Hier ist der Code für einen dieser Links:
<a href="<?php echo $tickets[$x][3] ?>" target = "_blank" class="buyTicketsLink" onClick="pageTracker._trackPageview('/outgoing/event4.php');">BUY TICKETS</a>
Ich habe den obigen Code in Situationen ausprobiert, in denen der Link nicht über AJAX geladen wird, und er funktioniert einwandfrei, es ist also definitiv ein AJAX-spezifisches Problem. Außerdem habe ich bei meinen Versuchen, dieses Problem zu lösen, auch versucht, die Onclick-Ereignisse programmatisch hinzuzufügen, z. B.:
<script>
function attach_goal_tracking() {
var links = document.getElementsByClassName("buyTicketsLink");
for(var i=0; i<links.length; i++) {
links[i].onclick = record_goal;
}
}
function record_goal() {
pageTracker._trackPageview('/event/outgoing');
}
</script>
Auch das funktioniert nicht. Aber wenn ich der Funktion record_goal() ein Test-Warnfeld hinzufüge, ist es klar, dass die Funktion ausgeführt wird. Wenn ich zum Beispiel die Funktion in diese ändere:
function record_goal() {
alert('Hello');
pageTracker._trackPageview('/event/outgoing');
}
Dann wird das "Hallo"-Warnfeld angezeigt, wenn ein Link angeklickt wird. Aber der Seitenaufruf zu "/event/outgoing" wird immer noch nicht aufgezeichnet.
Ich bin völlig verblüfft, was die Ursache dafür sein könnte. Für jeden Ratschlag wäre ich sehr dankbar.
1 Stimmen
Warum haben Sie eine separate Frage gestellt, anstatt Ihre vorherige Frage zu bearbeiten? stackoverflow.com/questions/1554486/