スプレッドシートに書き写し、自分たちで利用しやすいように加工して使うケースも少なくないと思います。Analyticsを開いて手動で書き写すのはとても面倒でコストがかかりますね。APIと呼ばれるAPIが公開されていて、それを使えばデータを取得することが出来ます。Scriptを使うことでJavascriptの実装と同じ用にプログラムを記述することが出来ます。APIを叩いてGoogleスプレッドシートに自動で日々の検索流入のデータを記録する方法を紹介します。今回もサンプルシートを用意してますので、こちらをコピーして使っていただいて結構です。APIが使えるようになる必要があります。下記に従って実行していってください。APIをONにします。APIを有効にするサンプルシートをコピーした人はこの作業を忘れずに実行してください。実行しないと使えないです。APIが使えるようになりました。APIからデータを取得するコードはこちらです。Analytics.Data.Ga.get(ga_view_id,start_date,end_date,metrics,options).getRows();パラメータについて少し解説します。各パラメータはQueryExprolerを使って確認することが出来ます。Analyticsのどのビューからデータを取得するかです。QueryExprolerを使ってIDを取得してください。私の場合ですとidsにかかれている「ga:123456」がview_idになります。サンプルシートを実行する場合GASettingタブのB3セルに入力してください。start_date、end_date開始日と終了日です。metrics取得したいデータを指定します。Googleアナリティクスで普段利用している指標(セッションやページビュー数など)を対応するコマンド分に入れ替えて、このセルに指定します。”,”カンマで区切って複数入れられます(最大128文字)web担より引用サンプルではga:sessions(セッション時間)、ga:avgTimeOnPage(平均滞在時間)、ga:bounceRate(直帰率)を指定してます。指定した順番で配列に格納されます。optionsオプションです。セグメントやサンプリングレベル、並び替え方法などの条件を追加出来ます。以下のように指定します。サンプリングレベルの指定です。「DEFAULT」、「FASTER」、「HIGHER_PRECISION」の3つの値があります。HIGHER_PRECISIONを指定すると精度を優先できます。"HIGHER_PRECISION";セグメントの指定です。-5は検索流入のセグメントです。独自のセグメントを指定することも可能です。Scriptの使い方になります。細かい説明は割愛させていただきます。Analytics.Data.Ga.get(ga_view_id,start_date,end_date,metrics,options).getRows();ga_dataにはmetricsで指定した順番でデータが格納されています。ga_data[0].length);データを記録する範囲を指定します。position=3,raw=4,ga_data.length=1,ga_data[0].length=3の場合、D3:F3が指定されている状態になります。range.setValues(ga_data);指定した範囲にデータを書き込みます。AnalyticsのAPIをたたいてデータを取得する関数が実装できたので、あとは指定した時間に定期的に実行出来るように設定します。スクリプトエディタの時計ボタンをクリックします。「トリガーが追加されていません。今すぐ追加するにはここをクリックしてください」をクリックします定期的に実行したい処理を選択します。サンプルでは検索流入を取ってくる「getData」の処理を定期実行させたいと思います。図のように指定することで毎日午前8-9時の間に検索流入のデータが自動的に更新されます。私のサイトは検索流入が低すぎて目も当てられないですね。Analyticsのデータを自動的にGoogleスプレッドシートにレポーティング仕組みが完成しました。metricsやsegmentを工夫すると検索ワードを取得できるようになったり、ランディングページを取得出来るようになります。Androidアプリの新規インストール数取得もできます。別途記事で紹介します。基本的にはサンプルシートをコピーして実際に使ってもらうのが早いと思いますので、ぜひご活用ください。