やりたいことの整理
- Google SpreadsheetにGoogle Analyticsのデータを自動的に取得する
- Google Spreadsheet内、ないしGoogle Apps Scriptでグラフを描画しメールでレポートを送る
調べたこと
Google Analytics Add-onを使う方法
Google Analytics Add-on(以下、Addon)はSpreadsheetのAdd-onタブから簡単にインストールが可能です。
UIを使って手軽に必要な情報を取得できて大変便利ですが、GASの便利機能であるTriggerに対応していないため、
今回の目的には合致しません....
自動化しなてくても大丈夫、という用途であればこちらが解説が詳しいです。
Google Drive スプレッドシートアドオン「Google Analytics」を試してみた
Magic Scriptを利用する方法
いろいろ調べていて無理なのかなと思いそうなタイミングで、こちらを発見しました。
Add-OnがGoogleから公式で提供されるまでデファクトスタンダードとして利用されていたMagic Scriptを利用する方法です。
調べる中で存在はしっていたのですが以前の記事を読むと、SpreadsheetのTools>Script Galleryからインストールする方法が説明されていてこちらが現在利用できないため取得が無理かとおもっていたのですが、そのソース自体を公開していらっしゃる方がおり、こちらを直接インストールすることでこちらが利用可能になるようです。
こちらをコピーして頂き、ScriptEditorの画面から貼り付けて頂ければ大丈夫です。
具体的な手順ですが、
- 新規のスプレッドシートを作成する こちらのURLから新規ファイルを作成可能です
- 「Tools」を選択しScript Editorを開く
- File > New > Script Filesを選択し、適当にMagic.gsを作成する
Magic Scriptの内容をはりつける
上部メニューから「Resources」>「Advanced Google Services」を選択
「Google Analyics」を有効にする
Google Developer Consoleのリンクをクリックしこちらも有効化する
- 一旦プロジェクトを保存する(Ctrl+s or ⌘ + s)
Magic Scriptの基本的な使いかた
1. シートの再読み込み
まずは作成したスプレッドシートをリロードします。こうすることでMagic.gsの中にonOpenイベントが発生し、シート上部のメニューに
Google Analyticsというメニューが追加されます。
2. GAアカウント、プロパティIDの確認
Google Analyticsメニューの中から「Find Your Profile ID / ids Parameter」というメニューを選択すると、
権限のあるGAアカウント(サイト)や紐付いているプロパティが確認できます。
こちらで、今回のシートで使用したいサイト、プロパティについて
- Ids
という項目をメモしておいてください。
3. Coreレポートの作成
同じGAメニュー内から、「Create Core Report」の作成を選択してください。
これにより、「gaconfig」というシートが追加され以下のように項目が記入されるかと思います。
こちらのidsの欄に先ほどメモしておいたidを記入してください。
4. 取得データの設定
取得期間: start-date,end-date,last-n-days
一旦テスト用に、last-n-daysに90とかを記入しておきましょう。他は空欄で結構です。取得数値: metrics
こちらのレファレンスを参照しましょう。
今回は一旦「ga:visits」としておきましょう。分類軸: dimensions
metricsを分類する軸、を指定します。こちらも先ほどのレファレンスから確認可能です。
今回はためしに「ga:date,ga:visitorType」としておきましょう。日付ごと、訪問者の分類(新規/既存)で分類してみます。sort
filters
segment
start-index
max-results
sheet-name
この当たりは詳しくはドキュメントを確認してみてください。
5. データの取得
Analyticsメニューから「Get Data」を押すと、query1に指定した名称でシートが追加され、
データが格納されます。
Magic Scriptの自動実行
1.getData関数をトリガーに設定する方法
「Get Data」を毎時自動的に実行するだけであれば、こんな感じで設定しておくだけで実行自体はされる。
2.
書いてる途中....