GoogleアナリティクスJSを<head>内に配置する必要がありますか、それとも<body>の最後に配置しますか?


123

グーグルは私にジャバスクリプトの一部を与え、それをに含めるように私に言っています<head>

それを最後に置くことはでき<body>ますか、それを行うと副作用が発生しますか?


3
彼らはそれを</ body>終了タグの前に置くように言っていませんか?それともこれは変わりましたか?
マルコ

回答:


155

<head>セクションの最後に配置することで、ユーザーがページの読み込みを完了させない場合でも、メトリックが追跡されるようになります。

彼らは、ページの部分的なロードを処理するためのサポートを追加する前に、それをページの下部に置くように言っていました。

Googleから直接:

非同期スニペットの主な利点の1つは、HTMLドキュメントの上部に配置できることです。これにより、ユーザーがページを離れる前に追跡ビーコンが送信される可能性が高くなります。<head>セクションにJavaScriptコードを配置するのが通例です。最高のパフォーマンスを得るには、セクションの下部にスニペットを配置することをお勧めします。

Google Analyticsヘルプを参照してください:トラッキングコードをサイトに直接追加します


8
下に置いても大丈夫ですか?すべてを下部に配置することでページを高速でロードします(適切なレンダリングではCSSを上部に配置します)。編集して、そこにjsを配置します。

2
はい、できます。私は実際にミックスを持っていますが、言及された理由でそれをトップに置くことにほとんど移行しました。
Chris Arguin、2010

6
なぜこれが有利なのですか?そのようなユーザーはそもそも間違いを犯したと言っているので、ページの部分的なロードを数えたくないようです。彼らがそこにいるつもりでも、私がコンテンツを見るのに1ミリ秒待たせたくありません。
Melinda Green

3
ページの部分的な読み込みは、サイトの所有者にとって修正が必要なことを意味する場合もあります。誰かがあなたの店に足を踏み入れたと想像してください。あなたはそれを修正するためにあなたの広告を修正したいと思うでしょう。
Optimus

2
これに対する小さな更新:の末尾ではなく、<head>リンク先のページに「各ページの開始<head>タグの直後にタグを追加する」
Brandon

6

どこにでも置くことができます。私は常にページの最後にトラッキングコードを配置しており、問題は発生していません。


2
ページを部分的に読み込み、ミリ秒以内に離脱するユーザーを検出したいのはなぜですか?
ジョアンピメンテルフェレイラ2017

@JoãoPimentelFerreira貴重な情報でもあるので、ビューの何%かを測定したい場合があります
jangorecki

3

ページの好きな場所に配置でき、ページの先頭でも本文でも、どこでも実行できます。ただし、Googleのサポート(トラッキングコードをサイトに直接追加する)によると、ヘッドタグに挿入し、終了タグの直前に貼り付けることが推奨されています。</head>

ヘッドタグにコードを配置する理由を説明する優れた記事の次の段落

ページビューは、そのコードが読み込まれた後にのみ記録されます。したがって、コードの読み込みが早いほど、ページビューの記録が早くなります。大きなブログページがあり、読み込みが遅いとしましょう。すべてを読み込むのに10〜20秒もかかります。Googleコードがページの最後まで開始しない場合、他のコード行を保持するために使用されていた古い非同期コードと同じように、コードが保持される可能性があります。今は例外ですが、トラッキングコードを保持しています。サイトの訪問者がページにアクセスし、トラッキングコードがページビューを呼び出す前にページを離れると、その訪問者は失われます。彼らは今、彼らが上陸したサイトのどんなページへの新しい直接訪問にもなります。これにより、サイト上のあらゆる種類のデータが不正確になる可能性があります。


0

先頭の終了タグ</ head>の直前では、ウェブマスターツールでのウェブサイトの確認に問題はありません。


0

次のコード(「JavaScriptトラッキングスニペット」と呼ばれる)をサイトのテンプレートに追加することは、analytics.jsの使用を開始する最も簡単な方法です。

コードは、タグの上部近くで、他のスクリプトまたはCSSタグの前に追加する必要があります。文字列「UA-XXXXX-Y」は、GoogleアナリティクスのプロパティID(「トラッキングID」とも呼ばれます)に置き換えます追跡するプロパティ。

<!-- Google Analytics -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

ga('create', 'UA-XXXXX-Y', 'auto');
ga('send', 'pageview');
</script>
<!-- End Google Analytics -->

上記のコードは4つの主要なことを行います。

  1. https://www.google-analytics.com/analytics.jsからanalytics.js JavaScriptライブラリの非同期ダウンロードを開始する要素を作成します

  2. analytics.jsライブラリが読み込まれ、準備ができたらコマンドを実行するようにスケジュールできるグローバルga関数(ga()コマンドキューと呼ばれる)を初期化します。

  3. コマンドをga()コマンドキューに追加して、「UA-XXXXX-Y」パラメータで指定されたプロパティの新しいトラッカーオブジェクトを作成します。

  4. ga()コマンドキューに別のコマンドを追加して、現在のページのページビューをGoogleアナリティクスに送信します。


「コマンドキュー」と呼んでいるので、クレジットが多すぎるため、少し詳しく見てみましょう。圧縮されたuglifiedコードは、いくつかの引数を受け入れ、それを使用していくつかのものをアンパックし、バインドされたArray.push関数へのハンドルを取得します。ga「機能」は結合したことを完全にありますpush。したがって、即時の呼び出しを最適化することができます。見つからない場合に空の配列を作成する代わりに([])、ga呼び出しごとに "arguments"配列を入れます:[['create', 'UA-XXX', 'auto'], ['send', 'pageview']]
amcgregor

-3

コードは常にタグの上部近くに追加し、他のスクリプトまたはCSSタグの前に追加する必要があります。文字列'UA-XXXXX-Y'ID、追跡するGoogleアナリティクスプロパティのプロパティ(「トラッキングID」とも呼ばれます)に置き換える必要があります。


2
これは質問の答えにはなりません。問題は、あなたが言うようにしないことの副作用は何かを尋ねることです。
Peter Hall、
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.