Google Analytics Reporting API (v4 API) でのフィルタ指定

Core Reporting API (v3 API) から Google Analytics Reporting API (v4 API) へ乗り換えようとしていて、 filter 適用する際のパラメータで詰まったのでメモ

ユースケース:指定ディレクトリへのオーガニック流入セッション数を取る

ga:medium のフィルターと ga:pagePath AND 条件の実装が必要となる

Request Body パラメータ

requestBody: {
    reportRequests: [
        {
            viewId: viewId,
            dateRanges: [
                {
                    startDate: '2019-11-01',
                    endDate: '2019-11-30'
                }
            ],
            dimensions: [
                {
                    name: 'ga:date'
                }
            ],
            metrics: [
                {
                    expression: 'ga:sessions'
                }
            ],
            dimensionFilterClauses: [
                {
                    operator: "AND",
                    filters: [
                        {
                            dimensionName: 'ga:medium',
                            operator: 'EXACT',
                            expressions: [
                                "organic"
                            ]
                        },
                        {
                            dimensionName: 'ga:pagePath',
                            operator: 'REGEXP',
                            expressions: [
                                "/dir1/"
                            ]
                        }
                    ]
                }
            ]
        }
    ]
}

v4 API は dimension に対するフィルタと metrics に対するフィルターでそれぞれ分けて書くようになっている

dimensionFilter のリファレンスはコチラ

今回使用した ga:medium, ga:pagePath はどちらも dimension であるため、 dimensionFilterClauses プロパティに条件設定している

使いたい ga:xxxx が dimension なのか metrics なのか判別つかない場合は、以下のページで検索しよう

https://ga-dev-tools.appspot.com/dimensions-metrics-explorer/

参考

改めて考えるCore Reporting V4 APIのメリット