APIレポート:完全性、割り当て、データの経過時間

要点

応答受信やスクリプト完了だけでは全行の取得を証明できません。制限や遅延はAPIごとに異なります。

架空の例:観測08:00、利用可能08:10、抽出08:15、表示08:20。観測から20分、抽出から5分 手順図 · 各手順は本文で説明
この記事の内容

応答受信やスクリプト完了だけでは全行の取得を証明できません。制限や遅延はAPIごとに異なります。

抽出結果を確認する

期間、タイムゾーン、フィルタ、項目、ページ分割、メタデータを確認します。GA4 Data APIのrowCountは一つのページだけでなくクエリ結果全体の行数です。実際の全行動の網羅を保証するものではありません。割り当てを守り部分取得を明示します。

四つの時刻を分ける

同日・同一タイムゾーンの架空の例です。観測08:00、利用可能08:10、抽出08:15、表示08:20。抽出から5分でも観測からは20分経過しています。Data Studioなどでも元データの遅延やキャッシュは残ります。

架空の例:異なる四つの時刻
項目時刻
観測08:00
利用可能08:10
抽出08:15
表示08:20

出典と確認

完全性を示す証拠に基づいて抽出を自動化してください。

技術的なエラーなしで生成されたレポートでも、結果ページが欠落したり、異なるフィルタが使用されたりする可能性があります。時間ウィンドウ、スキーマ、ページネーションルールを保持し、合計と重複を確認してください。変更履歴をサイレントに失うことなく、期間のリプレイを準備してください。

  • フィルタ、ディメンション、単位、タイムゾーン、ページネーションをバージョン管理してください。
  • 抽出したサンプルを同じ期間のソースと比較してください。
  • 中断された抽出をリプレイし、損失と重複を確認してください。

一次資料:Google SRE — Data Processing Pipelines. 関連する方法:実践ガイドを読む.

タイムゾーンと遅延イベント

報告期間はイベント時刻と締め規則に依存します。

  • イベント時刻、受信時刻、業務のタイムゾーンを別々に記録します。架空例では23:30 UTCは固定オフセットUTC+02:00で翌日の01:30です。PostgreSQLのタイムゾーン付きタイムスタンプは元のゾーン名を保持しません。
  • 開始を含め、終了を含めない区間を使います。業務ゾーンで境界を決めてからUTCに変換します。夏時間の変更、月の切替、時刻のない日付を試します。現地の一日を常に24時間として扱うことはできません。
  • 許容遅延と集計の締切を決めます。同じ識別子を再処理し、新規イベントと重複を区別します。公開版を残して訂正の影響を記録します。ウォーターマークは到着の見積もりであり、完全性の保証ではありません。

再現できる受け入れ事例

架空の例です。顧客や実際の観測結果を示すデータではありません。

事例の入力を見る
{
    "event_time": "2026-10-08T23:30:00Z",
    "report_zone": "UTC+02:00",
    "local_time": "2026-10-09T01:30:00+02:00"
}

期待される判断

指定の時間帯では10月9日のイベントです。UTCの時点も保持します。

検証手順

  1. 報告の時間帯と基準時点を定めます。
  2. 深夜付近のイベントを再現します。
  3. UTC、現地日付、締切規則を残します。 時刻変更時の曖昧な現地時刻も含め、時点を推測せずオフセットとタイムゾーンを保存します。

PostgreSQL — Date/time types

受信日をイベント日として使えますか?

レポートの定義がそう求める場合に限ります。両方の時刻を保存し、遅着イベントの扱いを説明します。

一次資料:PostgreSQL — Date/time types. 関連する方法:実践ガイドを読む.