2016-04-20 4 views
0

Google Support schlägt vor, seinen Google Analytics-Tracking-Code "before the closing </head> tag on every web page on your site you wish to track" zu platzieren. Außerdem wird vorgeschlagen, den Google Tag Manager zu verwenden, um Ihren Analytics-Tracking-Code für dynamische Websites effizienter zu implementieren. Allerdings heißt es, den Google Tag Manager Code "immediately after the opening <body> tag on every page on your site" zu platzieren, der sich zu widersprechen scheint.Die Platzierung des GTM-Containers widerspricht der Platzierung des GA-Containers.

Wenn ich den Google Tag Manager zur Installation von Google Analytics verwende (wie vorgeschlagen), wie lautet die richtige Platzierung des Google Tag Manager-Containers vor dem abschließenden Tag </head> oder nach dem öffnenden Tag <body>?

Antwort

1

Es spielt keine Rolle, wo Sie Ihr GA-Tracking-Snippet platzieren. Der Grund offizielle GA-Dokumente vorschlagen, es in die ist, weil Sie können Platzieren Sie es in die <head> und es wird funktionieren. Und schon im Dokument wie möglich das Snippet einschließlich ist von Vorteil, aus zwei Gründen:

  1. Also das analytics.js Skript so schnell wie möglich heruntergeladen wird, so Tracking kann so schnell wie möglich geschehen. (Hinweis: Je länger es dauert, um analytics.js herunterzuladen, desto größer ist die Wahrscheinlichkeit, dass eine Person, die auf Ihre Website kommt und dann sofort geht, nicht verfolgt wird. Vielleicht interessiert es Sie, vielleicht nicht - ich nicht).
  2. Da das Snippet die ga() command queue function definiert, und je früher Sie es definieren, desto früher können Sie es verwenden. Wenn Sie es nur im Snippet selbst verwenden, spielt es keine Rolle, wo Sie es definieren.

Auf der anderen Seite kann der GTM-Schnipsel nicht in den <head> platziert werden. Ich meine, es kann, aber es könnte Dinge brechen.

Wenn Sie sich das GTM-Snippet ansehen, werden Sie feststellen, dass es ein innerhalb eines <noscript>-Tags enthält. Wenn Sie ein in die eines HTML-Dokuments setzen, wird der HTML-Parser davon ausgehen, dass Sie vergessen haben, das schließende </head>-Tag hinzuzufügen und das Tag für Sie zu schließen. Das heißt, wenn Sie irgendwelche Sachen haben nach die GTM-Tag im Kopf (z. B. <link> Tags, <meta> Tags, etc.), diese Sachen werden jetzt in <body>, die Fehler verursachen könnten.

Alles, was gesagt wird, wenn Sie den GTM-Tag als allerletzten Tag in <head>, mit dem HTML-Parser schließt </head> und starten <body> vorzeitig hinzufügen absolut keinen Unterschied machen.

Kurz gesagt, spielt es wahrscheinlich für die meisten Anwendungsfälle keine Rolle.Außerdem möchte ich Sie dazu ermutigen, actually read the contents of the snippets zu Ihrer Website hinzuzufügen, um zu verstehen, was sie tun. Sie sind nicht so beängstigend.


Um Ihre Frage in einem Kommentar zu antworten:

Ja, aber wenn GTM Belastungen im Körper wird es den GA-Tracking-Code in dem Körper verlassen, das sagt, wo es widerspricht den GA-Code zu platzieren

Dies ist nicht wirklich wahr, noch spielt es wirklich eine Rolle. Wenn Sie sich what the tracking script actually does ansehen, werden Sie sehen, dass es hauptsächlich analytics.js herunterlädt, und es ist absolut egal, wenn das <script>-Etikett, das analytics.js herunterlädt, in <head> oder <body> ist.

+0

Das GA-Bootstrap-Skript erstellt ein Javascript-Datumsobjekt - ich habe immer davon ausgegangen, dass der Timer für die Seitengeschwindigkeitsberichte initialisiert wird. Daher bin ich mir nicht sicher, wo der Code platziert wird der Timer wird zu spät im Ladevorgang initialisiert). Liege ich hier falsch? –

+0

@EikePierstorff vernünftige Annahme, aber ja, du liegst falsch. Seitengeschwindigkeits-Timing-Treffer verwenden die [Navigation Timing API] (https://developer.mozilla.org/en-US/docs/Web/API/Navigation_timing_API), was bedeutet, dass Browser, die dies nicht unterstützen, keine Seitengeschwindigkeit senden Timingtreffer Zu diesem Zeitpunkt wird 'ga.l' nur intern verwendet, um die Skriptladewartezeit zu messen. Es ist nicht in öffentlichen Berichten enthalten. –

0

GA und GTM sind zwei verschiedene Implementierungs- "Methoden" und sind daher nicht wirklich widersprüchlich. Wie in der GTM-Dokumentation angegeben, sollten Sie das GTM Bootstrap sofort nach dem Öffnen <body> Tag, außerhalb eines jeden enthaltenden Tags (dh. <div>, <p>, <section>, etc.).

Hier ist eine gute Referenz: http://www.simoahava.com/analytics/container-snippet-gtm-secrets-revealed/

Wenn GTM Lasten, es wird die analytics.js-Bibliothek aufrufen und Ihre Tracking-Objekt erstellen (die die ersten Bits des GA-Schnipsel imitiert). Dann können Sie Ihr Pageview-Tag erstellen und das grundlegende Tracking starten.

+0

Ja, aber wenn GTM in den Körper geladen wird, wird der GA-Tracking-Code in den Körper eingefügt, was widerspricht, wo es heißt, den GA-Code zu platzieren. –

+0

Wo sehen Sie, dass GTM den GA-Tracking-Code eingibt? AFAIK, GTM macht das nicht. Nur um klar zu sein, denken Sie, dass GTM das gesamte GA-Snippet auf der Website platziert? Wenn Sie neben GTM das gesamte GA-Snippet auf Ihrer Website sehen, bedeutet dies, dass Sie das erste GA selbst dort platziert haben (oder jemand anderes). – nyuen