WordPressでGA4を実装する際、Site Kit by GoogleとGoogle Tag Manager(GTM)を併用しているサイトで、URLに不要なパラメータが付与される問題に遭遇したことはありませんか。具体的には、ヘッダーメニューをクリックした際にhttps://example.com/page/?_gl=1*xxxxx*_gcl_au*xxxxx
のような長いパラメータがURLの末尾に追加されてしまう現象です。
この記事では、実際に発生した問題の原因究明から解決まで、ウェブ解析の専門家として実践した対処法を詳しく解説します。SEOへの影響も考慮しながら、データ計測の正確性を保ちつつ、クリーンなURL構造を維持する方法をお伝えします。
問題の発見:URLに付与される謎のパラメータ
サイト運営中、ヘッダーメニューから別ページへ遷移する際、URLに?_gl=1*1c050up*_gcl_au*MjA0NDUxMDc4MC4xNzUyNzI1NjYx
といった長いパラメータが自動的に付与されることに気づきました。これは単なる見た目の問題ではなく、SEO的にも懸念がある状況です。同一コンテンツへの複数URLが存在すると、検索エンジンが重複コンテンツとして認識する可能性があるためです。
まず、この_gl
パラメータが何なのかを理解する必要があります。これはGoogleアナリティクス4(GA4)のクロスドメイントラッキング機能が生成するパラメータで、本来は異なるドメイン間でユーザーセッションを追跡するために使用されます。しかし、今回のケースでは同一ドメイン内の遷移でも付与されてしまっていました。
GA4の設定を徹底調査
最初に疑ったのは、GA4管理画面でのクロスドメイン測定の設定です。データストリーム設定を確認したところ、「クロスドメインのリンク設定」に自分自身のドメインが登録されていました。これは明らかに不要な設定です。同一ドメイン内の計測は、クロスドメイン設定なしで自動的に正しく行われるため、自分自身のドメインを登録する必要はありません。
しかし、GA4の設定からドメインを削除しても、問題は解決しませんでした。これは、タグの実装方法に別の要因があることを示唆していました。次に確認すべきは、実際にどのようにGA4タグがサイトに実装されているかという点です。
Site Kitが原因だった:プラグインの自動設定を理解する
WordPressサイトでは、Site Kit by Googleプラグインを使用してGA4を連携していました。このプラグインは非常に便利で、WordPress管理画面から直接アナリティクスデータを確認できる優れた機能を持っています。しかし、Site Kitには独自のタグ実装ロジックがあり、これが今回の問題の根本原因でした。
Site Kitは、GA4タグを出力する際に自動的にクロスドメイントラッキング機能(リンカー)を有効化する仕様になっています。これはユーザーの意図に関わらず、プラグインの標準動作として組み込まれているものです。Site Kitの設定画面には、このリンカー機能を無効化する明示的なオプションが存在しないため、多くのユーザーがこの問題に気づかないまま運用している可能性があります。
さらに複雑なのは、GTM(Google Tag Manager)も併用している場合です。GTMでGA4タグを設定しているにも関わらず、Site Kitも独自にGA4タグを出力していると、タグの管理が二重になり、意図しない動作を引き起こす可能性があります。
解決策:functions.phpでSite Kitの動作を制御
問題の原因が特定できたので、次は解決策です。Site Kitのリンカー機能を無効化するには、WordPressのフィルターフックを活用します。子テーマのfunctions.php
に以下のコードを追加することで、Site Kitの動作を適切に制御できます。
/**
* Site KitのGA4タグ出力を完全停止
* GTMで一元管理するため
*/
add_filter('googlesitekit_gtag_opt', '__return_false');
/**
* 念のためのパラメータクリーンアップ
* 既に付与されたパラメータを除去
*/
add_action('template_redirect', function() {
$unwanted_params = ['_gl', '_gcl_au'];
foreach ($unwanted_params as $param) {
if (isset($_GET[$param])) {
$clean_url = remove_query_arg($unwanted_params);
wp_redirect($clean_url, 301);
exit;
}
}
}, 1);
このコードの1つ目の部分では、googlesitekit_gtag_opt
フィルターに__return_false
を返すことで、Site KitによるGA4タグの出力を完全に停止しています。これにより、GTMが完全にタグ管理を担当する構成になります。
2つ目の部分は、既にURLに付与されてしまったパラメータをクリーンアップする処理です。ユーザーが古いURLをブックマークしていたり、外部サイトからパラメータ付きのリンクで訪問してきた場合でも、301リダイレクトでクリーンなURLに正規化します。これはSEO的にも重要な処理です。
GTMとの適切な連携:タグ管理の一元化
GTMを使用している場合、Site KitとGTMの両方がタグを出力する状態は避けるべきです。理想的な構成は、GTMが完全にタグ管理を担当し、Site KitはWordPress管理画面でのデータ表示機能のみを活用するという形です。
GTMでGA4タグを設定する際は、「Googleタグ」タイプを選択し、測定IDを入力します。重要なのは、「設定するフィールド」に余計な設定を追加しないことです。特にlinker
やdomains
といったクロスドメイン関連の設定は、実際に複数ドメインを運用していない限り不要です。
GTMの管理画面でタグを作成・編集した後は、必ず「公開」ボタンをクリックして変更を本番環境に反映させることを忘れないでください。GTMは変更を保存しただけでは本番環境に反映されず、明示的に公開する必要があります。
二重計測の確認:正確なデータ収集のために
Site KitとGTMの両方が動作している場合、最も懸念されるのは二重計測です。同じページビューが2回カウントされてしまうと、すべてのデータが実際の約2倍になり、分析が全く意味をなさなくなります。
二重計測が発生しているかどうかは、ブラウザの開発者ツールで確認できます。F12キーを押して開発者ツールを開き、Networkタブで「collect?v=2」を検索してください。ページをリロードした際に、GA4へのリクエストが1回だけ送信されていれば正常です。もし2回送信されている場合は、Site KitとGTMの両方がタグを出力している証拠です。
また、GA4のリアルタイムレポートでも確認できます。サイトを訪問した際に、ユーザー数が実際の訪問者数と一致しているかをチェックしてください。もし自分一人で訪問しているのに2人と表示される場合は、二重計測が発生しています。
Site Kitの価値を活かす:データ表示機能の継続利用
Site KitのGA4タグ出力を停止したからといって、プラグイン自体を無効化する必要はありません。Site Kitの最大の価値は、WordPress管理画面から直接アナリティクスデータを確認できる利便性にあります。
functions.phpでタグ出力のみを制御することで、Site Kitのダッシュボード機能は引き続き利用できます。これにより、記事ごとのページビュー数、Search Consoleのクエリデータ、PageSpeed Insightsのスコアなどを、わざわざGA4やSearch Consoleの管理画面を開かなくても確認できる環境を維持できます。
特にクライアントワークでは、技術的な知識が少ないクライアントでもWordPress管理画面から簡単にデータを確認できる環境は非常に価値があります。GTMでタグを管理しながら、Site Kitの表示機能を活用するというハイブリッドな構成が、最も実用的なソリューションと言えます。
SEOへの影響:クリーンなURL構造の重要性
URLに不要なパラメータが付与されることは、単なる見た目の問題ではありません。検索エンジンは、パラメータの有無を含めてURLを評価するため、同一コンテンツに対して複数のURLが存在する状態は、SEO的に好ましくありません。
特に、ユーザーがパラメータ付きのURLをソーシャルメディアでシェアしたり、外部サイトからリンクされたりすると、リンクの評価が分散してしまう可能性があります。本来なら1つのURLに集約されるべきリンク評価が、パラメータの有無で複数のURLに分散してしまうのです。
今回実装した301リダイレクトによるパラメータクリーンアップは、この問題を解決します。どのようなURLでアクセスされても、最終的にはクリーンなURLに正規化されるため、リンク評価も適切に集約されます。
実装後の確認事項:完璧な環境を確保する
コードを実装した後は、必ず以下の確認を行ってください。まず、キャッシュのクリアです。WordPressのキャッシュプラグインを使用している場合は、プラグインのキャッシュをクリアしてください。また、ブラウザのキャッシュも影響するため、シークレットモードで動作確認することをお勧めします。
次に、実際にヘッダーメニューをクリックして、URLに?_gl=
パラメータが付与されないことを確認します。複数のページを遷移して、すべてのリンクで問題が解決していることを確認してください。
そして、GA4のリアルタイムレポートでデータが正常に送信されていることを確認します。GTMで設定したイベント(ボタンクリック、フォーム送信など)も正しく計測されているかをチェックしてください。データ計測が正常に動作していることを確認できて初めて、実装が完了したと言えます。
クライアントワークへの展開:標準化と価値提供
この解決策は、自社サイトだけでなく、クライアントサイトにも展開できる貴重な知見です。多くのWordPressサイトがSite Kitを使用しており、同様の問題を抱えている可能性があります。既存クライアントのサイト監査項目として、URLパラメータの確認を追加することで、新たな改善提案の機会になります。
また、新規サイト構築時の標準構成として、GTMによるタグ管理とSite Kitの適切な制御を組み込むことで、最初から最適な計測環境を提供できます。これは、データドリブンなウェブマーケティングを提案する上での差別化要素になります。
技術的な問題解決だけでなく、その背景にある「なぜこの構成が最適なのか」を説明できることが、専門家としての価値です。クライアントに対して、単に「設定しました」ではなく、「この構成により、正確なデータ収集とSEO最適化を両立できます」と説明できることが重要です。
まとめ:データドリブンな環境構築の基盤
WordPressでGA4を実装する際、Site Kit by GoogleとGTMを適切に連携させることで、クリーンなURL構造を保ちながら正確なデータ計測を実現できます。Site Kitの自動設定に頼るだけでなく、functions.phpでの制御やGTMでの一元管理を組み合わせることが、プロフェッショナルなアプローチです。
今回紹介した方法は、技術的な実装だけでなく、SEO、ユーザー体験、データ分析の正確性という複数の観点から最適化された解決策です。ウェブ解析士として、データの正確性は最も重要な基盤であり、その上に立って初めて意味のある分析と改善提案が可能になります。
この記事が、同様の問題に直面している方々の助けになれば幸いです。データドリブンなウェブマーケティングの実現には、こうした細部への配慮が不可欠です。