Google アナリティクスの滞在時間に関する3つの指標の集計仕様についての完全ガイド

私はWeb担当者Forumで10年近くほぼ毎週連載を続けている衣袋(いぶくろ)という者で、2017年4月現在では「衣袋教授の新・Googleアナリティクス入門講座」を連載中だ。このnoteでは、私が定期開催している丸二日のGoogle アナリティクス講座でも話したことがないくらい細かい話題を、有料で提供している。

各ページの平均滞在時間を示す指標「平均ページ滞在時間」、各セッションの平均滞在時間を示す指標「平均セッション時間」、カスタムレポートでしか見ることのできない「ページ滞在時間」の3つについて本稿では解説する。

集計仕様の変更はそれほど頻度高く行われる訳ではないが、重要な指標でもレポート画面に大きくアラート表示がされることなく、公式ブログで事後的に掲載するだけ、あるいは、ヘルプで人知れずいつの間にか公開されているといった場合も多い。

かれこれ10年も前の話になるが、滞在時間の計算方法を変更し、その後また計算方法を元に戻したことがあった。下記リンクがその時の公式ブログで、この時はユニークユーザー数(現在のユーザー)という指標も2種類あったものを一つに統一したといった話も書かれている。

平均サイト滞在時間の計算方法を変更しました(アナリティクス 日本版 公式ブログ)

10年前のこの計算方法の変更を再度元に戻した理由も、この公式ブログ内に書かれているが、「旧バージョンの計算方法を望むユーザーさまからの声が多かった為」というのだ。個人的にはこの時に試みた変更の方が、他との整合性も考えるとよい修正だったと思うのだが、現在でもこのルールが継続していて気持ち悪い状態になっている。

利用者から文句がこようが、より正しい方向への修正は行うべきだったと考えている。まあ、そんないわくつきの指標であるということだ。皆さんにとってはそんな昔話はどうでもいいと思われるだろうが、こういう歴史によって今が成り立っているということだ。

本記事の対象者:滞在時間の指標を重要視していて、分析でも高頻度で活用している方。滞在時間の指標に関心が高く、それなりに利用しているが、集計仕様が正確に説明できていなくて困っている方など。

前提とする知識:ページビューやセッションといった、ごく基本的な用語の意味がわかっていること。一部のケースでは、フィルタやイベント トラッキングについての基本を理解している必要がある。本記事のテーマである滞在時間についての理解はゼロで問題ない。

前提とする実装:一般的なページビューを実装している前提。オプションで、イベントのトラッキングコードを実装している場合までカバーしている。

本記事の対象外:滞在時間の指標を活用してどのようにウェブサイトを良くしていくかということについては書いていないので、指標の活用に興味を持っている方には役に立たない。活用の前提としての正確な集計仕様について網羅的に書いてあるだけだ。

目次:1.「平均ページ滞在時間」と「平均セッション時間」の集計の基礎 2.サイト全体と個別の「平均セッション時間」 3.サイト全体と個別の「平均ページ滞在時間」 4.「ディレクトリ」レポートにおける「平均ページ滞在時間 5.日を跨いで強制切断されたセッションの両日における処理のされ方 6.フィルタで一部のページ閲覧を削除した場合の「平均ページ滞在時間」と「平均セッション時間」 7.カスタムレポートでしか表示されない「ページ滞在時間」とは 8.イベント(非インタラクション/インタラクション別)が存在した場合の集計仕様のすべて


<「平均ページ滞在時間」と「平均セッション時間」の集計の基礎>

滞在時間は大きく2種類ある。「各ページ」の滞在時間と、「各セッション(訪問)」の滞在時間だ。Googleアナリティクスでは各種標準のレポートに、それらの平均を算出した「平均ページ滞在時間」(図1)と「平均セッション時間」(図2)という二つの指標を見ることができる。

一つ一つのページの滞在時間の計算の基本は、該当ページと次のページの閲覧開始時刻との差を集計したものだ。一方、セッションの滞在時間は最初と最後のページの閲覧開始時刻との差を集計したものだ。これらそれぞれにに対応したものが、「平均ページ滞在時間」(図1)と「平均セッション時間」(図2)だと、基本的には考えて欲しい。

