Google Tag Manager und Analytics debugging

Eigentlich ging es mir nur darum, mal kurz die Suchergebnisse aus einen Autosuggest-Feld an Google-Analytics zur Auswertung zu senden. „Mal kurz“ ist nur leider zu gerne zum Scheitern verurteilt.

Der Code zum Senden eines virtuellen Pageviews sieht wie folgt aus:

ga('send', 'pageview', {'page': '/globalsearch?query=' + searchstring, 'title': 'Global Search'})

Resultat: Nichts.

Erst an der Stelle wurde mir klar, dass ich mich noch nie damit beschäftigen musste, wie ich Fehlern beim Google-Analytics-Tracking auf die Schliche komme. In den Entwicklertools erfolgt das Tracking quasi unsichtbar. Eine Suche bringt einem dann aber direkt auf die Chrome-Extension „Google Analytics Debugger“. Nico Mecili geht in seinem Post „Tools and Tips for Debugging Google Analytics Like a Pro“ in die Details.

Und schon wurde die JavaScript-Konsole wesentlich gesprächiger und quittierte mit der Fehlermeldung: Command ignored. Unknown target: undefined

Mit dieser Info war das Problem dann, dank Stackoverflow.com, schnell gelöst. Warum ich mich mit diesem kleinen Problem so unsäglich herumgeschlagen hatte, lag daran, dass es gar nicht an Google Analytics, sondern am Google Tag Manger lag, der erst seit kurzem auf der Seite lief.

Der Tag Manger gibt dem Tracker für Google-Analytics einen zufälligen Namen. Dieser muss bei einer Aktion mit angegeben werden. Das sieht dann z.B. so aus:

ga("gtm0123456789.send", "pageview", ...);

Was intern für den Manager funktioniert, er weiß ja wie der Tracker heißt, ist für den restlichen Code ein Problem. Insbesondere da sich der Name des Trackers auch noch mit jedem neuen Aufruf ändert.

Hier bietet dann aber die Tag Manager-Konfiguration Abhilfe: In der Konfiguration des Analytics-Tags, im Bereich „Weitere-Einstellungen -> Erweiterte Konfiguration“, kann die Option „Name des Trackers festlegen“ aktiviert werden und im darauf folgenden Feld ein fester Name für den Tracker angegeben werden:

Google-Tagmanger Tracker Name

 

Diesen Namen dann mit in den Befehl und die Suche ist sogar direkt in den Echtzeit-Daten zu beobachten:

ga('mytracker.send', 'pageview', {'page': '/globalsearch?query=' + searchstring, 'title': 'Global Search'})

Mal kurz. Man muss es nur wissen.