Web屋に朗報!Google Analyticsとスプレッドシート&Excelでサイト分析を自動化する方法

    
2013/11/18
    


今回はGoogleアナリティクスと連動して簡単に「見せるための表」を自動で出力できるスプレッドシート&Excelの活用法をご紹介。

マクロもJSも分からない!という方にも安心の“コピペですぐに使える”サンプルソース付きです。

■見出しインデックス

  • 【準備編】ドライブにGoogle Apps Scriptアプリを追加
  • 1.まずは基本のサイト概要解析シートを自動出力
  • 2.キーワード分析レポートを自動出力
  • 3.エクセルでより簡単に前年同月比レポートを自動出力


【準備編】Google Apps Scriptアプリを追加

まずはGoogleアナリティクスと連携するスクリプトを仕込む必要があるので、まずはドライブにそれを可能にするアプリを追加していきましょう。

Googleドライブのダッシュボード上でアプリを追加


左メニュー上から「作成>アプリを追加」と選択していくとアプリの追加画面が現れます。この画面上で「Google Apps Script」と入力して検索すると、お目当てのアプリが出てくるのでひとまず追加しておきます。


1.まずは基本のサイト概要解析シートを自動出力


どのサイトでも応用可能な一般的なアクセス解析データを、そのまま印刷もしくはPDFにして送付出来る形にして出力できるスプレッドシートにしてみます。

新規でスプレッドシートを作成しスクリプトを選択

新規で開いたGoogleスプレッドシートの「ツール>スクリプトギャラリー」を開いて『Google Analytics Data Fetch Functions』を検索。いくつかあるのでお好きなものを選んでインストールしてください。


ただ、このままインストールを行おうとすると普通にエラーになります。メンドクサイですね。
なので以下の手順を実行します。

Googleアナリティクスとスクリプトの連携承認

エラーの原因なんですが、実はデフォルトだとGoogleアナリティクスからの連携承認が無くデータの横渡しができません。なので以下を実行します。(※事前にプロジェクト名を「GA連携」など適当につけておきます)

  • 「ツール>スクリプトエディタ」を選択し、選択した『Google Analytics Data Fetch Functions』の編集画面へ
  • 「リソース>GoogleAPIを使用」からGoogle Analytics APIを有効に
  • Google APIs ConsoleでGoogle Analytics APIを [ON] に設定

画面画面であれやこれや承認画面が出てきますが、あんまり気にせずチェックして進めていきます。

接続に必要な情報を設定

ソースに直接記載するタイプとスプレッドシート内に記載するタイプがありますが、以下を予め確認しておけば大体OKです。

トークン:ID(メールアドレス)+パスワード

=getGAauthenticationToken("email","PassWord")
ビュー(プロファイル)ID
「アナリティクス管理画面>アナリティクス設定>ビュー設定」から確認可能な8桁の数字

スクリプトを実行してレポート自動作成

連携承認と必要情報の設定が終わったら一旦スクリプト編集画面に戻り、実行ボタンをクリックします。


あとはアナリティクスAPIとの連携承認を許可するかどうかの確認画面を経てスクリプトが実行され、元々開いていたスプレッドシート側にレポートが作成されます。

簡単ですね。



2.キーワード分析レポートを自動出力


お次は指定したキーワードからの流入数動向を報告するためのレポートを自動化してみます。

ここからはマクロコードを自分で追加していく必要があるので、ちょっと面倒ですが、一回作ってしまえばあとはラクラクなのでぜひチャレンジしてみてください。

コピペでスクリプトを作成

新規のスプレッドシートを作成し、上述と同じように連携承認を通したら
ツール>スクリプトエディタ」から新規のスクリプト作成画面に移動。以下のソースをコピペして保存します。
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==keywords'   // 取得したいキーワード
  };
   
  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==keywords'   // 取得したいキーワード
ここにはそのまま取得したいキーワードを設定
※取得期間を変更したい場合はgetLastNdays(14)の箇所を変更すればOKです。

貼り付ける際に名前を要求されるので「主要キーワード分析レポート」等分かりやすい名前をつけておいて、保存したら上述と同様に実行ボタンをクリックします。


これで指定したワード経由の流入動向や、流入後の挙動についての分かりやすいレポートがばしっと完成します。

参考:http://taan.hatenablog.com/entry/2013/08/15/183115
   http://hm-solution.jp/web/post1055.html


3.エクセルでより簡単に前年同月比レポートを自動出力

スプレッドシートとの連携は分かったけど、イマイチ使い勝手がよろしくない!連携承認とか面倒くさい!という方のために、使い慣れたエクセルとの連携でものすごく分かりやすいデータを出してくれるツールも存在するのでご紹介。

まずはダウンロード

まずは提供元のサイトから対象となるエクセルファイルをダウンロードしてきます。

参照:Supermetrics Data Grabber

画面上の「Download Trial」からファイルを落としてきます。

アカウント連携


Analyticsのログインボタンを押すとブラウザが立ち上がるので、「Click this link to proceed to Google’s authentication page.」という文字列をクリック(ハッキリ言ってこれがクリックできると分かりにくい)


アカウント承認画面で「承認する」を選択すれば設定完了です。

出力対象を選択してレポートを作成


以下の必要項目を選択したら、「Run to Report」をクリックすればレポートの完成です。

  • SELECT PROFILES:プロファイル(サイト)の選択
    複数選択しての比較OK
  • SELECT REPORT FIELDS:指標設定の選択
    ソート基準になるSPLIT BY(アナリティクスでいう左端の指標)
    セカンダリどころか複数指定できるディメンション
    メトリックスと呼ばれる指標も複数選択可能
  • DATES:デフォルトでは「昨年同期間比」となっているが、様々な期間比較が可能


Googleアナリティクスを既に使っている方ならば、上記の項目を見るだけでもこのツールがいかに素晴らしいかが分かるかと思います。


14日間は無料トライアル、その後は年額350$程度かかってしまう有料ツールなのですが「もっと簡単にレポートを作りたい!」と思ったらぜひ一度お試しください。



(編集/執筆 中村健太)

Find Job! Startupを購読する

職種から求人情報を探す
Webエンジニア・Webプログラマ |  Webデザイナー・HTMLコーダー |  グラフィックザイナー・クリエイター |  Webディレクター・Webプロデューサー |  スマートフォンエンジニア |  ネットワークエンジニア・サーバーエンジニア |  フロントエンドエンジニア
スキルから求人情報を探す
PHP |  Perl |  Ruby |  Python |  Java |  JavaScript |  C言語 |  C++ |  MySQL |  PostgreSQL |  iPhoneアプリ |  Androidアプリ
企業名から求人情報を探す
 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |  A |  B |  C |  D |  E |  F |  G |  H |  I |  J |  K |  L |  M |  N |  O |  P |  Q |  R |  S |  T |  U |  V |  W |  X |  Y |  Z
Copyright (C) 2017 mixi recruitment, Inc. all rights reserved.