各ページの滞在時間は基本的に、セッションが繋がっていると判定されたページビューを対象にして、前後のページ閲覧開始時刻の差を計算するので、タブブラウザの裏のタブで表示された場合は?とか、ブラウザをいったん閉じた場合だとか、同種のブラウザを複数立ち上げている場合とか、一切細かい状態は関係ない。同じブラウザ(同じクッキー)でページのリクエストがあった時刻だけを計算の元データにするのが大原則だ。

例えば次のようなセッションの場合のページAの滞在時間は次の閲覧ページの閲覧開始時刻との差にあたる15秒になる。一方、このセッションのセッション時間も最初と最後のページの閲覧開始時刻との差なので、やはり15秒になる。

ページA(閲覧開始時刻がある日の10時0分00秒)⇒ ページB(閲覧開始時刻がある日の10時0分15秒)

この閲覧開始時刻の差分で集計する仕様で問題になるのは、最後の閲覧ページ(直帰ページ、あるいは離脱ページ)の集計をどうするのかということだ。離脱ページには次のページが存在しないので差分の計算ができないし、直帰セッションはどう集計されているかというと、Google アナリティクスでは次のように処理をする仕様になっている。

・平均ページ滞在時間の算出においては、離脱(直帰)ページのページ滞在時間は不明として集計から外される

・平均セッション時間の算出においては、直帰セッションのセッション時間は0秒で集計に組み入れれれる

このようにページ滞在時間とセッション時間の算出において、一方は不明な部分を集計から外し、他方は0秒として集計に組み込むという不整合があり気持ち悪いが、仕様なので仕方ない。

ここまでが基本でこれから後も長いので、ここまででもピンとこない方は、さらに図解を多用して丁寧に説明した私の下記記事を参照して欲しい。

まだGAの「滞在時間」を信用してるの? 計算の仕組みとその使い方を理解する[第15回](Web担当者Forum)


<サイト全体と個別の「平均セッション時間」>

ここからは実際のレポート画面に即して話を展開していこう。

例えば「行動 > サイト コンテンツ> すべてのページ」レポート(図1)では、サイト全体の「平均ページ滞在時間」と各ページ別の「平均ページ滞在時間」がある。「集客 > すべてのトラフィック> 参照元 / メディア」レポート(図2)でも同様にサイト全体とディメンションの値別の「平均セッション時間」が存在する。

大抵のレポートでは、一覧表形式のレポートの表の一番上の行は指標名が並んでおり、その下の行がサイト全体の指標で、その下の行からレポートで選択されているプライマリ ディメンションの値別の指標が表示されている構成になっているはずだ。

分かりやすい「平均セッション時間」の方から具体例で話を進めていこう。図3は「集客 > すべてのトラフィック> 参照元 / メディア」レポートに、あるセグメントを掛けて絞り込んだ例だが、サイト全体で5セッションあり、「参照元/メディア」別の明細を見ることのできるレポートだ。

参照元/メディアの値が「(direct) / (none)」は4セッションで平均セッション時間は48秒、「a2i.jp / referral」は1セッションで平均セッション時間は19秒なっている。直帰セッションは「(direct) / (none)」で1セッションある(なぜなら4セッションあって、直帰率が25%なので、4セッション×25%=1セッションが直帰セッションだから)が、これはゼロ秒で集計に組み入れられているので、この5セッション全体の滞在時間は、このゼロ秒も含めた5セッションの単純合計になっている。

つまり5セッション全体の滞在時間=48秒×4セッション+19秒×1セッション=211秒となる。これを1セッションあたりの平均値に割り戻すには、全体のセッション数である5で割ればよいはずだ。つまり全体の平均セッション時間=211秒÷5セッション=42.2秒となるはずだ。図3を確認すると、全体の指標が並んでいる行に表示されている42秒と確かに合致している。

