GA4の管理画面を開いてもリアルタイムに自分のアクセスが出てこない、あるいは逆に、セッション数が実感の倍ほどある。どちらもタグの入れ方そのものより、どこに入れたかが原因になっていることがほとんどです。WordPressにGA4の計測タグを入れる方法は大きく3通りあり、どれを選んでも計測は動きます。差が出るのはテーマを更新したとき、制作を頼む相手が変わったとき、そして数字がおかしくなって原因を追うときです。3通りの入れ方と、二重計測を起こさないための確認手順、設置後に残しておく項目までを順に書きます。
入れ方は3通り。違いが出るのはテーマを更新したとき
ひとつ目は、テーマの header.php に計測タグを直接書く方法です。</head> の直前にスニペットを貼るだけなので、FTPが使えれば5分で終わります。速い代わりに弱点がはっきりしていて、親テーマを直接編集した場合はテーマ更新で消えます。子テーマに header.php をコピーして書いた場合は更新では消えませんが、デザインのリニューアルでテーマごと差し替えれば、やはり消えます。テーマを触る案件が続いているサイトでは、この消え方が実際に起きます。
ふたつ目は、子テーマの functions.php から wp_head と wp_body_open のフックで出力する方法です。テンプレートファイルを一切触らないので、親テーマがどれだけ更新されても影響を受けません。測定IDを定数として1か所にまとめておけば、計測先を差し替えるときの編集は1行で済みます。テーマ差し替え時は子テーマごと作り直しになるため無傷ではありませんが、「タグは子テーマの functions.php にある」と決めておくだけで、探す場所が1ファイルに固定されます。
みっつ目は、Googleタグマネージャー(GTM)のコンテナをサイトに1つ入れて、GA4のタグはコンテナの中から配信する方法です。サイト側に置くコードはコンテナのスニペットだけになり、以後タグを足すときはWordPressに触りません。広告のコンバージョンタグやヒートマップを後から入れる予定があるなら、最初からこの形にしておくと後が楽です。コンテナの構成そのものはGoogleタグマネージャーを導入して、タグを1か所にまとめるで別に扱っています。
プラグインで入れる方法もあります。テーマを触らずに測定IDを管理画面から設定できるので手軽ですが、実態は1つ目か3つ目の変種です。どのプラグインが出力しているかを把握していないと、あとで「入っているはずのタグが見つからない」状態になります。
3つの入れ方を並べて比べる
| 入れ方 | 書く場所 | テーマ更新・差し替えでの生存 | タグを増やすとき |
|---|---|---|---|
| テーマに直書き | 親または子テーマの header.php | 親テーマ直書きは更新で消える。差し替えでも消える | そのつどテンプレートを編集 |
| 子テーマのフック出力 | 子テーマの functions.php | 親テーマの更新では消えない | 関数を足す。数が増えると読みにくくなる |
| GTM経由 | コンテナのスニペットのみサイトに設置 | スニペットの置き場所しだい(フック出力を推奨) | GTMの管理画面で追加。サイトは触らない |
| プラグイン | プラグインの設定画面 | プラグインを止めれば計測も止まる | プラグインの対応範囲まで |
1本しか入れる予定がなく、テーマも当分変えないなら、子テーマのフック出力がいちばん扱いやすい形です。逆に、広告を始める予定がある、外部のツールを試す予定がある、複数の担当がタグを触るといった状況なら、はじめからGTMに寄せておくほうが後々の事故が減ります。判断はほぼ「これからタグが増えるか」の一点で決まります。
子テーマから出すなら、測定IDを定数にしておく
フックで出す形にするときは、測定IDを直接ベタ書きせず、定数として先頭に置きます。テスト環境と本番でIDを分けたい場合や、計測先のプロパティを作り直した場合に、書き換える箇所が1行で済むためです。GTMのコンテナIDも同じ扱いにします。
<code>define( 'SITE_GTM_ID', 'GTM-XXXXXXX' );
add_action( 'wp_head', function () {
if ( ! defined( 'SITE_GTM_ID' ) ) { return; }
// GTMが発行するhead用スニペットを出力(IDは esc_js( SITE_GTM_ID ) で埋める)
}, 1 );
add_action( 'wp_body_open', function () {
if ( ! defined( 'SITE_GTM_ID' ) ) { return; }
// 同じくbody直後のnoscript用スニペットを出力
} );</code>GTMを使う場合に見落としやすいのが、設置が2か所必要だという点です。<head> 内のスクリプトと、<body> 開始直後の noscript の両方を入れて初めて仕様どおりになります。片方だけでも数字は動いてしまうので、入れ忘れに気づきにくい。wp_body_open は古いテーマだと呼ばれていないことがあるため、body直後にタグが出ていない場合は、テーマの header.php に wp_body_open() の記述があるかを先に確認します。
GA4を直接入れる場合も考え方は同じで、wp_head にスニペットを出し、測定IDは G- から始まる文字列を定数で持たせます。優先度を 1 にしておくと、他のプラグインが出力するスクリプトより前に読み込まれます。
二重計測は、たいてい「入れた場所を忘れたとき」に起きる
数字が実感より多いときに疑うのは、同じ測定IDのタグが2回出ているケースです。よくあるのは、GTMのコンテナ内にGA4タグを作ったのに、以前テーマ側に貼ったスニペットが残っている組み合わせ。次に多いのが、SEO系プラグインの設定欄に測定IDを入れたまま、header.php にも入っているパターンです。どちらも「入れた記録がない」ことが根っこにあります。
確認は難しくありません。サイトのトップページと投稿ページでソースを表示し、G- と GTM- で検索して出現回数を数えます。GA4の設定タグが2回読み込まれていれば、同じページビューが2件計上されます。次にGA4のリアルタイムを開き、自分のアクセスが1セッションとして出るかを見る。GTMを使っているならプレビューモードで、GA4設定タグの発火が1回だけであることまで確認します。ここまでやって初めて「入っている」と言えます。タグが出ているのに数字に反映されない場合は、原因が別にあります。判定の順序はコンバージョンタグが発火しないときの原因の調べ方と、直すまでの手順と同じ流れで追えます。
Universal Analytics(UA- から始まるタグ)が残っていても、GA4の数字が二重になることはありません。ただ計測は終了しているので、読み込みが1本無駄に増えているだけの状態です。テーマを触るついでに外し、外したことを記録に残します。
記録が無いサイトで、あとから何が起きるか
独自テーマで長く運用しているサイトで、GA4タグの設置だけを受けたことがあります。作業自体は数十分、金額は6,000円。ここまでは問題ありません。問題は、どのファイルの何行目に入れたのか、GTM経由なのか直書きなのか、既存の古いタグを残したのか消したのかを、どこにも書き残さなかったことです。このサイトはその後もテーマ側に手を入れる依頼が続いています。もし「計測が止まった」「数字が倍になった」と連絡が来ていたら、調査はテーマファイルの全文検索から始めることになります。設置に数十分しかかからない作業のために、調査で1時間かかるという逆転が起きます。
もう1件、GTMのタグ追加だけを受けた案件では、対象サイトのURLもコンテナIDもやり取りに残っていませんでした。制作会社を経由した又聞きの依頼で、仕様の背景も分かっていない状態です。この形がいちばん危ないのは、別サイト用のコンテナIDを入れてしまう取り違えが起きることで、しかも計測は普通に動いてしまうため、数字を集計する段になるまで誰も気づきません。IDの出どころと対象サイトの対応を、着手前に文字で確認しておく必要があります。
どちらも技術的には失敗していない案件です。それでも後から困る形になるのは、設置作業が「入れて終わり」に見えるからです。実際には、入れた場所の情報がその後の運用コストを決めています。
設置したら、この4つを残す
- 測定ID(
G-から始まる文字列)とGTMのコンテナID - 埋め込んだファイルのパスと、フックを使ったならフック名
- GTM経由か、サイトに直接入れたか
- 既存のタグを残したか、消したか
4行で足ります。この4行があるだけで、次に何か起きたときの調査が検索作業から確認作業に変わります。あわせて、テーマを差し替える案件が発生したときは、作業前後でタグが生きているかを必ず見ます。デザイン変更のあとに「なぜか数字が半分になった」という相談は、たいていこれです。テーマ更新のたびに計測を確認する運用が難しい場合は、保守の中で定期的に見る形にしてしまうほうが確実です。
あわせて、Search Consoleとの紐づけも設置と同じタイミングで済ませておくと、検索クエリまでGA4側で見られるようになります。所有権確認でつまずきやすい箇所はSearch Consoleの登録と所有権確認でつまずく箇所にまとめています。
よくある質問
プラグインで入れるのは駄目ですか
駄目ではありません。テーマを触らずに済み、測定IDを管理画面から変えられるのは利点です。注意点は2つで、プラグインを停止・削除すると計測も止まること、そしてSEO系プラグインが別の場所で同じタグを出していると二重になることです。導入するなら、どのプラグインのどの設定欄に測定IDを入れたかを記録に残してください。
GTMは入れたほうが得ですか
入れるタグが当面GA4の1本だけなら、コンテナの読み込みが増える分だけ不利です。広告のコンバージョン計測、ヒートマップ、チャットツールなど2本目3本目の予定があるなら、最初からGTMにまとめたほうが、そのたびにWordPressを触らずに済みます。判断材料は「これから増えるか」だけで足ります。
数字が急に減った場合、最初に何を見ればいいですか
ページのソースを表示して測定IDを検索します。見つからなければタグが消えています。直前にテーマの更新や差し替え、プラグインの入れ替えがなかったかを確認してください。タグが出ているのに数字が入らない場合は、計測対象のプロパティが別になっている、あるいは内部トラフィックの除外設定に自社IPだけでなく広い範囲を入れてしまっている、といった設定側の原因を疑います。
設置は自分でやって、確認だけ頼めますか
できます。実際、入れた本人が「これで合っているのか」を確認できないまま運用しているサイトは多く、ソースの確認と発火テスト、二重計測の有無だけを見る依頼も受けています。作業より、入っている状態を正しく判定するほうが手間のかかる部分です。
計測が止まっているのか二重に数えているのかは、ページのソースを見れば数分で判別できます。タグの入れ直しから、どこに何を入れたかを残すところまでまとめて対応します。
