Consoleは集計が遅く、2,3日遅れてレポートが出てきます。Analyticsから取得する必要があります。スプレッドシートに手作業で書き写している人が周りにいて、とても非効率だなと思ったのでその業務を自動化できる仕組みを作りました。基本的な中身はGoogleAnalyticsのAPIとGoogleAppsScriptでGoogleAnalyticsのレポートを自動化する方法で紹介したものの応用になります。今回もサンプルシートを用意しましたので、コピーしてご自由にお使いください。ビューをフィルタリングしていない人を想定して作ります。Analyticsはビューをフィルタリングしていないとスパムからのアクセスが混ざって正確なデータが出せません。Androidからのアクセスのみをフィルタリングできるセグメントを作成します。Androidからのアクセスのみをフィルタリングするセグメントの作成+セグメントをクリックします。オペレーティングシステムに「Android」と入力します。右のグラフが少し減ったと思います。約11%はスパムからのアクセスであることがわかります。Androidのみと名前を入れて保存を押します。これでAndroidユーザーのみにフィルタリング出来ました。作成したセグメントのIDを調べる次に、プログラムに使用するセグメントのIDを調べます。QueryExporterにアクセスします。segmentで先程作ったAndroidのみを入力します。候補からAndroidのみを選択し、入力欄に表示されたIDをメモします。私の場合は「gaid::UU_0gsw7Tm6o2cH1Nj-ENQ」でした。このIDは後ほど使います。Scriptに使うパラメータを指定するサンプルシートのGASettingタブにあるセグメントIDの下に先程メモしたIDを入力します。以上で設定は終了です。新規ユーザーを取得出来るプログラムの解説GoogleAnalyticsのAPIとGoogleAppsScriptでGoogleAnalyticsのレポートを自動化する方法で、metricsは取得したい項目を記載すると書きました。今回は「新規ユーザー数」を取得したいので、metricsには”ga:newUsers”を入力します。segment;}続いて、optionにsegmentを設定出来るようにします。毎回segmentを取得するのは良くないので、引数で渡せるようにしてあります。GASettingに設定したsegmentは以下の用にして事前に取得しておきます。setting.getRange('B5').getValue();これでAndroidのみの新規ユーザーを取得できるようになりました。AnalyticsのAPIをたたいてデータを取得する関数が実装できたので、あとは指定した時間に定期的に実行出来るように設定します。スクリプトエディタの時計ボタンをクリックします。「トリガーが追加されていません。今すぐ追加するにはここをクリックしてください」をクリックします定期的に実行したい処理を選択します。サンプルでは検索流入を取ってくる「getData」の処理を定期実行させたいと思います。図のように指定することで毎日午前8-9時の間に検索流入のデータが自動的に更新されます。Consoleとくらべて若干データの揺れがあります。Analyticsの場合は起動してからのカウントになるので、おそらくインストール日と起動日が異なる場合ズレると思います。グラフとかいれたらなんかそれっぽくなりますね。基本的にはサンプルシートをコピーして実際に使ってもらうのが早いと思いますので、ぜひご活用ください。スプレッドシートに書き写し、自分たちで利用しやすいように加工して使うケースも少なくないと思います。