GA4のセッションとユーザー数|合計が合わない理由と切れる条件

セッションの定義と切れる条件、日別の和や表の行の和が合計と合わない理由、4つのユーザー数の違い、月曜始まりの週の見方、イベント数との違いまで。
GA4のセッションは、サイトやアプリを1回利用したまとまりで、操作のない時間が30分を超えると切れます。ユーザー数とセッションは「重複を除いた数」を推定した値なので、日別の数字を足しても期間の数字にならず、表の行を足しても合計の行と合いません。数字が合わないのは、多くの場合、計測の不具合ではなくこの数え方によるものです。
この記事では、セッションの定義と切れる条件、合計が合わない理由の一覧、4つのユーザー数の違い、週を月曜始まりで見る方法、イベント数との違いをまとめます。画面と仕様は2026年10月時点のものです。ほかの指標はGA4の指標一覧にまとめています。
GA4のセッションとは
GA4のセッションは、ユーザーがサイトやアプリを利用している時間のまとまりで、ページを開いたときに始まり、操作のない時間が30分を超えると終わります。
公式ヘルプでは、アプリを前面で開いたとき、または進行中のセッションがない状態でページや画面を表示したときにセッションが始まると説明されています。始まると session_start というイベントが自動で記録され、セッション数はこれをもとに数えます。セッションの長さに上限はありません。
セッションが切れるのは、操作のない時間が30分を超えたとき
GA4のセッションは、操作のない時間が初期設定で30分を超えると切れます。そのあとにまた操作があると、新しいセッションとして数えます。先に図で示します。
1つずつ見ると、次のとおりです。
| 場面 | GA4 | UA(以前のGoogleアナリティクス) |
|---|---|---|
| 操作のない時間が30分を超えた | 新しいセッション | 新しいセッション |
| 日付が変わった(0時をまたいだ) | 同じセッション | 新しいセッション |
| 途中で別の広告やキャンペーンから戻ってきた | 同じセッション | 新しいセッション |
UAから移ってきた場合、GA4のセッションは少なめに出ます。日付やキャンペーンで切れない分、1つのセッションが長くなるためです。公式ヘルプも、自社サイト内でUTMを使っているとUAのセッション数がかなり多くなる場合がある、と説明しています。
途中で参照元が変わっても切れないので、1つのセッションの流入元は、そのセッションの始まりに付いていた情報で決まります。ヘルプの指標の一覧でも、ディメンション「セッションのデフォルト チャネル グループ」は、セッションの開始に関連付けられたチャネルとされています。流入元の割り当ては間接的ラストクリックで、直接(ブックマークやURLの入力など)で始まったセッションは、その人の前回の直接以外の流入元に割り当てられます。
タイムアウトの変え方
タイムアウトの時間は、次の場所で変えられます。
- 「管理」の「データ ストリーム」で、ウェブのストリームを開く
- 「Google タグ」の「タグ設定を行う」を開く
- 「設定」の「もっと見る」を押して、「セッションのタイムアウトを調整する」を開く
タイムアウトは最長7時間55分まで延ばせます。同じ画面で、エンゲージメントのあったセッションとみなすまでの秒数(初期設定は10秒)も変えられます。
ここからは私たちの判断ですが、ECサイトなら30分のままで構いません。商品を見比べて30分以上離れた人は、戻ってきたときに改めて買うかを考えていることが多く、別の訪問として数えたほうが実態に近いと考えています。長い動画や読み物が中心のサイトで、30分以上操作がないまま見続ける人が多いなら、延ばすことを考えます。どちらにしても、変えるとその日から数字の出方が変わるので、変えた日を記録しておきます。
エンゲージメントのあったセッション
セッションのうち、10秒を超えて続いた、キーイベントが発生した、ページや画面が2回以上表示された、のどれかに当たるものを「エンゲージメントのあったセッション」と呼びます。その割合がエンゲージメント率で、残りが直帰率です。読み方はエンゲージメント率の記事にまとめています。
GA4のセッションやユーザー数の合計が合わない理由
GA4のユーザー数とセッションは足し算で求まる指標ではないので、日別の数字の和や表の行の和は、期間の数字や表の合計と一致しません。どの数字がなぜずれるかを、先に表にまとめます。
| 合わない数字 | 主な理由 | 出どころ |
|---|---|---|
| 日別のユーザー数の和と、期間のユーザー数 | 別の日に来た同じ人は、日別では毎日1人ずつ、期間では1人。日別の和のほうが多くなる | 公式の定義(個別のユーザーの数) |
| 流入元別などの行のユーザー数の和と、表の合計 | 2つの流入元から来た人は、両方の行に1人ずつ入るが、合計では1人 | 公式の定義から当社が整理 |
| 行のセッション数の和と、表の合計 | 合計も各行も、それぞれHyperLogLog++で推定しているため、わずかにずれる | 公式の推定方法から当社が整理 |
| 新規ユーザー数とリピーター数の和と、総ユーザー数 | 期間中に初めて来て、もう一度来た人は両方に数えられることがある | 公式の定義から当社が整理 |
| アクティブ ユーザーと総ユーザー数 | ウェブでは first_visit か engagement_time_msec が送られた人がアクティブ ユーザー。engagement_time_msec の付かないイベント(Measurement Protocolなどのサーバー送信だけ)しかない人は、総ユーザー数にだけ入る | 公式ヘルプ |
| 行の和が合計より少ない | しきい値で一部の行が除かれる。行数が多いと「(other)」にまとめられる | 公式ヘルプ |
| 探索の数字と、レポートの数字 | 探索で扱うイベントが上限を超えると、一部のデータから推定する(サンプリング) | 公式ヘルプ |
| レポートの数字と、BigQueryで数えた数字 | レポートは推定値で、行動モデリングやレポート用識別子の影響も受ける | 公式ヘルプ |
ユーザー数は、重複を除いた人数
ユーザー数は、重複を除いた人数なので、期間を分けて足すと同じ人を何度も数えることになります。公式ヘルプでは、アクティブ ユーザー数は「個別のユーザーの数」、合計ユーザー数は「イベントをトリガーした一意のユーザー ID の数」と定義されています。
たとえば、同じ人が月曜と火曜に来ると、日別ではそれぞれ1人、2日間の数字では1人です。月の数字が欲しいときは、日別の数字を足すのではなく、期間を1か月にして出します。週の数字も同じです。
表の行でも同じことが起きます。自然検索で来て、別の日に広告から来た人は、トラフィック獲得レポートで両方の行に1人ずつ入ります。合計の行では1人です。行の和が合計より多いのは、この重複のためです。
ユーザー数とセッションは、推定値で出ている
GA4のレポートのアクティブ ユーザー、総ユーザー数、セッションは、1件ずつ数えた値ではなく、HyperLogLog++(HLL++)という方法で出した推定値です。セッションの指標については、公式ヘルプによると、2021年10月からこの方法に変わっています。
推定なので、実際の数と少しずれます。公式ヘルプは高い精度で推定すると説明していますが、具体的な誤差率は示していません。セッション数は、ユーザーとセッションIDの組み合わせの数を推定しています。
推定は、合計の行にも、各行にもかかります。そのため、各行がずれなく1つの流入元に属するセッション数でも、行の和と合計は少し違う値になります。ここは公式の説明から私たちが整理したもので、どの程度ずれるかはデータによって変わります。
正確な数が必要なら、BigQueryに出力したデータで数えます。ただしBigQueryには推定もモデリングもかからないので、レポートとは別の数字として扱います。
しきい値で、行が除かれることがある
しきい値がかかると、一部の行が表示されなくなるので、残った行の和は合計より少なくなります。公式ヘルプでは、ユーザー属性のデータを含むとき、検索語句(Search Console)の情報を含むとき、期間が短くユーザー数が少ないときに、データが除かれることがあると説明されています。
しきい値がかかっているかは、レポートの上部にあるデータ品質のマークで確かめられます。しきい値は自分では外せません。期間を広げると、表示される行が増えることがあります。
行の種類が多いディメンションでは、上限を超えた分が「(other)」という1行にまとめられます。こちらも、行の内訳が合計と合わない原因になります。
探索では、データが間引かれることがある
探索で扱うイベントの数が上限を超えると、一部のデータから全体を推定する「サンプリング」がかかり、レポートの数字と合わなくなります。上限は、標準のプロパティでイベント1,000万件です。
サンプリングがかかったときは、探索の右上のデータ品質のマークに、使ったデータの割合が表示されます。期間を短くすると、サンプリングがかかりにくくなります。探索の使い方は探索の記事にまとめています。
数字を報告するときの決めごと
ここからは私たちの考えです。合わない理由が分かっていても、報告のたびに説明していては手間がかかります。次の3つを決めておくと、合わない数字が出てもあわてずに済みます。
- 月や週の数字は、その期間を指定して出す。日別の数字を足して作らない
- 前の期間と比べるときは、同じ曜日の区切り、同じレポート用識別子で出す
- 行の内訳を足して合計を作らない。合計は合計の行の値を使う
GA4のユーザー数は4つある
GA4のユーザー数には、アクティブ ユーザー、総ユーザー数、新規ユーザー数、リピーター数の4つがあり、レポートで「ユーザー」とだけ書かれているのはアクティブ ユーザーです。先に図で示します。
表にすると、次のとおりです。
| 指標 | 数える人 | 主に出てくる画面 |
|---|---|---|
| アクティブ ユーザー | エンゲージメントのあったセッションがあった人、または first_visit か engagement_time_msec が記録された人 | ほとんどのレポート。「ユーザー」とだけ書かれているのもこれ |
| 総ユーザー数 | イベントが1つでも記録された人 | ユーザー獲得レポート |
| 新規ユーザー数 | 初めて来た(first_visit が記録された)人 | ユーザー獲得、トラフィック獲得 |
| リピーター数 | 以前にもアクセスしたことがあり、期間中にまたセッションを始めた人 | ユーザー獲得 |
公式ヘルプでは、アクティブ ユーザーは、エンゲージメントのあったセッションがあったとき、またはウェブなら first_visit イベントか engagement_time_msec パラメータが記録されたときに数える、と書かれています。ページを開いてすぐ閉じた人でも、初めての訪問ならアクティブ ユーザーに入ります。
総ユーザー数は、ヘルプの指標の一覧では「合計ユーザー数」と書かれています。ユーザー獲得レポートの列名は「総ユーザー数」です。名前は違いますが、同じ指標です。
4つの数字の大小関係
公式ヘルプでは、新規ユーザー数とアクティブ ユーザー数が総ユーザー数を超えることはない、と説明されています。一方で、新規ユーザーが全員アクティブとは限らないので、新規ユーザー数がアクティブ ユーザー数を上回ることはあります。ただし、しきい値などの影響で、この関係が崩れて見えることもあります。
期間中に初めて来て、もう一度来た人は、新規ユーザーにもリピーターにも数えられることがあります。そのため、2つを足しても総ユーザー数とは一致しません。新しいお客様が来ているかは新規ユーザー数で、来た人がまた来ているかはリピーター数で、それぞれ別に見ます。
ユーザー獲得とトラフィック獲得で、流入元の数え方が違う
ユーザー獲得レポートのディメンションは「ユーザーの最初の〜」で、最初に来たときの流入元を数えます(ユーザー スコープ)。トラフィック獲得レポートのディメンションは「セッションの〜」で、訪問ごとの流入元を数えます(セッション スコープ)。同じ「自然検索」でも、2つのレポートで数字が違うのはこのためです。スコープの違いはGA4のスコープの記事にまとめています。
同じ人かどうかの見分け方は、設定で変わる
GA4が「同じ人」と判断する方法は、「管理」の「データの表示」にある「レポート用識別子」で選べます。
| 設定 | 同じ人とみなす方法 |
|---|---|
| 混合型 | User-IDがあればそれを使い、なければ端末のID、それもなければモデリングで推定する |
| 計測データ | User-IDがあればそれを使い、なければ端末のIDを使う |
| デバイスベース | 端末のIDだけを使う |
同じ人がスマホとパソコンで来た場合、デバイスベースでは2人と数えます。User-IDを送っていれば、混合型や計測データでは1人にまとめられます。公式ヘルプによると、この設定はデータの収集や処理には影響せず、いつでも切り替えられます。切り替えるとレポートのユーザー数が変わるので、前の期間と比べるときは同じ設定で見ます。
GA4で週を月曜始まりで見る方法
GA4のディメンション「週」は日曜始まりなので、月曜始まりで見たいときは、期間をカレンダーで月曜から日曜に指定します。
Google for Developers のData APIの説明では、「週」は01〜53の番号で、日曜始まり、1月1日は必ず第01週と定められています。そのため、年の最初と最後の週は、多くの年で7日に足りません。年末年始の週の数字が小さく出るのは、このためです。
月曜始まりの週で数字を見るには、次のどちらかを使います。
- レポートや探索で、期間の右側のカレンダーから、月曜から日曜までを選ぶ
- Data APIで取り出す場合は、月曜始まりの isoWeek(ISO週)を使う
週ごとの数字を並べたいときに、日別の数字を月曜〜日曜で足して作ると、ユーザー数は重複して多くなります。1週ずつ期間を指定して出すか、isoWeek をディメンションにして取り出します。
表示回数・イベント数とユーザー数の違い
表示回数とイベント数は「回数」で、ユーザー数は「人数」なので、同じ人が何度ページを開いても、増えるのは表示回数とイベント数だけです。
| 指標 | 数えるもの |
|---|---|
| 表示回数 | ページやアプリの画面が表示された回数(page_view と screen_view の数)。同じページを開き直した分も数える |
| イベント数 | 記録されたすべてのイベントの回数 |
| ユーザー数 | 重複を除いた人数(推定値) |
| セッション数 | 重複を除いた訪問の数(推定値) |
表示回数は、UAでいう「ページビュー」です。ヘルプの指標の一覧では「ビュー」と書かれています。
イベント数は、page_view、scroll、view_item、add_to_cart など、すべてのイベントを足した数です。そのままでは意味が読み取りにくいので、レポートの表の上にある「すべてのイベント」を押して、見たいイベントに絞ります。
ここからは私たちの考えですが、イベント数と表示回数は回数を数えた値なので、日別の和は期間の数字とほぼ一致します。ユーザー数のように重複を除く必要がないためです。イベント数と総ユーザー数を並べて「1人あたり何回操作したか」を見ると、サイトの使われ方の変化に気づきやすくなります。
Shopifyの数字とは、別の仕組みで数えている
Shopifyのセッションや訪問者の数と、GA4のセッションやユーザー数は、別の仕組みで数えているので一致しません。Shopifyは変更履歴で、2026年9月21日からセッションの計測方法を更新し、人の訪問を中心に数えるようにしたと案内しています。Shopifyのセッション数を、その前後で比べるときは注意が必要です。
ここからは推測を含みますが、GA4のほうが少なく出るときは、次の理由が重なっていることが多いです。
- GA4のタグが読み込まれる前に、ページを閉じた人がいる
- 広告ブロッカーやブラウザの設定で、GA4のタグが動かない人がいる
- 同意バナーで同意しなかった人は、GA4に送られない、または送られ方が変わる
どちらが正しいかを決めるより、GA4の数字はGA4の中で、Shopifyの数字はShopifyの中で、前の期間と比べて使うほうが役に立ちます。購入の件数がShopifyの注文より少ないときは、注文ごとに1件ずつ突き合わせると、どの決済方法や販売チャネルで漏れているかが分かります。手順はShopifyでGA4の購入が計測漏れする原因と埋め方にまとめています。当社のShopifyアプリ「GapFill」は、GA4で漏れた購入データを、サーバーサイドで補完します。既存のタグ設定はそのままで、計測漏れレポートは無料です(当社の製品です)。
ULTROのShopifyアプリGapFill|GA4で漏れた購入データを、サーバーサイドで補完既存のタグ設定はそのまま。計測漏れレポートは無料です。GapFillを見る →参考にした公式情報
- ユーザーに関する指標を理解する(アナリティクス ヘルプ)
- アナリティクスのセッションについて(アナリティクス ヘルプ)
- セッション(アナリティクス ヘルプ)
- Google タグ設定を指定する(アナリティクス ヘルプ)
- レポート用識別子(アナリティクス ヘルプ)
- データのしきい値(アナリティクス ヘルプ)
- データのサンプリングについて(アナリティクス ヘルプ)
- レポート表示内容の比較(アナリティクス ヘルプ)
- レポートで期間の変更と比較を行う(アナリティクス ヘルプ)
- 指標の比較: Google アナリティクスとユニバーサル アナリティクス(アナリティクス ヘルプ)
- アナリティクスのディメンションと指標(アナリティクス ヘルプ)
- Google アナリティクスにおけるユニーク カウントの近似値(Google for Developers)
- API のディメンションと指標(Google for Developers)
- Shopify analytics session measurement improvements(Shopify Changelog)
よくある質問
GA4のセッションとは何ですか?
サイトやアプリを1回利用したまとまりです。ページを開くと session_start というイベントが記録され、その数がセッション数になります。操作のない時間が初期設定で30分を超えると切れます。
GA4のセッションは、何分で切れますか?
初期設定では、操作のない時間が30分を超えると切れます。管理画面の「セッションのタイムアウトを調整する」で、最長7時間55分まで延ばせます。
日付が変わったり、別の広告から戻ってきたりすると、セッションは切れますか?
GA4では切れません。UAでは、0時をまたいだときや新しいキャンペーン パラメータが付いたときにも新しいセッションになりましたが、GA4ではどちらでも同じセッションのまま数えます。
日ごとのユーザー数を足しても、月の数字と合いません。
ユーザー数は重複を除いた人数なので、別の日に来た同じ人は、日ごとの数字では毎日1人ずつ、月の数字では1人になります。さらにHyperLogLog++による推定値なので、足し算どおりにはなりません。月の数字は、期間を1か月にして出します。
表の行の和が、上の合計の行と合いません。
ユーザー数は、同じ人が複数の行に出てきても、合計では1人です。セッションも、合計と各行をそれぞれ推定しています。しきい値で行が除かれたり、行が「(other)」にまとめられたりした場合も、行の和は合計と合いません。
アクティブ ユーザーと総ユーザー数は、何が違いますか?
総ユーザー数は、イベントが1つでも記録された人の数です。アクティブ ユーザーは、エンゲージメントのあったセッションがあった人や、初めて来た人などの数です。レポートで「ユーザー」と書かれているのは、アクティブ ユーザーです。
GA4で、週を月曜始まりで見られますか?
ディメンション「週」は日曜始まりです。月曜始まりで見たいときは、期間をカレンダーで月曜から日曜に指定します。Data APIで取り出すなら、月曜始まりの isoWeek を使えます。
ShopifyのセッションとGA4のセッションが合いません。
数える仕組みが別なので、一致しません。Shopifyの数字はShopifyの中で、GA4の数字はGA4の中で、前の期間と比べて使います。Shopifyは2026年9月21日にセッションの計測方法を更新しているので、その前後の比較にも注意します。
- GA4のセッションは、操作のない時間が30分を超えると切れる(最長7時間55分まで延ばせる)。日付が変わっても、別の広告から戻っても切れない
- ユーザー数とセッションは重複を除いた数で、HyperLogLog++による推定値。日別の和や表の行の和は、期間や表の合計と合わない
- しきい値で行が除かれる、探索でサンプリングがかかる、といった理由でも合計がずれる
- レポートの「ユーザー」はアクティブ ユーザー。総ユーザー数、新規ユーザー数、リピーター数とは別
- ディメンション「週」は日曜始まり。月曜始まりで見るなら、期間を月曜〜日曜で指定する
- 表示回数とイベント数は回数なので、同じ人が繰り返すとそのぶん増える
この記事を書いた人永田 龍史
株式会社ULTRO 代表取締役Shopify Partner。Shopifyストアの構築・保守・広告運用・CRMを一気通貫で担当。個人として運用した広告費は累計40億円超。計測設計から逆算して、利益が伸びる仕組みを作っています。Google 広告の認定資格(検索・ディスプレイ・動画・ショッピング・アプリ・P-MAX・測定)と Google アナリティクス認定資格を保有。
経歴と執筆記事114本を見る → Xでフォローする @Ryushi_ULTRO →GA4の購入、どれだけ計測漏れしていますか?
Shopifyの注文とGA4の購入を照合して、漏れた購入データをサーバーサイドで補完するアプリ「GapFill」を作りました。既存のタグ設定はそのままで、計測漏れレポートは無料です。原因と確かめ方はこちらの記事にまとめています。
自分のストアでは、どうなっているか。
無料診断では、あなたのShopifyの実データを見てサイトの健康状態を確認し、何から直すべきかを改善案とあわせてご提案します。