web運営やITツールに関する情報を整理しています。

Googleアナリティクスを導入しつつ速くする方法(暫定版)

※この記事は、今後さらに良い方法が見つかる可能性を前提とした暫定的なまとめです。

Googleアナリティクス(GA4)は便利ですが、
そのまま入れるとサイト表示速度が落ちやすいという欠点があります。

そこでこの記事では、

  • ページ表示直後にはGAを読み込まない
  • ユーザーがスクロールした時だけGAを読み込む

という方法で、
表示速度を優先しつつ、必要最低限の計測を行う構成を紹介します。

目次

この方法の考え方(超要約)

  • 初期表示:GAを読み込まない → 速い
  • スクロール後:GAを読み込む → 読む気のあるユーザーは計測

👉 PageSpeed Insights 対策としては、かなり効果があります。


① 子テーマ functions.php に貼る用(PHP)

おすすめの方法です。
テーマ更新の影響を受けず、管理もしやすい。

貼る場所

外観 → テーマファイルエディター → SWELL CHILD → functions.php
※ ファイルの 一番下 にそのまま貼り付けます。

add_action('wp_footer', function () {
?>
<script>
let gtagScriptAdded = false;
window.addEventListener('scroll', function() {
  if (!gtagScriptAdded && window.scrollY > 200) {
    const gtagScript = document.createElement('script');
    gtagScript.async = true;
    gtagScript.src = 'https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX';
    gtagScript.onload = function() {
      window.dataLayer = window.dataLayer || [];
      function gtag(){dataLayer.push(arguments);}
      gtag('js', new Date());
      gtag('config', 'G-XXXXXXXXXX');
    };
    document.body.appendChild(gtagScript);
    gtagScriptAdded = true;
  }
});
</script>
<?php
}, 999);

ポイント

  • wp_footer</body> 直前に出力される
  • 999:できるだけ後ろで読み込ませるため
  • コードは削らず、そのまま使う

※アナリティクスのコード(G-XXXXXXXXXX)は
①「管理」をクリック
②「データの収集と修正」項目にある「データストリーム」をクリック
③右をクリックすれば見れます

Googleアナリティクスを導入しつつ速くする方法(暫定版) aba1dd9afd994bc383f5259806be7bb4

② SWELL 管理画面「BODY前」に貼る用(HTML)

テーマファイルを触りたくない人向けの方法です。
効果は①と同じ。

貼る場所

外観 → カスタマイズ → 高度な設定 → BODY前

貼るコード

<script>
let gtagScriptAdded = false;
window.addEventListener('scroll', function() {
  if (!gtagScriptAdded && window.scrollY > 200) {
    const gtagScript = document.createElement('script');
    gtagScript.async = true;
    gtagScript.src = 'https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX';
    gtagScript.onload = function() {
      window.dataLayer = window.dataLayer || [];
      function gtag(){dataLayer.push(arguments);}
      gtag('js', new Date());
      gtag('config', 'G-XXXXXXXXXX');
    };
    document.body.appendChild(gtagScript);
    gtagScriptAdded = true;
  }
});
</script>

どちらを使えばいい?

  • functions.php を触れる → ①がおすすめ
  • 管理画面だけで完結させたい → ②

👉 両方貼らないこと(二重読み込み防止)


注意点(事前に知っておくこと)

  • スクロールせずにすぐ離脱したユーザーは計測されません
  • 正確なアクセス数より、表示速度を優先する設計です
  • PageSpeed Insights のスコアは
    GAありで90〜95前後が現実的な上限になります

動作確認方法(簡単)

  • Ctrl + U
    gtag/js が出なければ正常
  • DevTools → Network
    → スクロール後に
    gtag/js?id=G-XXXXXXXXXX が出れば成功

まとめ

  • GAはそのまま入れると遅くなる
  • スクロールを条件に遅延読み込みすると速さを保てる
  • コードは「貼るだけ」でOK
  • 完璧な計測より、ユーザー体験を優先する考え方
よかったらシェアしてね!
  • URLをコピーしました!
目次