30分を超えるセッションは2つに分割される? [アクセス解析Q&A]
質問:利用回数を表すアクセス解析指標としてセッションがありますが、1回のセッションは30分で切れると聞きました。自分のサイトはECサイトで非常に滞在時間が長いのですが、閲覧開始から30分でセッションが切れるとすれば、5分間隔で10ページ閲覧したセッションの場合、30分以上1時間未満なので、2セッションとカウントされるのでしょうか?
答えいいえ、違います。訪問者が1時間休みなく、Webサイト内の様々なページを閲覧して回っていたら、1時間続いても1セッション(1回の利用)となります。
解説セッションとは2つのページを見た間隔が30分以上開くと、その前後の2ページの間はお休みが入って、別々の利用行動として考えるということです。閲覧開始時間を基点に考えるのではなく、前後のページ閲覧の間隔で考えるのです。
具体的に見ていきましょう。
以下のデータは、あるサイトにおけるある人のページ閲覧記録です。ページの後の時間は、各ページの閲覧開始時間を示しています。
訪問ページ名 | 閲覧開始時間 |
---|---|
ページA | 12:00 |
ページB | 12:20 |
ページC | 12:35 |
ページD | 12:50 |
ページE | 13:40 |
ページF | 14:00 |
それぞれの閲覧開始時間の差分が単純にそれぞれのページの滞在時間だとして算出すると、次のようになります。
訪問ページ名 | 閲覧開始時間 | ページ滞在時間 |
---|---|---|
ページA | 12:00 | 20分 |
ページB | 12:20 | 15分 |
ページC | 12:35 | 15分 |
ページD | 12:50 | 50分 |
ページE | 13:40 | 20分 |
ページF | 14:00 | 不明 |
お気づきだと思いますが、最後の閲覧ページは次がないため差分が計算できません。すぐに閲覧を止めたかもしれませんし、20分見続けたかもしれませんので「不明」としておきました。
ここで間隔が30分以上開いているのは、ページDの50分です。現在の世界の標準的なルールでは、閲覧開始時間の間隔が30分以上開いている場合は、閲覧をやめて中断していると判断して、別の利用行動としてカウントしようという決まりになっています。たいていのアクセス解析ツールでは、この時間が標準に設定されているはずです。つまり30分以上間隔が開いたページDで、いったん閲覧行動は途切れたと考えようということになるのです。つまりこの一連の閲覧行動は、下記のように修正されることになります。
ページA | 20分滞在 |
ページB | 15分滞在 |
ページC | 15分滞在 |
ページD | 不明 |
閲覧が中断 | |
---|---|
ページE | 20分滞在 |
ページF | 不明 |
そしてアクセス解析ツールでは、AからDまでの一連の閲覧行動とページEからページFという2回の閲覧行動(セッション)とカウントすることになるわけです。繰り返しますが、ページ閲覧を開始したAから数えて30分ということではなく、各ページと次のページの閲覧時間の差が30分以上あれば、その間でセッションが切れるという判定をします。
個人的には、中断時間として30分というのは長すぎるような気もします。サイトを見るのをいったんやめて軽食を取てまたサイトを見たとすると、それが30分以内なら閲覧行動(セッション)が繋がっていると判定する訳ですから。
ではなぜこの間隔の時間が30分になったのでしょうか? 恐らくサーバーのセッション管理におけるタイムアウトがそのくらいの時間であることと関係しているのでしょう。例えばECサイトでショッピングしている最中は、同一人物のリクエストが続いているかどうかセッション管理を行っているのですが、あまり長時間放っておくといったんセッションを切って再びログインを要求することがあります。
この間隔をあまり短くして頻繁にセッションを切るのはユーザーにとって不便な一方、あまりに長く取ると、サーバー側の管理も面倒ということで、落ち着いた時間が20分から30分というところだったのだと思います。技術的な部分は詳しくありませんが、例えばIISでは20分、ApacheでPHP言語を使う場合は24分、ApacheでTomcat(JSP言語)の場合は30分がセッション・タイムアウトのデフォルトのようです。
ソーシャルもやってます!