GoogleAnalyticsAPI(スプレッドシートのGoogleAnalyticsアドオン)のフィルター機能について紹介します。
前々回のGoogleAnalyticsのデータをスプレッドシートへ自動的に取得する方法と
前回のGoogle Analytics APIの指標とディメンション
の続きとなります。
ディメンションと指標について紹介しましたが、集計軸を自由自在に切り替えて取りたい指標を取得できるようになると、不要なデータのみの抽出やノイズ除去の必要性が出てきます。
GoogleAnalyticsAPIではフィルタについても十分にサポートされているため活用しない手はないです。特にディメンションフィルターの正規表現は強力なのでやりたいことは大概は実現可能だと思います。
はじめに
処理の順番
GoogleAnalyticsAPIではディメンションと指標の両方を利用した抽出フィルタリング指定が可能です。
ここで肝心なのは、ディメンションと指標のフィルタリングでは処理の順番が異なるため注意が必要です。
- ディメンション
- 集計前にデータがフィルタリングされ、対象のデータのみ集計処理が行われます。
- 指標
- 集計後にフィルタリングされ、抽出対象のレコードだけが表示されます。
URLエンコードについて
スプレッドシートのGoogleAnalyticsアドオンでは必要はないのですが、WEBAPIを直接叩くときにはフィルタリング記号をURLエンコーディングする必要があります。
以下のようにAPIのパラメータ指定の部分"filter="でイコール記号を使っているため、その値である条件文では記号を使うことはできません。URLエンコードすることを心がけて下さい。
GoogleAnalyticsアドオンではアドオンの内部にてURLエンコーディングしてくれているんですね。
filter=ga:region%3D%3DTokyo
ディメンションによるフィルタリング
説明 | 演算子 | URLエンコ | 例 |
---|---|---|---|
完全に一致する | == | %3D%3D | 都道府県がTokyoであるものだけ集計 ga:region==Tokyo |
一部で一致する | =@ | %3D@ | 都道府県にFukuを含むものを集計 ga:region=@Fuku |
正規表現で一致する | =~ | %3D~ | 都道府県が南関東地方のものを集計 ga:region=~(Tokyo|Kanagawa|Chiba) |
完全に一致しない | != | !%3D | 都道府県がTokyo以外のものを集計 ga:region!=Tokyo |
一部で一致しない | !@ | !@ | 都道府県にFukuを含まないものを集計 ga:region!@Fuku |
正規表現で一致しない | !~ | !~ | 都道府県が南関東地方ではないものを集計 ga:region!~(Tokyo|Kanagawa|Chiba) |
指標によるフィルタリング
説明 | 演算子 | URLエンコ | 例 |
---|---|---|---|
次と等しい | == | %3D%3D | ユーザー数が10人ピッタリの結果のみをフィルタ ga:users==10 |
以上 | >= | %3E%3D | ユーザー数が10人以上である結果のみをフィルタ ga:users>=10 |
上回る | > | %3E | ユーザー数が10人を上回る結果のみをフィルタ ga:users>10 |
以下 | <= | %3C%3D | ユーザー数が10人以下である結果のみをフィルタ ga:users<=10 |
下回る | < | %3C | ユーザー数が10人を下回る結果のみをフィルタ ga:users<10 |
等しくない | != | !%3D | ユーザー数が10人ではない結果のみをフィルタga:users!=10 |
組み合わせ
フィルタリングは OR と AND を利用して組み合わせることが出来ます。
ここではディメンション/指標によるフィルタリングの種類は問いません。
- AND
- AND は ";"セミコロンを利用して指定します。
- APIを利用する際はURLエンコード"%3B"が必要です。
- 例
- ga:region==Tokyo;ga:users==10
- 東京からのアクセスがユーザー数が10人以上
- OR
- OR は ","カンマを利用して指定します。
- APIを利用する際はURLエンコード%2Cが必要です
- AND式よりOR式のほうが優先されます
- 例
- ga:region==Tokyo,ga:users==10
- 東京からのアクセスかつユーザー数が10人以上
最後に
GoogleAnalyticsAPIのフィルターについて紹介しました。
冒頭で触れた通り、ディメンションの正規表現フィルタが相当に強力です。これとAND条件OR条件を使いこなせれば分析の幅は相当に広がるのではないでしょうか?ぜひ使ってみて下さい。
GoogleAnalyticsAPIの場合はURLエンコードが結構な曲者となります。使い始めの頃は結構苦戦しました。そのためURLエンコードについてはしつこいぐらいに記載しておきます。もしこれが参考になれば幸いです。
コメント