この記事の要点
アナリティクスの滞在時間0秒は「誰も読んでいない」という意味ではなく、計測できるイベントが一つも起きないまま離脱した、という意味です。だからまずJavaScriptのsetTimeoutで「1秒滞在」「10秒滞在」のイベントを設計し、スクロール量のイベントとヒートマップを足します。そこまでやると、上部で判断されているのか、読み始めてから離れているのかが分かれて見えます。
公開日 2026-10-09/更新日 2026-10-23
Googleアナリティクスで滞在時間が0秒と表示されるのはなぜ?
0秒は「1秒も見られていない」という意味ではありません。計測の対象になるイベントが一つも発生しないまま離脱すると、滞在時間は0秒として扱われます。つまり0秒の正体は、読まれなかった時間ではなく、記録されなかった時間です。
アクセス解析は、ページが開かれた時点と、その次に何かが起きた時点の差で「どれくらい滞在したか」を組み立てています。次のページに移動する、何かをクリックする、イベントが送られる——そういう出来事が1つでもあれば、間の時間が計算できます。
ところが、1ページだけを見て、何も押さず、何も送られないまま閉じられると、差を取る相手がありません。この場合、Googleアナリティクスでは滞在時間が「0秒」になります。レポート上では読まれていないページのように見えますが、実際には3秒読まれていたのか、15秒読まれていたのかは、この状態では分かりません。
0秒を「分からない」と読み替える
私は、滞在時間0秒が並んでいるレポートを見たときに、まず「悪い」ではなく「見えていない」と読み替えます。悪いかどうかは、計測を足してから判断すればいい話です。順番を逆にすると、まだ分かっていない原因に対して、キャッチコピーを変えたりデザインを触ったりという作業を始めてしまいます。
なお、計測ツールの仕様や指標の定義はバージョンや設定によって変わります。自分の環境でどう記録されるかは、最新の公式情報で確認してほしいところです(2026年9月時点)。
直帰はどのくらいの速さで起きているのか?
私の見方では、直帰は1秒以内、あるいは3秒以内ぐらいに起きていることがあります。読んでから判断しているのではなく、ページが表示された瞬間の印象で判断されている、という前提で考えたほうが実態に近いと考えています。
検索した人がページを開いたとき、本文を読み込んでから「自分には関係ない」と結論を出しているわけではありません。検索したキーワードとページ上部の見え方が合っていないと、関係ないページだと直感した時点で離脱が発生します。
検索したキーワードの人がページにアクセスしたときに、このページは私には関係ないんだなというふうに直感してしまうというときに離脱が発生します。
この前提に立つと、見るべき場所がはっきりします。1秒以内に判断されているなら、原因は記事の後半ではなく、ページの一番上にあります。ネットを閲覧しているときの人は、熱量がそこまで高くない状態です。その状態の人に「ここはあなたに関係がある」と一瞬で伝えられているかどうかが、直帰の分かれ目になります。
ただし、この「1秒以内」「3秒以内ぐらい」は私の体感と見立てです。自分のサイトで本当にそうなっているかは、次に書く1秒・10秒のイベントを入れると数字で確かめられます。
滞在時間を見えるようにするには何を計測すればいい?
JavaScriptのsetTimeoutを使って、「1秒滞在しました」「10秒滞在しました」というイベントを送る設計にします。これだけで、これまで0秒にまとめられていた離脱が、1秒未満・1〜10秒・10秒以上に分かれて見えるようになります。
やることはシンプルです。ページが表示されてから一定時間が経ったら、アナリティクスにイベントを送る。それだけで「何も起きないまま離脱した」が「1秒は滞在した」「10秒は滞在した」という記録に変わります。
設計の手順
- ページ表示から1秒後に発火するタイマーを置き、「1秒滞在」のイベントを送る
- 同じように10秒後に発火するタイマーを置き、「10秒滞在」のイベントを送る
- イベントがアナリティクスに届いているかを、実際に自分のページを開いて確認する
- ページ別・流入キーワード別に、1秒イベントと10秒イベントの数を並べて比べる
- 数が極端に落ちているページから手を入れる
タイマーの時間は1秒と10秒に限る必要はありませんが、私はこの2点を起点にしています。1秒は「上部で判断されたかどうか」の境目、10秒は「読み始めたかどうか」の境目として使えるからです。
この計測が入ると何が変わるか
一番大きいのは、議論が感覚から数字に移ることです。「なんとなく離脱が多い気がする」という状態では、直すべき場所が決まりません。1秒イベントが取れていないページと、1秒は取れているのに10秒が取れていないページでは、打つ手がまったく違います。
1秒と10秒のイベントから何が読み取れる?
1秒のイベントすら記録されないページは、ページ上部で「関係ない」と判断されています。1秒はあるのに10秒がないページは、読み始めてもらえたのに続かなかったページです。キャッチコピーや概要文でうまく読ませられれば10秒ぐらいは滞在するんじゃないか、と私は見ています。
2つのイベントの組み合わせで、離脱の理由がだいたい切り分けられます。
| 1秒イベント | 10秒イベント | 読み取れること | 先に手を入れる場所 |
|---|---|---|---|
| 記録されない | 記録されない | 表示直後に「自分には関係ない」と判断されている | キャッチコピー、キービジュアル(検索キーワードとの一致) |
| 記録される | 記録されない | 読み始めたが、本文に入る前後で離れている | 冒頭の概要文、見出し、読みやすさ |
| 記録される | 記録される | 読まれている。離脱はページの途中以降で起きている | スクロール量の計測、問い合わせ動線の位置 |
「10秒ぐらい滞在するんじゃないか」というのは私の推測であって、保証できる数字ではありません。ただ、目標値を決めずに計測を始めると、数字を見ても良いのか悪いのか判断できません。まずは10秒を仮の合格ラインに置き、ページごとに10秒イベントの発生率を比べる。これなら、今日から判断材料として使えます。
流入キーワードごとに見るのも有効です。同じページでも、あるキーワードからは10秒が取れていて、別のキーワードからは1秒も取れていない。そういう差が見えたら、そのキーワードに向けて上部の文言を調整する、という具体的な作業に落ちます。
ページのどこで離れたかを知る方法は?
スクロール量をイベントとして送る設計を足し、あわせてヒートマップを導入します。時間の計測だけでは「いつ離れたか」しか分かりませんが、スクロール量とヒートマップを足すと「どこまで読んで離れたか」が分かります。
1秒・10秒のイベントで時間軸が見えるようになったら、次は位置の軸です。ページのどのあたりまで到達したタイミングでイベントを送るかを決めて、スクロール量を記録します。これで「本文の途中で止まっている」「最後まで読まれているのに問い合わせに進んでいない」といった違いが分かります。
時間とスクロールを両方見る理由
- 10秒は滞在しているが、スクロールされていない:上部で止まっている。読もうとしたが続かなかった可能性がある
- スクロールは最後まで届いているが、問い合わせがない:内容は読まれている。動線やフォームの側に原因がある
- 途中まで進んで止まっている:止まっている位置の手前に、離脱の原因がある
ヒートマップは、この「止まっている位置」を目で確認するために入れます。数値のレポートだと「何割まで到達」という形でしか出ませんが、ヒートマップなら、どのブロックで熱が切れているかが一目で分かります。ページを作った側の想定と、実際に読まれている範囲がずれていることは珍しくありません。
ここまで揃うと、アクセス解析は「増えたか減ったか」を見るためのものから、どのキーワードで来て、どこまで読んで、どこで離れたかを見るためのものに変わります。アクセスは増えたのに問い合わせが増えない状態の見直し方も、この計測が前提にあると判断が速くなります。
計測で離脱が見えたら、最初に直すのはどこ?
ページ上部のキャッチコピーとキービジュアル(ヘッダー画像)を、検索キーワードと記事内容に合わせて変えることから始めます。1秒以内に判断されている前提に立つと、効き方がいちばん速いのはここです。
検索した人が最初に見るのは、ページの一番上です。そこに書かれている言葉が自分の検索した言葉とつながっていれば「このページは自分に関係がある」と判断され、つながっていなければそこで終わります。だから、記事ごとに上部の文言を合わせる作業は、計測で1秒イベントが取れていないページほど効きます。
私も使い回してしまうところ
キービジュアルも同じです。記事に合った画像が上に置かれているかどうかで、「自分に関係がありそうだ」「読みやすそうだ」という印象が変わります。これは私自身、実際にやってしまうところでもあります。
私も実際やっちゃうんですけれども、ヘッダーの部分、ページの一番上の画像を、その記事ごとに、記事に適した画像に変えておくと、このページって私に関係あるんだなとか、あるいは読みやすそうなページだなって印象を与えたりとかね。
手間がかかるので、つい共通画像のまま公開してしまう。だからこそ、1秒イベントが取れていないページのリストを作って、そのページだけ画像と見出しを差し替える、という形で順番を決めるのが現実的です。全ページを一度に作り直す必要はありません。
読まれているのに問い合わせがないときは何を整えればいい?
10秒イベントもスクロールも取れているのに問い合わせがない場合は、内容ではなく受け口の側を整えます。常に見える問い合わせ動線、項目を絞ったフォーム、メール以外の窓口、そして会社概要の4点です。
ネットを閲覧しているときの人は、熱量がそこまで高くない状態です。その前提で受け口を設計します。
- 問い合わせ動線を常に表示する:スクロール位置に関わらず問い合わせへの入口が見えている状態にします。読み終えたタイミングで探させない設計です。
- フォームの項目を最小限にする:問い合わせが欲しいと言いながら、入力項目がとても多いケースがあります。熱量が高くない状態の人に多くを求めると、そこで止まります。エントリーフォーム最適化(EFO)の考え方で、必要な項目だけに絞ります。
- メール以外の窓口も用意する:LINE公式やSNSからの連絡を受けられるようにしておくと、メールを使わない人の動線が残ります。
- 会社概要を明記する:運営者が誰か分からないと、問い合わせには進みません。会社概要が書かれていて、その社名で検索したときに実態が確認できる状態にしておきます。
このサイトの運営者は誰なんだろうっていうのが分からなかったら、問い合わせしないと思いますし、運営会社が書いてあった時に、その運営会社を検索した時に何も出てこない。ちょっと怖いですよね。
やる順番はシンプルです。まず1秒・10秒のイベントとスクロール量を入れて、どこで離れているかを見えるようにする。上部で判断されているページは上部を直す。読まれているページは受け口を直す。切り分けができていれば、作業量は思っているより少なくて済みます。考え方の全体像は問い合わせ数から逆算してアクセス数を4段階に分ける記事と、集客できない原因を2種類に切り分ける記事も合わせて読むと整理しやすいはずです。
よくある質問
アナリティクスの滞在時間0秒は、読まれていないということですか?
読まれていないとは限りません。計測の対象になるイベントが一つも発生しないまま離脱すると滞在時間が0秒として扱われるため、実際に何秒見られたのかが記録されていない状態です。setTimeoutで1秒・10秒のイベントを送る設計にすると、0秒にまとめられていた離脱が分かれて見えるようになります。
直帰はどのくらいの速さで起きていますか?
私の見方では、1秒以内、あるいは3秒以内ぐらいに起きていることがあります。本文を読んでから判断されるのではなく、ページ上部の印象で「自分には関係ない」と直感された時点で離脱が起きる、という前提で設計したほうが実態に近いと考えています。
1秒と10秒のイベントは、どちらを先に入れればいいですか?
両方を同時に入れるのがおすすめです。1秒は上部で判断されたかどうかの境目、10秒は読み始めてもらえたかどうかの境目として使えるため、2点あって初めて切り分けができます。片方だけだと、上部の問題なのか本文の問題なのかが判断できません。
ヒートマップは必要ですか?
スクロール量のイベントで「どこまで到達したか」は数値で分かりますが、ヒートマップを入れると、どのブロックで読まれ方が切れているかを目で確認できます。止まっている位置の手前に原因があるので、位置を特定したいときには有効です。
計測を入れたら、最初に手を入れるのはどこですか?
1秒のイベントが取れていないページから、ページ上部のキャッチコピーとキービジュアルを検索キーワードや記事内容に合わせて変えます。10秒もスクロールも取れているのに問い合わせがないページは、常に見える問い合わせ動線、項目を絞ったフォーム、メール以外の窓口、会社概要の明記を整えます。
参考・出典
- Google アナリティクス ヘルプ(指標の定義・計測仕様は最新の公式情報で確認を)(2026年9月時点)
- MDN Web Docs(JavaScript の setTimeout などの仕様)(2026年9月時点)
売れるSEO対策について
アクセスは増えたのに問い合わせが来ない、という段階でしたら一度ご相談ください。何を直すべきかをお伝えします。初回のご相談は無料です。
関連記事
問い合わせフォームは4項目でいい|項目を減らすほど届く理由
記事LPとは何か|中小企業が手を出すべきかの判断基準
ホームページに電話番号を載せるか|営業電話と問い合わせ手段の考え方
