Googleスプレッドシートのアナリティクスアドオンで1万行以上データを取得する方法
グーグルアナリティクスのデータをより深く分析したり集計するのに、スプレッドシートのアナリティクスアドオン機能は便利でよく使ってます。
できる事としては、主に
データをテーブルとして取得
正規表現や日付などフィルターして集計
自動で指定した時間に集計してくれるcron機能
と、グーグルアナリティクスのデータ分析には大変便利な機能です。
しかし、その分まだまだ制限も多くあり、なかなか使い勝手に困ることがあります。(そのほとんどが無料のGoogleAnalyticsの制限ですが)
例えば、
ある程度のデータ量になると結果が精緻ではなくサンプリング結果となってしまう
指定できるディメンションは最大7個、メジャーは最大10個
出せる行の最大は1万行
などの制限があります。
上記のサンプリング問題と、最大ディメンション・メジャー問題は出力するデータを条件付けなどして小さくしたり、小分けにして出す事で回避できますが、最大1万行の制限は解決するのに結構苦労しました。
その紹介をご紹介します。
スプレッドシートのGoogleAnalyticsアドオンは最大1万行まで出力可能
GoogleスプレッドシートのGoogleAnalyticsアドオン機能の最大出力行数はディフォルトでは1,000行と設定されています。
しかし、下記のように「Max Result」の欄へ10,000と入力すれば最大1万行までの出力が可能です。
しかし、ある程度分析するデータが大きくなってくると1万行でも足りなくなることがあります。
上記の図のように時系列でページの遷移とかをかなり細かく分析しようとすると、ディメンションの組み合わせが多くなるのでかなりのデータ行数となってきます。
インデックスを利用して1万行以上のデータを取得する
アナリティクスのアドオンの1クエリは1万行までしか出力出来ないので、これ以上を出すためには分割して出すしかありません。
そのために、Indexを2つのクエリから前のクエリの次のインデックスへ設定します。
例えば先程の例でいくと、出したいクエリの隣に全く同じクエリを作成し、「Start Index」を1万行目の次、10,001と記入します。
この時ReportNameも同じように「10001」みたいに設定すると便利です。
これで、T10001のシートへは、T10000で取得できなかった1万1行目からのデータが取得することが出来ます。
あとは同じ要領で続けていくだけ
更に2万行以上のデータを取得した場合は、同じ要領で3つめのクエリを20,001行目のインデックスからスタートするように設定すればいいだけです。
最後に全てのシートをユニオンすれば、1万行以上のGAデータを出すことに成功しました。
ただしここまで細かいデータを出そうとするとほとんどサンプリングされていて、あまり役にたたない事もありますが、大まかな流れなどを見るのにいいでしょう。
正直GoogleAnalyticsでページの遷移分析をするのであれば、GA側でカスタムコンテンツグループを作ってしまったほうが楽な場合が多いです。
上記は全てのページの遷移分析をしたい思っている、かなりのマニア向けですね。