2017-11-01 3 views
0

ich ein vuejs Projekt mit verschiedenen Seiten haben:vuejs - Google Tag Manager

  • study.vue
  • result.vue

Mein Kunde möchte mich in der Google Tag Manager Code hinzufügen, so dass Sie können Google Analytics zum Nachverfolgen verwenden. Wo sollte ich den Code in meiner .vue Datei hinzufügen? Oder sollte ich es einfach in die index.html hinzufügen?

Update01

Das ist, was ich tue so weit:

  1. ich fügen Sie den Code Google Tag Manager zum index.html.

  2. Ich installierte vue-gtm.

  3. Ich habe app.js und bootstrap.js. im Grunde, bootstrap.js werden alle meine anderen js Frameworks hinzugefügt. Wie lodash.js oder "jquery.js". Ich füge den Beispielcode von vue-gtm in bootstrap.js hinzu:

    window._ = erfordern ('lodash'); window.moment = erfordern ('Moment');

    window.Vue = erfordern ('vue');

    import VueRouter von 'vue-Routers; Vue.use (VueRouter)

    importieren VueGtm von 'vue-gtm'; Vue.use (VueGtm, { debug: true })

  4. In allen vue Datei, füge ich diesen Code:

    diese $ ua.trackView ('Sample', 'samplepath'). ;

Jedoch habe ich eine Fehlermeldung anzeigt:

TypeError: Cannot read property 'trackView' of undefined

Was scheint der Fehler zu sein?

Antwort

1

Ich nehme an, Sie sprechen über das Skript, das Sie erhalten, wenn Sie ein Konto erstellen?

Es sollten zwei Skripte werden in Ihrem HTML enthalten, eine, die Kommentare um ihn herum hat, die einschließen (noscript) und eine, die nicht der Fall ist. Beide sollten wahrscheinlich in Ihre index.html-Datei gehen (je nachdem, welche Datei die Tags <head> und <body> hat). Die eine, die die noscript hat, sollte gehen unmittelbar nach die <body>-Tag, das eine, die nicht die noscript haben in der Nähe der Spitze des <head> Abschnitt gehen sollte.

Wenn Sie fragen, wie ein Ereignis ausgelöst werden kann, z. B. wenn der Benutzer mit einem dieser Vue-Elemente interagiert, dann sollte der Code zum Auslösen des Ereignisses in die Vue-Komponente gehen.

AKTUALISIERUNG 1: Ich habe es mir angeschaut und meine eigene Laravel-Installation zum Testen eingerichtet (da es das zu sein scheint, was Sie verwenden) und getestet. Das Problem ist, dass $ua Teil der Vue Analytics ist, also wenn Sie $ua verwenden möchten, müssen Sie auch das vue-ua Modul installieren und das zu Vue hinzufügen. Ich weiß nicht, warum die Dokumentation für das Tag Manager-Modul zeigt, wie das Analytics-Modul verwendet wird, ohne sich darauf zu beziehen. Vielleicht sollten Sie ein Problem im Tag Manager GitHub anmelden, um die Dokumentation zu verdeutlichen!

Also zusammenfassend sollten Sie stattdessen $ua durch $gtm ersetzen. Ich habe es getestet und $gtm hat eine trackView Funktion, so wird es wahrscheinlich erreichen, was Sie wollen, aber ich weiß nicht, wie man Google Tag Manager verwendet, so dass Sie es selbst testen müssen.