【Google Analytics】Google Spreadsheetで自動集計(レポート作り 1日目)

1日目 >> 2日目

Google Analyticsを利用してサイトの分析をしている企業の方も以外と多いはず。ただ、どんなレポートを作ればいいか分からないという方や、Analyticsのデータをコピーして、Excelに貼りつけなんてやっていると時間がもったいない。とにかく、自動化しましょう。
Analyticsのカスタムレポートという機能をフル活用されている方も多いと思いますが、自分で好きなように、好きな位置に、役立つものだけを配置して、自分で作るからこそ最適なレポートが出来上がると思います。自分自身も、まだ試行錯誤しながら新規に指標を取り入れたり、省いたり、月次集計ページを付け足したりとしていますが、今私が作っているレポートをどんどん公開してしまおうと思います。
まぁ、私が全て勝手に作っているものなので。。
レポートをどういうふうに作ればいいかわからない、または、他の人がどんなものを作っているのか気になるという人は、覗いてみてくださいね。

では、前置きはこの程度にして、始めましょう!

マーケティングレポート作り 1日目
1.表紙を作る
⇒ここは当たり前。どんなレイアウトでもいいです。
社名、「社外秘」、分析期間、分析者など、必要事項をちりばめてしまいましょう。

ちなみに、私は別にデザイナーでもなんでもないので、いたってシンプルです。

どうです。このシンプルさ。
別に隠す必要のない部分まで隠してますけど、とりあえず分析者は今は私だけなので特に書いていなかったりします。

2.2ページ目の作成(PV、セッション等)
ここからが本番です。本格的にPV、セッション等の定量的な数値を取得していきます。


(無理やりデータをけしているのもあって、汚さが増してます。。。)

【下準備】
Google Spreadsheetで自動計算させるための、スクリプトをインストールします。
スプレッドシートを開いたら、「挿入」のメニュー内にある「スクリプト」を選択します。


(画像は英語版になっています。)

表示された画面で「analytics」を検索してください。



この「Google analytics Data Fetch Functions」こそが、自動取得ツールになります。作成者のMikael Thunebergさんのサイトで詳しい使い方も載っています。一応このページを読めば、日本語で作り方がわかるかと思いますよ。

「インストール」を押して、警告画面が出たら「Authorize」を選択してください。


(すみません。キャプチャを撮った時点で、何語か分からない警告画面になってしまいましたw)

【準備】
さて、スクリプトをインストールしたら、魔法の数式が使えるようになります。
利用出来る関数は

・getGAaccountData
・getGAauthenticationToken
・getGAdata

の3つ。
PV、セッション等のデータ取得には、getGAdataだけを利用しますが、その他の関数は準備段階で必要になります。
まずは、getGAdata関数に必要となる数値を取得します。

1つ目はTOKEN。
TOKENは月に1回ほど変わりますので、常に関数を使って最新のTOKENを取得してください。
TOKENの取得方法は、Analyticsに入るためのIDとパスワードが必要です。

数式は

getGAauthenticationToken("ID","Password")

です。


こんな感じです。
B1セルには長ったらしいパスワードが入っていますが、数式にIDとパスワードを入れてあげると、これまた長いTOKENが発行されます。どんだけ長いかは皆さんの目で確かめてみてくださいね。

2つ目に必要なデータとしては、Profile ID。
確認方法は、Google Analyticsのプロファイル一覧画面から、解析したいウェブサイトの一番右「編集」リンクを叩いてください。

そのページの画面上の方に、解析するアドレスが出ており、すぐ下にIDが載っています。


もっと簡単にProfile IDを取得する方法として、作者のページに置いてあるスプレッドシートを利用するという方法があります。(一度自分のアカウントのGoogle Docにコピーする必要があります。)

AnalyticsにログインするためのEmailとPasswordを入れれば、トークンとProfilesを得られます。ちなみに、デフォルトで分析も出来ますので、これを使ってしまうほうが早いのかもしれませんね。

【解析開始】
最初にデータを取得するためのgetGAdataの関数を見てみましょう。

getGAdata(TOKEN,Profile ID, metrics, startDate, endDate, filters, dimensions, segment, sort, includeHeaders, maxRows, startFromRow)

です。
ただし、入力必須なのは
TOKEN、Profile ID、metrics、startDate、endDateです。

では、サイトのPVを取得しましょう!
期間は 2011/5/1 から 2011/5/24まで。

その場合、こんな感じになります。


Profile IDが変わっていますが、ここではどういう風に関数を使うかを理解してください。

ここで入れている数式は

getGAdata(C1,C2,"pageviews",B4+1,B5+1,,,,,)

です。
C1のTOKENと、C2のProfile IDは問題ないでしょう。
次のmetricsはGoogle先生が沢山用意してくれています。これです。ここではmetricsに"pageviews"と記述しましたが本来は"ga:pageviews"となります。
これは、スクリプト側で先頭の「ga:」が欠けていた場合、自動的に補ってくれるからです。
ただし、一気に複数のmetricsを取得することもできるのですが、先頭以外に関してはちゃんと「ga:」を付けなければいけません。

