Google Analytics導入プラグインの設置について 投稿する

投稿者:kamo  投稿日時:2023-05-31 08:47:27
いつも開発ありがとうございます。kamoです。

CMS3.3.2 PHP8.0.25の環境で、上記Analytics導入プラグインを有効にしています。
Google Analytics導入プラグインはVersion 1.11です。
プラグイン設置画面では、PC、スマートフォン、グローバルサイトタグ(gtag.js)
の設定場所がありますが、グローバルサイトタグ(gtag.js)欄に
<script async src="https://www.googletagmanager.com/gtag/js?id=G-085SE***"></script>
<script>
	window.dataLayer = window.dataLayer || [];
	function gtag(){dataLayer.push(arguments);}
	gtag('js', new Date());

	gtag('config', 'G-085SE***");
</script>
と記述してもページにコードが追加表示されません。
試しに、グローバルサイトタグ(gtag.js)欄を空欄にして
PC欄に同じコードを記述してみたら、
<script async src="https://www.googletagmanager.com/gtag/js?id=G-085SE***"></script>
このコード以外はページのソースコード表示を確認できました。
また、PC欄に
<script>
	window.dataLayer = window.dataLayer || [];
	function gtag(){dataLayer.push(arguments);}
	gtag('js', new Date());

	gtag('config', 'G-085SE***");
</script>
と記述、 グローバルサイトタグ(gtag.js)欄に
<script async src="https://www.googletagmanager.com/gtag/js?id=G-085SE***"></script>
を記述してみたところ、グローバルサイトタグ(gtag.js)に
記述した内容はページのソースコードに反映されておりませんでした。
表示は
<head>
タグの直後に貼り付けを選択しています。
また、Shop2.5.2のGoogle Analyticsプラグイン1.9でも
トラッキングコードの設定欄に
<script async src="https://www.googletagmanager.com/gtag/js?id=G-085SE***"></script>
<script>
	window.dataLayer = window.dataLayer || [];
	function gtag(){dataLayer.push(arguments);}
	gtag('js', new Date());

	gtag('config', 'G-085SE***");
</script>
を記述しておりますが、同様に
<script async src="https://www.googletagmanager.com/gtag/js?id=G-085SE***"></script>
の部分がページソースに表示されておりません。

どこか設定欄の記述が違っておりますでしょうか。
お手数でもご指導頂きたくよろしくお願いいたします。
投稿者:齋藤毅  投稿日時:2023-05-31 09:06:40
プラグインの詳細設定で「ページ毎にトラックコードを挿入するかしないかを設定します」の箇所がありますが、動作を確認したページにチェックは付いていますか?
投稿者:kamo  投稿日時:2023-05-31 09:18:49
はい。チェックは入っています。
ページが見つかりません (/_notfound)とsitemap (/sitemap.xml)以外は
チェックを入れております。
投稿者:齋藤毅  投稿日時:2023-05-31 09:32:07
HTMLキャッシュプラグインや静的化プラグインは有効にしていませんか?
これらのプラグインを有効にしている場合はGoogle Analyticsプラグインの設定を変更した後に必ずキャッシュを削除してください
投稿者:kamo  投稿日時:2023-05-31 09:42:07
いいえ、
HTMLキャッシュプラグインや静的化プラグインは利用していません。
実は今回設置したのではなく、昨年7月にバージョンアップし9月にアナリティクスで取れていないといわれ、設定をしたもので、よく確認しておらず、今回確認したところ、アナリティクスで取れていないことがわかりました。

https://saitodev.co様のTOPのソースにも
<script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('js', new Date());gtag('config', 'G-59ELKP8K1J');</script>
が表示されていますが、
<script async src="https://www.googletagmanager.com/gtag/js?id=G-******"></script>
は直前には見当たらないようですが、window.dataLayer 以降だけでOKならそれはそれでよいのですが・・・。
投稿者:齋藤毅  投稿日時:2023-05-31 09:58:46
私のサイトではグローバルサイトタグは使用していませんので、出力されていないのが正しい挙動です。
コードを確認してみます。
投稿者:kamo  投稿日時:2023-05-31 10:11:04
ご多忙のところ恐れ入ります、よろしくお願いいたします。
投稿者:齋藤毅  投稿日時:2023-05-31 10:31:46
コードを確認しましたところ、トラッキングコードがある時のみグローバルサイトタグが挿入されるようになっていました。
トラッキングコードの設定状況は如何でしょうか?
投稿者:kamo  投稿日時:2023-05-31 11:03:48
ご確認頂きありがとうございます。
トラッキングコードのPC欄に
<script async src="https://www.googletagmanager.com/gtag/js?id=G-085SE***"></script>
を記載し、グローバルサイトタグ(gtag.js)欄に
<script>
	window.dataLayer = window.dataLayer || [];
	function gtag(){dataLayer.push(arguments);}
	gtag('js', new Date());

	gtag('config', 'G-085SE***");
</script>
を記載したところ、グローバルサイトタグ(gtag.js)欄のコードが
ページソースで確認できました。

ただ、トランキングコードのPC欄に記述した
<script async src="https://www.googletagmanager.com/gtag/js?id=G-085SE***"></script>
はページソースでは表示されていません。
この状態でアナリティクスでデータが取れるかしばらくしてから確認してみるとよいでしょうか。
もし、データが取れているようなら、
トランキングコードのPC欄は記述はするが、ソースには表示されない仕様ということですね。

大変お手数をお掛け致しました、確認後ご報告いたします。
ありがとうございました。
投稿者:齋藤毅  投稿日時:2023-05-31 11:08:21
お伝えいただきました内容は逆ではないでしょうか?
グローバルサイトタグを使用していないので確証はありませんが、

<script>
	window.dataLayer = window.dataLayer || [];
	function gtag(){dataLayer.push(arguments);}
	gtag('js', new Date());

	gtag('config', 'G-085SE***");
</script>
がトラッキングコードで、

<script async src="https://www.googletagmanager.com/gtag/js?id=G-085SE***"></script>
がグローバルサイトタグです。

グローバルサイトタグは必ずの前に出力される規則になっていまして、トラッキングコードは管理画面の設定で挿入位置の指定ができます。
投稿者:kamo  投稿日時:2023-05-31 11:32:25
ご指導ありがとうございます。

グローバルサイトタグ欄に
<script async src="https://www.googletagmanager.com/gtag/js?id=G-085SE***"></script>
を入れて確認しました。
上記の場合の結果はグローバルサイトタグの内容はページソースでは表示されていません。

なお、トラッキングコードのPC欄に記述した内容
<script>
	window.dataLayer = window.dataLayer || [];
	function gtag(){dataLayer.push(arguments);}
	gtag('js', new Date());

	gtag('config', 'G-085SE***");
</script>
はソースコードに表示されています。

グローバルサイトタグ(gtag.js)欄に
<script>
	window.dataLayer = window.dataLayer || [];
	function gtag(){dataLayer.push(arguments);}
	gtag('js', new Date());

	gtag('config', 'G-085SE***");
</script>
のみ記述するとこの場合もコード表示を確認できます。

また、トラッキングコードのPC欄に

<script async src="https://www.googletagmanager.com/gtag/js?id=G-085SE***"></script>
<script>
	window.dataLayer = window.dataLayer || [];
	function gtag(){dataLayer.push(arguments);}
	gtag('js', new Date());

	gtag('config', 'G-085SE***");
</script>
と記述すると
<script async src="https://www.googletagmanager.com/gtag/js?id=G-085SE***"></script>
のコードは表示されないがそれ以降の
<script>
	window.dataLayer = window.dataLayer || [];
	function gtag(){dataLayer.push(arguments);}
	gtag('js', new Date());

	gtag('config', 'G-085SE***");
</script>
は表示されます。

つまり、グローバルサイトタグはどの場合も表示されていませんでした。
投稿者:齋藤毅  投稿日時:2023-05-31 15:21:09
グローバルサイトタグは必ずの前に出力される規則になっていまして、トラッキングコードは管理画面の設定で挿入位置の指定ができます。
上記の内容でタグが消えていましたので、改めてお伝えしますが、

グローバルサイトタグは必ずheadの閉じタグ前に出力される規則になっていまして、トラッキングコードは管理画面の設定で挿入位置の指定ができます。
という規則がありまして、プラグインの設定内容次第では離れたところに出力されます。

プラグインが正常に動作しているかを確認するためにトラッキングコードのPCの入力フォームに
<script>alert("hoge");</script>
を登録し、グローバルサイトタグに
<script>alert("huga");</script>
を入れてください。

ページを表示した際にポップアップで、hogeとhugaが出力されていれば、コード以外のプラグインの設定には問題ありません。
投稿者:kamo  投稿日時:2023-05-31 16:57:05
お手数をおかけいたしました、原因がわかりました。

原因は私の設定ミスと確認に利用しているPCの
広告ブロックソフトが原因でした。

お教えいただいた確認方法で2つのポップアップの表示ができるのに
<script async src="https://www.googletagmanager.com/gtag/js?id=G-085SE***"></script>
は表示できていないので、
ページテンプレートに直接グローバルサイトタグを入れてみたら、
それも表示されないということがわかり、もしかしてと思って
確認に利用しているPCに入っている広告ブロックソフトを停止してみたところ、
グローバルサイトタグが2つソース表示で確認できました。

ページテンプレートに直接記述は削除し、
Google Analytics導入プラグインのグローバルサイトタグ欄のみ
コードを残したところ、
「グローバルサイトタグは必ずheadの閉じタグ前に出力される規則・・・」
とご回答いただいた通りに表示され、
トラッキングコードは管理画面の設定で
「タグの直前に挿入する」を選んでいたので、
その前に表示ができました。

大変お騒がせ致しました。
ありがとうございました。
投稿者:齋藤毅  投稿日時:2023-06-01 14:23:12
原因解明の結果をお伝えいただきありがとうございます。

私の方も改めてGA4のタグを見てみました。
先日こちらからお伝えしていた内容に誤りがありました。

<script async src="https://www.googletagmanager.com/gtag/js?id=G-085SE***"></script>
<script>
	window.dataLayer = window.dataLayer || [];
	function gtag(){dataLayer.push(arguments);}
	gtag('js', new Date());

	gtag('config', 'G-085SE***");
</script>
上記コードがひとまとめでトラッキングコードでした。
ログインして投稿する