Closed3

Analytics Reporting APIでdateRangesを複数指定するとなぜか数値がずれる

catnosecatnose

Analytics Reporting APIではdateRangesに複数の期間(最大2つ)を指定してリクエストができる。

https://developers.google.com/analytics/devguides/reporting/core/v4/rest/v4/reports/batchGet#reportrequest

リクエストの期間。リクエストには、最大 2 つの期間を指定できます。レスポンスには、リクエストの各期間のディメンションの組み合わせごとに指標値のセットが含まれます。そのため、期間が 2 つある場合は、2 セットの指標値が存在します(1 つは、最初の期間の指標値、もう 1 つは 2 番目の期間の指標値です。

しかし、dateRangesに2つ期間をセットすると返ってくるデータがなぜか異なっている。

例えば全期間のPVを取得するとして

date_ranges: [
  {
    startDate: "2019-09-01",
    end_date: "today"
  }
]

のように書くと、Analyticsのwebのダッシュボードの値とだいたい一致する。

しかし、以下のようにもう1つ取得期間を増やすと、微妙に異なる値が返ってくる。この数字はどの部分を表しているんだ?という感じ。

date_ranges: [
  {
    startDate: "2020-09-01",
    end_date: "today"
  },
  {
    startDate: "2DaysAgo",
    end_date: "today"
  }
]

ややこしいのは「微妙に異なる」という点。気づかないうちに、ずれた値を使ってしまっているケースが実は結構多いのでは…?

catnosecatnose

対処法

何やってもずれたので、期間はひとつだけ指定することに…。

catnosecatnose

ライブラリを使わずに取得した場合も同じ問題が発生したので、ライブラリ依存ではなさそう。

このスクラップは2020/12/26にクローズされました