例えば、PVとセッションを両方取得したい場合は
"pageviews,ga:visits" または"ga:pageviews,ga:visits"
となります。
PVはpageviews、セッションはvisitsです。まだ出てきていませんが、ユニークユーザーはvisitorsです。

このあたりは、色々と解析し始めると自然と覚えますし、英語でGogle Analyticsを利用している場合は、書かれている名称そのままなので、利用しやすいと思います。

次に、分析期間について。
なぜ、開始日と終了日にそれぞれ1を足しているのでしょうか?

この部分については不明瞭なのですが、おそらくは時差が関係していると思っています。
早速、検証してみましょう!

試しに先程の数式を以下の数式に書き換えてみてください。

getGAdata(C1,C2,"pageviews",B4+1,B5+1,,"date",,,)



dimensionsの欄に「date」または「ga:date」を入れてみただけです。
そうすると、日付別にPVの数字が現れます。

データの開始日が5月1日になっているのがわかると思います。
あと、Analytics側とも比較してみましょう。



あっていますね。
日本でこのスクリプトを利用する場合は、開始期間と終了期間に、それぞれ1を足す必要があることがわかります。

さて。これがわかれば、あとはレポート作りです。
まず、2ページ目はサイトのPV、セッション、直帰率を出していきましょう。
(参考: Google先生のページ)

PV : getGAdata(TOKEN,Profile ID,"ga:pageviews",startDate+1,endDate+1,,,,,)
セッション : getGAdata(TOKEN,Profile ID,"ga:visits",startDate+1,endDate+1,,,,,)
直帰率 : getGAdata(TOKEN,Profile ID,"ga:visitBounceRate",startDate+1,endDate+1,,,,,)

です。

今まで直帰率は、直接求める指標がなかったので、直帰者数を流入セッション数で割っていたのですが、問い合わせが沢山いったのでしょうか?(苦笑)
サイト分析者なら、求め方も知っていなければ分析を間違えます。
一旦、直帰者数を全体のセッション数で割って求めて確かめてみましょう。

これで、レポートに必要なデータの求め方はわかりました。
では、レポート作りです。

エクセルで少なからずレポートを書かれている方は、結構実感されているところもあると思いますが、自分は、ます目を細かくして、必要なセルは結合して使います。



2ページ目はだいたいこんなレイアウトで作成しています。



ちょうど今作成している会社は複数のウェブサイトを運営しているので、サイトごとに数値を出すイメージです。
一つのサイトの場合は、グラフを充実させるのが良いと思います。

対象期間のセッション数等の求め方はわかったと思います。
30日間の平均は、単純に対象期間を30日間にして、1日あたりの平均を求めたり、対象期間日数分の数値を出したりすれば良いです。
この30日というのも、どう取るかを環が魔性。
例えば、分析期間が5/1から5/6だった場合、その期間を含まず4/1から4/30の30日間をとれば良いのか。という部分です。

前年の数値については、対象期間から365日前を引いたり、直接日付を入れれば終了です。

最後に、Spreadsheetでこのスクリプトを使って自動集計する時の、"運用上の"注意点です。
このスクリプトはGoogle側の制限で一度に10個までしか受け付けられません。そのため、レポートは1ページずつスプレッドシートを分けることを推奨します。作者ページに回避方法が一応載っていますが、私自身、かなり多くの計算をさせているため、最終的に1ページずつ分けて作成することにしました。
PDFは1ページごとに作成して、あとでマージしています。
では、表紙と2ページ目の作成はこれで終了です。質問はコメントいただければ、分かる範囲で3ページ目の作成時の最初にお答えしようかと思います。

3ページ目公開!

【今回作成しているレポートのテンプレート】
表紙
2ページ目
※Google Spreadsheetではグラフや画像を縮小すると印刷時、非常に荒くなります。あくまで社内用で用いるのが良いと思います。

<参考> Google Spreadsheetを利用するには、必ず Importrange関数を覚えましょう。

ImportRange(spreadsheet_key, [sheet!]range)
例) importrange("[key]","Sheet1!E3")
⇒ ここでいう[key]とはアドレスバーに出ている「・・・&key=●●●●&hl・・・」の●の部分です。


見えないと思いますが、黒い部分です。

分析期間やTOKEN等は、1箇所にまとめて、あとはImportrange関数で引っ張ればイイと思います。
ちなみにrangeという名のとおり、1セルだけじゃなくて、複数セルをまとめて引っ張ることが出来ます。

1日目 >> 2日目

コメント

このブログの人気の投稿

ウェブサイトユーザビリティ評価のためのSUS(System Usability Scale)

離脱改善指標に関するメモ

Google Tag Manager(GTM)を利用してAjaxのページャーからのページ遷移を仮想ページビューとして計測する