つまり計算式で表現すると、サイト全体でも特定のディメンションの値別でも次のようになる。

平均セッション時間=対象セッションのセッション時間(直帰セッションは0秒とする)の合計÷対象セッション数(サイト全体なら総セッション数、特定のディメンションの値別ならそのグループに該当するセッション数)


<サイト全体と個別の「平均ページ滞在時間」>

一方、「平均ページ滞在時間」の方は少しややこしい。集計から外される対象のページビューがあるからだ。図4は「行動 > サイト コンテンツ> すべてのページ」レポートに、あるセグメントを掛けて絞り込んだ例だが、サイト全体で5ページビューあり、ページ別の明細を見ることのできるレポートだ。

繰り返すが、離脱(直帰)ページのページ滞在時間は不明として集計から外されるのが「平均ページ滞在時間」の集計だと言った。滞在時間の集計の対象外となるページビューがあるため、サイト全体の平均ページ滞在時間は、直感的には変な印象を受けてしまうこともある。

図4の例では、ページの種類は3つあり、それぞれのページビュー数は2PV / 2PV / 1PV、平均ページ滞在時間が40秒 / 40秒 / 0秒なので、サイト全体の平均ページ滞在時間が、各ページの平均ページ滞在時間の単純な加重平均値だとしたら(40秒×2PV+40秒×2PV+0秒×1PV)÷5 PV=160秒÷5 PV=32秒となるはずだが、レポートでは40秒と表示されている。

0秒で集計に組み入れる「平均セッション時間」とは違う集計がされていると傍証できたとも言える。「平均セッション時間」の時は、この単純な加重平均値方式で合致したが、ページ滞在時間の計算はそうではないのだ。

実はこのレポートから集計対象外のページビューは推定することができるので、それを除いて検算してみることにする。集計対象外になるのは何度も繰り返すが最後のページ、つまり離脱(直帰含む)ページである。図4の一番右に表示されている指標は離脱率だ。つまりページ別にページビュー数と離脱率を掛け合せれば、各ページの離脱ページビュー数を推定することができる。これが集計対象外のページビューに該当するわけだ。

図4の例で言えば離脱ページビュー数は、1つ目のページの離脱率は0%なので0 PV。二つ目のページは2 PV×50%=1 PV。三つ目のページは1 PV×100%=1 PVとなる。つまり合計で2 PV分は「平均ページ滞在時間」の集計から除外されていることになる。

次はこれらを除いた正味で、各ページ別のページ滞在時間合計は次のようになるだろう。1ページ目=40秒×2 PV=80秒。2ページ目=40秒×1 PV=40秒。3ページ目=0秒×0 PV=0秒(まあこれは対象がもともとないので0秒というより「なし」が正しい表現になる)。よって集計対象になったページの総ページ滞在時間=80秒+40秒+0秒(なし)=120秒となる。

一方2ページビューは集計対象外なので、割り算する分母のページビューからも差っ引く必要がある。全体が5 PVなので、5 PV-2PV=3 PVが分母になる。よってサイト全体の「平均ページ滞在時間」は120秒÷3 PV=40秒ということで、レポートと合致するというわけだ。

つまり計算式で表現すると、次のように表現できるだろう。

各ページの平均ページ滞在時間=対象のページの(離脱ページとなったページビューを除く)ページ滞在時間の合計÷対象のページの(離脱ページとなったページビュー数を除く)ページビュー数

サイト全体の平均ページ滞在時間=各ページの(離脱ページとなったページビューを除く)ページ滞在時間の合計÷サイト全体の(離脱ページとなったページビュー数を除く)ページビュー数


<「ディレクトリ」レポートにおける「平均ページ滞在時間>

この続きをみるには

この続き:6,808文字/画像5枚

Google アナリティクスの滞在時間に関する3つの指標の集計仕様についての完全ガイド

衣袋 宏美

1,480円

この記事が気に入ったら、サポートをしてみませんか?気軽にクリエイターを支援できます。

衣袋 宏美

コメントを投稿するには、 ログイン または 会員登録 をする必要があります。