2026年5月20日
2026年5月20日
WordPressのGoogleアナリティクスが計測されない場合の解決方法
はじめに
WordPressにGoogleアナリティクス(GA4)を設置したのにリアルタイムレポートで自分のアクセスが計測されない、またはデータが集まらないケースがあります。原因は大きく分けてコードの設置ミス・管理者の除外設定・キャッシュの3種類です。
症状・原因
- リアルタイムレポートに何も表示されない → コード未設置またはIDミス
- 自分のアクセスだけ計測されない → 管理者除外設定
- 数字が急に減った → キャッシュプラグインがGAコードをキャッシュしていない
- SPAやAjaxページで計測されない → ページビューの手動送信が必要
解決手順
ステップ1:GTMタグの設置確認
// functions.php — wp_head にGA4のgtagを追加
add_action('wp_head', function() {
$ga_id = 'G-XXXXXXXXXX'; // 自分の計測IDに変更
?>
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=<?php echo esc_attr($ga_id); ?>"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', '<?php echo esc_js($ga_id); ?>');
</script>
<?php
}, 1); // 優先度1で最初に出力
ステップ2:ページソースでコードを確認
ブラウザでページのソースを表示(Ctrl+U)して googletagmanager.com の文字列があるか確認します。なければコードが出力されていません。
テーマに がない場合、wp_head フックに追加したコードは出力されません。
// header.php に wp_head が必要
<?php wp_head(); ?> <!-- </head>タグの直前に必須 -->
</head>
ステップ3:管理者アクセスを除外して確認
自分(管理者)のアクセスがGA4に表示されない場合、プラグインやGTMの除外設定を確認します。
// 管理者のみGA計測を除外する設定例
add_action('wp_head', function() {
if (current_user_can('manage_options')) return; // 管理者は除外
// GA4コードを出力
}, 1);
逆に「計測できているか確認したい」場合は、この除外を一時的に外してリアルタイムレポートで確認します。
ステップ4:CSPにGTMドメインを追加
// Content Security Policy に GTM ドメインを追加
add_action('send_headers', function() {
header("Content-Security-Policy: script-src 'self' 'unsafe-inline' https://www.googletagmanager.com https://www.google-analytics.com");
});
ステップ5:キャッシュの設定を確認
W3 Total Cache・WP Super Cacheなどのキャッシュプラグインは、HTMLをキャッシュするためGAコードが含まれない古いHTMLを配信することがあります。
# キャッシュを全クリア
wp cache flush
wp w3-total-cache flush all # W3 Total Cache の場合
ステップ6:Google Tag Assistantで確認
Chrome拡張の「Tag Assistant Legacy」または「Tag Assistant Companion」を使うと、ページ上のGTMタグが正しく動作しているかリアルタイムで確認できます。
注意事項
- GA4の計測IDは
G-で始まります(旧UAのUA-とは別物) - プライバシーポリシーページにアナリティクスの利用についての記載が必要です
- 同意管理(Cookie同意バナー)を導入している場合、同意前はGAが動作しない設定になっていることがあります
まとめ
GAが計測されない場合はまずページのソースで googletagmanager.com の存在を確認し、次にCSPのブロックがないかチェックします。リアルタイムレポートで自分のアクセスが出ない場合は管理者除外設定を一時的に無効化して確認してください。