BIアナリストの雑記ワークダイアリー

20代後半。平日はサラリーマンとして働きながら、週末にビジネス・アナリストとして副業活動してます。お仕事ネタ系、自己啓発系中心ネタを発信しています。

Googleスプレッドシートのアナリティクスアドオンで1万行以上データを取得する方法

スポンサーリンク

f:id:zakkiworkdiary:20170411215254p:plain

グーグルアナリティクスのデータをより深く分析したり集計するのに、スプレッドシートのアナリティクスアドオン機能は便利でよく使ってます。

できる事としては、主に

  • データをテーブルとして取得

  • 正規表現や日付などフィルターして集計

  • 自動で指定した時間に集計してくれるcron機能

と、グーグルアナリティクスのデータ分析には大変便利な機能です。

しかし、その分まだまだ制限も多くあり、なかなか使い勝手に困ることがあります。(そのほとんどが無料のGoogleAnalyticsの制限ですが)

例えば、

  • ある程度のデータ量になると結果が精緻ではなくサンプリング結果となってしまう

  • 指定できるディメンションは最大7個、メジャーは最大10個

  • 出せる行の最大は1万行

などの制限があります。

上記のサンプリング問題と、最大ディメンション・メジャー問題は出力するデータを条件付けなどして小さくしたり、小分けにして出す事で回避できますが、最大1万行の制限は解決するのに結構苦労しました。

その紹介をご紹介します。

スプレッドシートのGoogleAnalyticsアドオンは最大1万行まで出力可能

GoogleスプレッドシートのGoogleAnalyticsアドオン機能の最大出力行数はディフォルトでは1,000行と設定されています。

しかし、下記のように「Max Result」の欄へ10,000と入力すれば最大1万行までの出力が可能です。

f:id:zakkiworkdiary:20170411213443p:plain

しかし、ある程度分析するデータが大きくなってくると1万行でも足りなくなることがあります。

上記の図のように時系列でページの遷移とかをかなり細かく分析しようとすると、ディメンションの組み合わせが多くなるのでかなりのデータ行数となってきます。


インデックスを利用して1万行以上のデータを取得する

アナリティクスのアドオンの1クエリは1万行までしか出力出来ないので、これ以上を出すためには分割して出すしかありません。

そのために、Indexを2つのクエリから前のクエリの次のインデックスへ設定します。

例えば先程の例でいくと、出したいクエリの隣に全く同じクエリを作成し、「Start Index」を1万行目の次、10,001と記入します。

f:id:zakkiworkdiary:20170411213939p:plain

この時ReportNameも同じように「10001」みたいに設定すると便利です。

これで、T10001のシートへは、T10000で取得できなかった1万1行目からのデータが取得することが出来ます。


あとは同じ要領で続けていくだけ

更に2万行以上のデータを取得した場合は、同じ要領で3つめのクエリを20,001行目のインデックスからスタートするように設定すればいいだけです。

f:id:zakkiworkdiary:20170411215905p:plain

最後に全てのシートをユニオンすれば、1万行以上のGAデータを出すことに成功しました。

ただしここまで細かいデータを出そうとするとほとんどサンプリングされていて、あまり役にたたない事もありますが、大まかな流れなどを見るのにいいでしょう。

正直GoogleAnalyticsでページの遷移分析をするのであれば、GA側でカスタムコンテンツグループを作ってしまったほうが楽な場合が多いです。

上記は全てのページの遷移分析をしたい思っている、かなりのマニア向けですね。