現在、以下のようなリダイレクト設定をしたURLのアクセス数を計測する方法を検討しています。
①URL「 https://A.com」をリダイレクト設定
②リダイレクト先はYouTube
YouTubeアナリティクス上で計測できないか模索しましたが、YouTubeはGAのようなクエリパラメーターの対応はなし&トラフィックソースも同一ドメインからであればすべて外部サイト扱いに集約されてしまいます。
そのためこの「 https://A.com」にどれだけアクセスがあったかを正確に計測する方法が知りたいです。
Xサーバーのリダイレクト設定でステータスコード302として設定⇒アクセス解析画面で計測できれば理想的ですが、まだデータが入っていないのか、そもそも計測できていないのか、「解析データが0、または存在しないため、グラフを作成できません。」となります。
調べたところ、いくつか方法があるよう(サーバーのアクセスログ、URL短縮サービスなど)ですが、初心者でも取り組みやすい方法があれば特に助かります。どうぞよろしくお願いいたします
【実験した訳ではなくて、推測なので、正解とは限りません】
GA4のイベント計測は、
ブラウザ上にあるhead要素内のGA4のコードを読み込んだ上で
page_view
scroll
session_start
click
など
をトリガーにしているので
サーバー設定(.haccess)で
https://A.com
を読み込む(page_viewイベントが発生する)前にリダイレクトすると
イベントが発生しない
⇒計測できないのでは?
▼▼▼▼▼▼▼▼▼▼▼▼
力業ですが、
サーバー設定ではなく
ページを読み込ませた後で
metaタグでjumpさせれば、
に対するpage_viewイベント数のデータが取れるのかなと思います。
<meta http-equiv="refresh"content="2;URL=リダイレクト先">
Xサーバーのリダイレクト設定でステータスコード302として設定⇒アクセス解析画面で計測できれば理想的ですが、まだデータが入っていないのか、そもそも計測できていないのか、「解析データが0、または存在しないため、グラフを作成できません。」となります。
①URL「 https://A.com」をリダイレクト設定
②リダイレクト先はYouTube
私のサイトは301リダイレクトしか設定しておらず、類似とはいえ厳密には302リダイレクト時の挙動は確認していませんが。
また、「①」について、リダイレクトを設定しているのが「サイト全体」なのか、「サイトのなかの特定のページ、かつ、サイト内でリンクを設定している(例:動画はこちら、などのアンカーテキストでリンクを設定している)」のかが判断できず(記載内容をそのまま解釈すればサイト全体になりそうですが)、それによっても取れる方法が変わりそうではあります。
できそうな方法とメリットデメリットは以下のとおりです。
■エックスサーバー付属のアクセス解析機能を使う→難しそう
エックスサーバー(XServerビジネス)付属のアクセス解析の場合、サーバーの生ログをもとに解析処理をしています。
リダイレクトが発生しているページも生ログが残っているため解析対象ではあるのですが、「301リダイレクト」は「ページ別解析」には記載されず、「エラーコード別」でカウントされるのみのようでした。エラーコード別解析はホスト名全体が対象のようで、「どのページのリダイレクトが何回」といった解析はできないようでした。302は試していませんが、おそらく同じ仕様だと思います(違っていたらすみません)。
サイト全体にリダイレクトの設定をしていてホスト名単位の302の回数がわかればそれで十分、ということであれば、これでもいけそうですが。
なお、アクセス解析は「6時間に一度更新される仕組み」です。
サーバーパネルからアクセス解析を追加したのち、「更新のタイミング」が来るまでは、計測結果は表示されませんのでご注意ください。
■サーバーのアクセスログ→面倒そう
エックスサーバーのサーバーパネルにある「アクセスログ」で生ログをダウンロードすれば、どのURLに対してアクセスがあり、どのようなステータスコードが返されたかなどを確認することが可能です。
生ログをダウンロードし、リダイレクトを設定したURLに対するアクセス数を手作業でカウントすれば、正確なアクセス数を把握することが可能です。
ただし、
・アクセスログ(生ログ)は1日単位でしかダウンロードできない(毎日の正確な数が知りたければ毎日データをダウンロードする必要がある)
・サイトのアクセス数によっては、生ログが膨大な量になる(数万行など)
といったデメリットもあり、かなり面倒だと思います。
■リダイレクト対象ページにGAなどの解析タグを設置する
Luke_Catさんが記載しているとおりです。
サーバーパネルで設定した「302リダイレクト」はJavascriptの計測処理(計測タグの読み込み)より前に実行されるため、この方法ではリダイレクト元のURLへのアクセス数は計測できません。
サーバーパネルの設定(.htaccessに記載されます)ではなくmetaタグで実現するなら、metaタグによるリダイレクトを1秒ないし2秒程度遅延させることで、アクセス解析用のjavascriptタグをほぼ確実に読み込ませられると思います。
ただしこの場合、リダイレクト処理が1秒ないし2秒(など、metaタグで設定した秒数)遅延するので、ユーザー体験を損ねるかもしれません。
■「ページ内のリンク」をクリックしたときにアクセス解析のイベントを発火させる→これがよさそう?
・サイト内の「 https://www.example.com/ 」などに「 https://www.example.com/movie/ 」へのリンクを設置し、 https://www.example.com/movie/ にアクセスしたときにyoutubeにリダイレクトする
ということであれば、「リンクがクリックされたとき」にGAのイベントを発火させるようにすれば、「リンクをクリックした回数」はアクセス解析で把握できるようになります。
リンクを介しない、URLへの直接のアクセスなどは計測できませんが。
なお、この方法の場合、リンククリックをトリガーとしてGTMやGA4などのタグを発火させるための記述をする必要があり、それに関する知識は必要になります。
具体的な記述はしませんが、Google検索などで情報はいくらでも出てくると思います。
■プログラム処理
nkさんが記載している「URL短縮サービス」の処理を自作しようといった話です。
リダイレクト元のURL(ファイル)を「php」などとし、そのPHPのなかで
・アクセス数をカウントする処理
・指定したURLにリダイレクトする処理
を組み込めば、リダイレクトの回数を継続することが可能です。
プログラムを自作するだけのスキルが必要になるのがネックですが。