GA4の計測におけるリダイレクトの影響について
Photo by maxzhiltsov on Unsplash

GA4の計測におけるリダイレクトの影響について

    GA4の計測におけるリダイレクトの影響について

    はじめに: ウェブサイトの運用では、ページのURL変更やドメイン移行などで「リダイレクト(転送)」を行うことがあります。リダイレクトとは、あるURLにアクセスしたユーザーを自動的に別のURLに送り届ける仕組みです​。例えばサイトリニューアルでページURLが変わった場合、旧URLから新URLへ利用者を自動転送できます。このリダイレクト処理を適切に行わないと、Googleアナリティクス4(GA4)でのデータ計測に不整合が生じることがあります。初心者の方にもわかりやすいよう、リダイレクトの基本と種類、そしてそれぞれがGA4の計測に与える影響と最適な設定方法を具体例とともに解説します。


    まず、リダイレクトの基礎知識と代表的な種類を押さえましょう。リダイレクトには大きく分けてサーバーサイド(HTTP)で行う方法と、クライアントサイド(ブラウザ側)で行う方法があります。それぞれ用途や動作が異なるので、順に説明します。

    「301 Moved Permanently」というHTTPステータスコードを使ったサーバーサイドのリダイレクトです。恒久的にページを移動したときに使用し、検索エンジンにも新しいURLへの変更を伝えます。特徴: ユーザーが旧URLにアクセスすると、サーバーが即座に「新しい恒久先」へ転送します。一般にSEO的にも推奨される方法で、一度設定すれば以降は常に新URLへリダイレクトされます。

    「302 Found」等のステータスコードを使ったサーバーサイドのリダイレクトです。一時的なページ移動(例えばキャンペーン期間中だけ別ページに誘導したい場合など)に使われます。特徴: 基本動作は301と同じくサーバー側で転送が行われますが、恒久的ではない旨を示します。検索エンジンは元のURLを維持しようとするため、長期的なURL変更には不向きです。

    (※301/302はいずれもサーバーサイドで行われるHTTPリダイレクトであり、ユーザーのブラウザは元のページを表示せず直接新しいページを開きます。)

    ブラウザ上で動くJavaScriptを使って行うリダイレクトです。例えば、ページの<script>内でwindow.location.href = "新しいURL";と記述すると、スクリプト実行時にブラウザが指定のURLへ移動します。特徴: サーバーではなくユーザーのブラウザ側で転送します。ページを開いてからスクリプトが実行されるため、転送までにわずかな表示遅れが発生することもあります。検索エンジンのクローラはJavaScriptを実行しない場合があるため、SEO面では301/302ほど確実ではありません。

    HTMLの<meta http-equiv="refresh">タグを利用したリダイレクトです。例えば、<meta http-equiv="refresh" content="5; url=新しいURL">と書くと、ページ読み込み後5秒後に自動的に指定URLへ遷移します。特徴: クライアント側で一定時間後に転送する方法で、「○秒後にページが切り替わります…」という表示によく使われます。秒数を0にすれば即時転送も可能ですが、ユーザーがページを読み始める前に転送が実行されることになるため、ユーザビリティや計測への影響に注意が必要です。

    サーバー上のスクリプトや設定によって行うリダイレクトの総称です。上記の301/302もサーバーサイドリダイレクトですが、ここでは特にWebアプリケーション内で行う転送処理を指します。例えば、PHPやNode.jsのコードでLocationヘッダを返す、あるいはリバースプロキシやクラウドフロントで転送ルールを設定するケースです。特徴: 基本的にはHTTPステータスコードを返してブラウザを転送するため、ユーザー視点では301/302と同様に瞬時にページが切り替わります。クライアント側の介在がない分、ユーザーには旧ページの内容がまったく表示されません。


    次に、こうしたリダイレクトがGoogleアナリティクス4のデータ計測にどのような影響を与えるかを見ていきます。主なポイントは以下の4つです。

    • セッションの引き継ぎ

    • URLパラメータ(UTM)の維持

    • イベント計測への影響

    • UTMパラメータの扱い(参照元情報への影響)

    それぞれ初心者向けに噛み砕いて説明します。

    GA4ではユーザーの訪問ごとに「セッション」が開始されます。理想的には、リダイレクトを挟んでも同一ユーザーの連続した行動は同じセッション内で計測されることが望ましいです。影響: リダイレクトの方法次第でセッションが分断されてしまう可能性があります。例えば、ある広告からランディングページAに来たユーザーを即座にページBへリダイレクトした場合、本来一連の訪問として扱われるべきところが、計測の仕方によっては別セッションとして扱われたり、「直接流入 (direct/none)」と見做されたりします​。

    特にドメインが変わるリダイレクトでは要注意です。旧ドメインから新ドメインへ301リダイレクトした場合、ユーザーのブラウザは一度旧ドメインにアクセスしてから新ドメインへ飛ぶため、GA4上では別サイトからの流入のように扱われます。同一のGA4プロパティでクロスドメイン計測の設定をしていないと、新ドメインで新たなセッションが開始されてしまい、ユーザーが途中で途切れたように見えてしまうでしょう。
    また、リダイレクト中のページでGA4のトラッキングコードが動作しない場合もセッションが引き継がれません。例えば、ランディングページで即時にJavaScriptリダイレクトを行い、そのページにGA4のタグを設置していない場合や、タグはあってもリダイレクトが早すぎて実行されなかった場合、その後のページでは参照元情報が失われて「(direct)/(none)」扱いとなります​。このように、リダイレクトによって本来続いているはずの訪問が途切れてしまうケースがあるのです。

    Webマーケティングでは、アクセス元を計測するためにURLにパラメータ(クエリ文字列)を付与することがあります。代表的なのがUTMパラメータ(utm_source, utm_medium, utm_campaignなど)です。これらはGA4側で参照元やキャンペーン情報として認識されます。影響: リダイレクトを挟むと、このURLパラメータが正しく引き継がれない場合があります。具体的には、リダイレクト処理によって元のURLについていたパラメータが転送先URLで消えてしまうことがあるのです​。例えば、https://example.com/old?page?utm_source=twitter にアクセスすると、本来はそのUTM情報がGA4に渡るべきですが、リダイレクト後の https://example.com/new にパラメータが付かずに飛んでしまうとGA4ではキャンペーン情報を取得できません。

    この問題は特に301/302リダイレクトを設定する際に起こりがちです。通常、サーバーサイドのリダイレクトでは明示的に設定しない限り、クエリパラメータ(「?」以降の部分)は引き継がれないことがあります。そのため、パラメータを維持する設定が必要になります​。もしパラメータが消えてしまえば、GA4上ではその訪問の参照元が正しく計測されず、次に述べるように(direct)/(none)に分類されたり、キャンペーン効果が測定不能になってしまいます。

    GA4ではページビュー以外にも様々なイベント(クリック、スクロール、コンバージョンなど)を計測しています。リダイレクトはこうしたイベント計測にも影響を与える可能性があります。影響: イベントが発火しない・二重発火するといった問題が起こりえます。例えば、ユーザーがリンクをクリックした際にそのリンク先でリダイレクトが起きるケースを考えましょう。本来であれば「リンククリック」のイベントや、その後の「ページビュー」イベントが計測されますが、リダイレクト処理が即座に走ると、リンククリックのイベント送信が完了する前にページ遷移してしまう可能性があります。結果としてクリックイベントがGA4に送られないまま次のページへ進んでしまい、データ欠損を招く恐れがあります。

    また、不要なページビューの発生にも注意が必要です。JavaScriptリダイレクトやMeta Refreshでは、一瞬とはいえリダイレクト元のページがユーザーのブラウザで開きます。このときGA4のタグが実行されれば、本来ユーザーに実質表示されていない中間ページのページビューが記録される可能性があります。例えば、Meta Refreshで5秒後に転送する設定にしていると、その5秒間は旧ページ上でユーザーを待たせるため、GA4には旧ページと新ページ双方のページビューが記録されます。対策: 基本的には中間ページ自体で重要なイベント(page_view, scroll など)を発火させないこと、中間ページをできるだけ経由しないことが望ましいです。どうしてもリンククリックなどのイベントを計測したい場合は、タグマネージャーで「遷移前に一時的に待機する」よう調整するなど上級者向けの対策が必要になります。

    UTMパラメータとは、前述のように流入元を識別するためURLに付与する特別なクエリです。GA4ではこれらを解析してトラフィックの「参照元/メディア」や「キャンペーン」として記録します。影響: リダイレクトによってUTMパラメータが外れてしまった場合、その訪問はGA4上で(direct)/(none)、つまり参照元不明の直接流入と見做されてしまいます​。キャンペーンの効果測定をしている場合、せっかく付与したUTMが引き継がれないと、流入経路が「直接」扱いになり正しく計上されません。これでは例えば「Twitterからの訪問」が「Direct」に紛れ込んでしまい、分析を誤る原因になります。

    実際によくあるのが、メール配信やSNSからの集客がdirect/noneにカウントされてしまうケースです。メールやSNSのリンクにUTMを付けていても、そのリンク先でリダイレクトが発生してパラメータが消えてしまうと、GA4では参照元を特定できずにdirect/noneに分類されます​。こうした計測ミスを防ぐためにも、リダイレクト時にUTMを含むパラメータを正しく受け渡す設定が重要です。


    ここからは、前述した各リダイレクト手法ごとにGA4への具体的な影響と、問題を防ぐための最適な設定方法について考察します。リダイレクトの種類ごとに「何に気をつけるべきか」「どの方法がGA4計測に有利か」を解説します。

    影響: 適切に設定すれば、GA4への影響は最小限です。301リダイレクトはサーバー側で即座に新URLへ転送するため、中間ページのページビューは発生せず、ユーザーは直接新しいページを開きます。参照元情報については、同一ドメイン内のリダイレクトであればユーザーのクッキー(クライアントID)は維持されるためセッションは継続しやすいです。ただしURLパラメータはデフォルトでは引き継がれない場合があるため注意が必要です。例えばApacheサーバーで単純なリダイレクト設定をするとクエリ文字列が落ちてしまうケースがあります。

    最適な設定方法: パラメータを引き継ぐ設定を行うことがポイントです​。サーバー設定でリダイレクトする際に、クエリストリングをそのまま新URLに付与するオプションを有効にします。Apacheの.htaccessであれば、mod_rewriteを用いて[QSA](クエリ文字列を追加)フラグを付与すると良いでしょう。例:

    # .htaccessの例(旧ページを恒久的に新ページへ転送し、クエリも維持)
    RewriteEngine On
    RewriteRule ^old-page$ /new-page?%{QUERY_STRING} [R=301,L]

    上記のように設定することで、old-page?utm_source=xxxへのアクセス時にnew-page?utm_source=xxxへ転送され、UTMパラメータが保持されます。この設定をしないと前述の通りパラメータが外れてしまうため、必ずパラメータ付きURLでテストして確認しましょう​。

    また、可能な限り301リダイレクトは一度だけにするのも大切です。リダイレクトが多重に発生すると、その分パラメータが失われるリスクや遅延が増します。301は「恒久的移動」ですから、一回設定したらリンク元も順次新URLに書き換える運用が望ましいです。

    影響: 301の場合とほぼ同様ですが、一時的なリダイレクトのため長期間にわたってトラフィックを転送するケースではありません。GA4計測上は301と動作は同じで、パラメータ引き継ぎの有無が最大の懸念点です。302でもパラメータが飛ばなければUTM情報がロストしますし、クッキーは同一ドメイン内なら維持されます。基本的に短期間のリダイレクトなので、計測への影響が出る期間も限定的ですが、その期間中のデータを正確にするための対策は必要です。

    最適な設定方法: 301と同様にパラメータを維持する設定を行います。多くのサーバーやフレームワークでは301/302いずれでも似た設定が適用できます。Apacheの場合、先ほどの例で[R=301][R=302]に変えるだけで302リダイレクトになります。転送前後のページ双方にGA4のタグを設置しておくのも有効です。例えば、キャンペーン用の一時的な中間ページを302で挟む場合でも、そのページにGA4タグが仕込んであれば、万一パラメータが外れても少なくとも「中間ページからの内部流入」として計測はされます(ただし理想はパラメータを持ったまま直接最終ページを計測することです)。

    影響: クライアント側(ブラウザ上)でのリダイレクトは、GA4の計測において注意点が多い方法です。まず、リダイレクト元のページが一瞬でもユーザーのブラウザでレンダリングされるため、GA4のタグが発火すれば中間ページのページビューが計上されます。また、リダイレクトが即時に実行されると、参照元情報が失われる可能性があります​。Siteanatomyブログによれば、ランディングページでJavaScriptのwindow.locationによるリダイレクトを行うと、GA4上で(direct)/(none)と判定される場合があるとのことです​。これは、ユーザーが最初にアクセスした際の参照元やUTM情報をGAが取得する前にページが切り替わってしまうためです。

    最適な設定方法: できる限りJavaScriptリダイレクトは避け、サーバー側に任せるのがベストです​。どうしてもJavaScriptでリダイレクトする必要がある場合は次の点に注意しましょう:

    • GA4のトラッキングコードをページ冒頭に配置し、リダイレクトスクリプトの実行を僅かに遅らせる。 例えば、ページロード完了後にsetTimeoutで1秒後にwindow.location.hrefを実行するなど、GA4がページビューや参照元を送信する時間を確保します。ただしユーザー体験上あまり遅らせるのは良くないため、0.5〜1秒程度が限度でしょう。それでもリスクは完全になくなりません。

    • UTMパラメータを新URLにも付与する。 スクリプトでリダイレクトする際に、もし元URLに?utm_source=...等が付いていたら、新しいURLにも同じクエリストリングを付けて遷移させる工夫をします。JavaScriptでは現在のURLからlocation.search(「?」以降)を取得し、それを新URLに結合してからwindow.location.hrefにセットするといった実装になります。

    • 中間ページにもGA4タグを設置する。 これによって最悪参照元がdirect扱いになっても、「旧ページから新ページへの遷移」が内部参照として記録されます。ただし、この場合中間ページのPVが発生する点と、結局キャンペーン計測は損なわれる可能性がある点に注意が必要です。

    要約すると、JavaScriptリダイレクトはGA4計測上リスクが高いため、可能ならば避けるのが無難です。それでも使う場合は上級者向けの調整が必要になるため、初心者の方はサーバーサイドリダイレクトで対応できないか検討してください。

    影響: Meta Refreshもクライアント側リダイレクトの一種なので、基本的な影響と対策はJavaScriptリダイレクトと似ています。違いは、Meta Refreshでは転送までの秒数を指定できるため、ユーザーが一定時間旧ページに留まる点です。例えば5秒後にリダイレクトする設定なら、その5秒間にGA4のページビューやイベントは確実に送信できるでしょう。しかし即時(0秒)のMeta Refreshの場合はJavaScriptによる即時転送と同等で、参照元が取れずdirect扱いになるリスクがあります。

    最適な設定方法: 適切な遅延時間の設定がポイントです。GA4のタグが発火してデータが送信されるには通常数百ミリ秒程度ですが、確実を期すなら1〜2秒程度は余裕を持たせた方がよいでしょう。例えば、<meta http-equiv="refresh" content="2; url=https://example.com/new-page"> のように記述すれば、2秒間は旧ページ上でGA4が動作できます。この間にページビューや参照元情報は取得されるため、少なくともdirect/noneになる可能性は下がります。

    ただし、Meta Refreshもユーザーにはやや唐突な挙動になりますし、SEO的にも評価が分かれる手法です。可能であればサーバーサイドの301/302に置き換えることを検討してください。どうしてもMeta Refreshを使う場合は、上記のように短すぎない遅延を設定しつつ、UTMパラメータの引き継ぎが必要なら新URLをcontent属性内にフルで書く際にパラメータも含めます(例: content="2; url=/new-page?utm_source=xxx...")。

    影響: サーバーサイドで行うリダイレクト(主にHTTPステータスによるもの)は、GA4計測においてもっとも推奨される方法です。理由は、クライアント側で余計なページ表示を発生させず、迅速に目的のページへ誘導できるため、GAの計測ロスが少ないからです。適切に設定された301/302であれば、参照元やUTMパラメータも維持され、GA4上でも正しい流入元が記録されます。逆に言えば、サーバーサイドリダイレクトで問題が出るとすればパラメータ未引継ぎくらいです。

    最適な設定方法: 基本方針は「サーバーサイドでリダイレクトするならパラメータも含めて転送させる」ことです​。ウェブサーバーやフレームワークの設定マニュアルを参照し、「クエリストリングを保持したままリダイレクトする」オプションを探してください。例えば、Apacheの簡易的なRedirectディレクティブ(mod_alias)を使う場合、Redirect 301 /old-page /new-pageと書くだけで基本的にはクエリも引き継がれます(※環境によりますのでテスト要)。Nginxの場合はrewrite ^/old-page$ /new-page permanent;とするとデフォルトでクエリを維持します。念のため、実際にUTM付きURLでアクセスしてGA4のリアルタイムレポートを確認するテストを行い、参照元/メディアが正しく反映されているかチェックしましょう。

    さらに、不要なリダイレクトを極力減らすことも大切です。マーケティング施策で短縮URLや計測用の中間リンクを作りがちですが、可能であれば直接最終ページのURL(もしくは一発で転送されるURL)を使うようにします。リダイレクトが連鎖すると、その間にパラメータが失われたりセッションが切れるリスクが高まるためです​。どうしても中間の計測用URLを使う必要がある場合は、開発担当者と相談して確実にUTMやGCLIDなどが渡る設定にしてもらいましょう。

    最後に、初心者の方でも対応できる具体的なリダイレクト設定の例と手順を紹介します。ここでは代表的なケースを想定し、実践的なガイドを示します。

    ケース例: 古いランディングページを新URLに変更(301リダイレクト)
    あなたのサイトで「https://example.com/old-campaign」のページを「https://example.com/new-campaign」に変更したとします。旧ページ経由のアクセスも新ページに集約し、GA4でも正しく計測したい場合の手順です。

    1. 301リダイレクトの設定を行う:
      サーバーの管理画面や設定ファイルで、旧URLから新URLへの301転送を設定します。例えばApacheサーバーで.htaccessを編集できるなら、次のように記述します。

    Redirect 301 /old-campaign /new-campaign
    1. ポイント: 上記設定ではクエリストリング(「?」以降)も自動で引き継がれます​が、環境によっては引き継がれないこともあるため注意してください。必要に応じて先述のRewriteRuleを用いた方法で確実に引き継ぐようにします。

    2. CMSやツールの活用も検討:
      サーバーの直接編集が難しい場合、使用中のCMSにリダイレクト機能やプラグインがあるか確認しましょう。例えばWordPressなら「Redirection」プラグインなどを使ってGUI上で301リダイレクトを設定できます。その際、「正規表現モード」でクエリパラメータを含めて転送する、あるいは「クエリ文字列を転送する」オプションにチェックを入れることでUTMパラメータも保持できます。ツールを使うとコードを書かずに設定できますが、やはり設定後のテストは欠かさず行ってください。

    3. GA4のタグ設置を確認:
      新URLのページにGA4の計測タグ(gtag.jsやGTM経由のタグ)が正しく設置されていることを確認します。旧ページにもタグが残っている場合がありますが、301で転送されるためユーザーが目にすることはなく、タグも実行されません。基本的には新ページさえ計測できればOKです。念のため、新ページを直接開いたときにGA4のリアルタイムでPVが上がるか確認しましょう。

    4. テストして参照元を確認:
      ブラウザで旧URLにUTMパラメータ付きでアクセスし、新ページに転送された後、GA4のリアルタイムレポートやデバッグビューでそのアクセスの参照元が期待通りになっているか確認します。例えば、https://example.com/old-campaign?utm_source=google&utm_medium=cpc にアクセスし、新ページへ飛んだらGA4上で 参照元/メディア = google / cpc と認識されているかチェックします。正しく設定できていれば、UTM情報が失われず計測されているはずです​。

    5. 他のケースへの応用:

      • ドメイン移行の場合: 基本手順は同じですが、旧ドメイン・新ドメインでそれぞれGA4の設定をどうするか検討が必要です。一般には旧ドメインから新ドメインへ301リダイレクトし、新ドメイン側で計測を行います(旧ドメインのプロパティは停止)。クロスドメイン計測を実装すれば同一ユーザーの継続性をある程度担保できますが、初心者の方は無理に統一せず新サイトで新規スタートとして分析する方法もあります。重要なのはリダイレクトでUTMやGCLIDが落ちないようにする設定です。同様にサーバー側でパラメータを渡すようにします。Google広告を運用している場合、GCLID(自動タグ)の受け渡しも必要なので、テスト時に広告からの流入が正しく計測されているかも確認しましょう。

      • キャンペーン計測用の中間ページ: 仮に中間ページで何らかの計測やコンテンツ表示をしてから自動で本ページへ飛ばす場合、できれば中間ページ上でもGA4イベントを計測し、そのデータにカスタムディメンションで元の参照情報を持たせるなどの工夫が必要です。しかし初心者には難しいため、可能なら中間ページを省略する、もしくは中間ページではユーザー操作で次に進んでもらう(自動リダイレクトしない)ようにして、通常のページ遷移として計測されるようにする方が確実です。

    6. 問題が発生した場合の対策:
      設定後に「思ったようにGA4に反映されない…」という場合は、以下を確認してください。

      • UTMパラメータの漏れ: リダイレクト設定を見直し、パラメータが消えていないか再チェックします(ブラウザのアドレスバーで新URLにUTMが付いているかを確認)。消えていたら前述のQSA設定などを適用します​。

      • direct/noneが増えていないか: GA4レポートでリダイレクト後に突然(direct)流入が増えていないか見ます。増えている場合、参照元情報が失われている可能性が高いです。その際は再度パラメータの受け渡しやトラッキングコードの配置漏れを確認します​。

      • 二重計測: 中間ページのPVやイベントが不要に記録されていないか確認します。もし中間ページの存在自体を計測させたくない場合、GA4の除外設定(例えばページのパスでフィルタリング)を行うこともできますが、基本は発生源(リダイレクト方法)を見直す方が良策です。


    まとめ: リダイレクトの設定次第でGA4の計測データは大きく変わります。初心者の方はまず**「リダイレクトすると参照元が変わるかもしれない」という点を押さえ、常にUTMパラメータやセッションが正しく引き継がれる方法を選択してください。​

    特にサーバーサイドの301リダイレクトはGA4計測において最も安全策と言えますが、それでもパラメータ引き継ぎの設定とテスト検証は欠かさないようにしましょう。逆に、安易なJavaScriptやMetaリフレッシュによる転送は計測ミスのもとですので、やむを得ない場合以外は避けることをおすすめします。

    適切なリダイレクト運用により、GA4のレポートでも流入元やユーザー行動を正確に捉えることができます。この記事を参考に、自社サイトのリダイレクト設定を見直し、GA4でのデータ計測が正しく行われているかぜひチェックしてみてください。正確なデータに基づいてこそ、マーケティング施策の効果検証や改善がスムーズに進みます。今後もサイト改善と計測精度向上に役立てていきましょう!

    アンド,エー株式会社
    facebookTwitterDiscord

    and,a株式会社(and,a Inc. アンド,エー株式会社)

    〒153-0063 東京都目黒区目黒1-4-16 目黒Gビル7階

    Copyright © 2017-2025 and,a Inc. All Rights Reserved.