Google アナリティクス + Google スプレッドシート で簡単レポート

powered by hm solution

お問い合わせ:0120-290-727
受付時間:10:00~18:00(土日祝は除く)

お問い合わせ

Google アナリティクス + Google スプレッドシート で簡単レポート

Spreadsheet
先日に引き続きGoogle アナリティクス + Google スプレッドシートについてです。
前回はGoogleのチュートリアルをコピペで実行したのですが、それじゃ提出レポートにはならないので、よりレポートっぽくしてみます。
さてさて、どうなることやら。

アナリティクスをスプレッドシートに読み込む準備は前回の記事を参考にしてみてください。
今回は希望するサイトのアナリティクスデータを取得し、特定キーワードのセッション数とページビュー数を日毎に取得してみようかと。

ビューIDの準備

まずは、取得するアナリティクスのデータを指定するためのビューIDを用意する必要があります。
アナリティクスのビューIDとはなんぞや?と思われるかもしれませんが、ちょっと前はプロファイルIDって名前でした。

ビューID

確認方法はアナリティクスへログインして取得したいレポートを表示させましょう。
それから、右上にある「アナリティクス設定」をクリックすると、一番右側の列に「ビュー(プロファイル)」の項があると思うので、その中の「ビュー設定」をクリック!
そうすると、ビューIDの項目が表示されると思うので、そのID番号をコピーしておいてください。
あとで使います。

サンプルコードコピペ

function runDemo() {
  var profileId = ********;           //ビューID
  var tableId = 'ga:' + profileId;
  var startDate = getLastNdays(14);   // 2週間前(14日間)
  var endDate = getLastNdays(0);
  
  var optArgs = {
    'dimensions': 'ga:date',
    'filters': 'ga:keyword==hogehoge'   // 取得したいキーワード
  };
  
  var results = Analytics.Data.Ga.get(
      tableId,                  // Table id (format ga:xxxxxx).
      startDate,                // Start-date (format yyyy-MM-dd).
      endDate,                  // End-date (format yyyy-MM-dd).
      'ga:visits,ga:pageviews', // Comma seperated list of metrics.
      optArgs);

  outputToSpreadsheet(results);
}

//
function getLastNdays(nDaysAgo) {
  var today = new Date();
  var before = new Date();
  before.setDate(today.getDate() - nDaysAgo);
  return Utilities.formatDate(before, 'GMT', 'yyyy-MM-dd');
}

function outputToSpreadsheet(results) {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().insertSheet();
 
  // Print the headers.
  var headerNames = [];
  for (var i = 0, header; header = results.getColumnHeaders()[i]; ++i) {
    headerNames.push(header.getName());
  }
  sheet.getRange(1, 1, 1, headerNames.length)
      .setValues([headerNames]);
 
  // Print the rows of data.
  sheet.getRange(2, 1, results.getRows().length, headerNames.length)
      .setValues(results.getRows());
}

上記のスクリプトをスクリプトエディタを表示させてコピペします。

サンプルコードの修正

var profileId = ********;           //ビューID

「********」の箇所をコピーしたビューIDに変更します。

'filters': 'ga:keyword==hogehoge'   // 取得したいキーワード

「hogehoge」の箇所を取得したいキーワードへ変更します。

var startDate = getLastNdays(14);   // 2週間前(14日間)

取得期間を変更したい場合は上記の数字の箇所、サンプルは14になってますがここを変更してください。

サンプルコードの実行

実行結果

変更後実行したらば、前回同様、承認してねと聞いてくるので承認すると、日付・セッション数・ページビュー数が表示されるはず。。。
うちのサイト「hogehoge」ってキーワードでアクセスあるんだ、、、

うまくいくかな?
今回のサンプルコードはプログラム素人のナイスミドルお手製なのですが、Googleのチュートリアルをちょっと変更するだけで色々取得できるようになるし、日々の業務が効率よくできるようになるんじゃないかな。
チュートリアル恐るべし。。。

便利コード

あ!実行スクリプトで取得しようとした値がちゃんととれとるか確認しようと思った時に便利なのが、下記のふたつです。

Logger.log('hogehoge');

実行したらメニューの「表示」から「ログ」で確認できるタイプ。

Browser.msgBox('hogehoge');

実行したら「スプレッドシート」で確認できるタイプ。
これ便利よ。

もまいらも色々ためしてみればぁ〜
|Д´)ノ~~ アディオス アミーゴ!

powered by hm solution
お問い合わせ
お問い合わせ
gmt
© hm solution, Ltd.