2015-10-23 9 views
11

Ich versuche, den Google Tag Manager in meine Ember App zu integrieren. Es fällt mir schwer zu verstehen, wie ich GTM mitteilen kann, dass sich die Seite geändert hat, und ein Ereignis für die Seitenansicht senden kann.Google Tag Manager und Einzelseiten-Apps

Ich habe eine Menge Dinge online gelesen, meistens arbeite ich daran, eine neue Variable für eine "virtuelle Seite" oder so etwas zu erstellen, aber offensichtlich ist das alles andere als ideal.

Ich möchte dataLayer.push einfach verwenden können, um die tatsächlich geänderte Seite zu benachrichtigen. Gibt es einen einfachen Ausweg, den ich nicht gefunden habe oder ist es wirklich ein Schmerz, mit GTM auf SPA zu verfolgen?

+0

Neugierig, wenn VPVs alles andere als ideal sind, dann ist es ideal für Sie in Ihrem Fall eines SPA. VPVs sind fast die einzige Option für Sie, es sei denn, Sie ändern natürlich die Seitenarchitektur Ihrer Website. Um VPVs zu verwenden, müssen Sie jedes Mal, wenn sich die "Seite" ändert, ein Ereignis auslösen und dann ein Pageview-Tag auslösen, das einen neuen Seitennamen auslöst (dh Ihr VPV). – nyuen

+0

@nyuen Sie scheinen zu wissen, worüber Sie sprechen. Ich habe mich nur gewundert, warum es nicht so einfach war wie bei GA, wo ich einfach ein 'ga ('send', 'pageview') machen konnte und GA die geänderte Seite benachrichtigen würde. –

+0

@nyuen auch, kann GA dann benachrichtigen die Seite direkt von GTM geändert, so dass ich 'ga ('send', 'pageview')' 'dann' dataLayer.push 'nicht auslösen muss? –

Antwort

8

Sie müssen definitiv Ereignisse in die DataLayer schieben, die dann ein GA-Seitenansichts-Tag in GTM auslösen können. So ein Ereignis in den DL zu drücken:

dataLayer.push({'event':'virtualPageView'}); 

Dann Sie einen Trigger namens ‚VPV‘, die auf einem benutzerdefinierten Ereignis ausgelöst namens ‚virtualPageView‘. Fügen Sie diesen Trigger einem GA-Tag hinzu.

Am besten senden Sie auch die Details der virtuellen Seite, wenn Sie das Ereignis senden. Auf diese Weise können Sie Variablen einrichten, die diese DataLayer-Eigenschaftswerte in den Aufruf der Seitenaufrufe ziehen. So könnten Sie dies tun:

dataLayer.push({ 
    'event':'virtualPageView', 
    'page':{ 
    'title':'contact us', 
    'url':'/contact' 
    } 
}); 

So sollten Sie Setup eine Variable ‚DL- Seitentitel‘ (zum Beispiel) genannt, die ein data Wert von ‚Page.Title‘ ist und eine andere Variable namens ‚DL - Seite url 'ist ein DataLayer-Wert von' page.url '.

Anschließend richten Sie ein neues Universal Analytics-Tag ein, das alle üblichen Einstellungen für die Seitenansicht enthält, jedoch mit 2 zu setzenden Feldern (unter Weitere Einstellungen). Setzen Sie "title" auf {{DL-Seitentitel}} und "page" auf {{DL - page url}}

Schließlich setzen Sie den Trigger auf "vpv" und Sie finden jedes Mal, wenn Sie die Ereignis + Daten drücken In den Datenlayer erhalten Sie ein PageView, das mit dem Titel und der virtuellen URL Ihrer virtuellen Seite abgefeuert wird.

+0

Ich habe das ausprobiert und ich hatte ein großes Problem, da ich das Ereignis auf DataLayer drehe. Ich erhalte eine exponentielle Menge an Event, da die DataLayer auf Seiten persistent ist. – Sunny

+0

@Sunny Ich nehme an, du meinst, du bekommst ein großes DataLayer-Array, weil du immer daran gehst, Seitenaufrufe hinein zu schieben. Dies ist ein Nachteil der Verwendung der DL in einer einzelnen Seite App. Vergessen Sie nicht, DL ist nur ein Array auf einer Webseite. Sie können es jederzeit löschen, wenn Sie sich entscheiden. –

+0

@dmpg_tom @Sunny 'dataLayer' hat ein Limit von 300 Einträgen und wird sich nach Bedarf aufräumen: http://www.simoahava.com/gtm-tips/datalayer-declaration-vs-push/#comment-608025 – krukid

0

Dies wurde vor einiger Zeit gefragt. Mit dem aktuellen Feature-Set von GTM können Sie das SPA-Seiten-Tracking ohne großen Aufwand einrichten.

Gehen Sie zuerst zu Triggers und erstellen Sie einen neuen Trigger. Wählen Sie als Triggertyp History Change aus. Dadurch wird ein Auslöser erstellt, der jedes Mal ausgelöst wird, wenn sich der Standortverlauf ändert.

Dann erstellen Sie einen neuen Tag von Universal Analytics Typ und richten Sie es nach dem Screenshot unten ein.

[Universal Analytics tag configuration[1]

Was den Auslöser wird das zuvor History ändern Trigger definiert, und du bist fertig. Jedes Mal, wenn in Ihrem SPA eine Navigation stattfindet, wird ein Seitenanzeigeereignis mit dem richtigen Seitenpfad ausgelöst.

Verwandte Themen