Google SpreadsheetのAddon「Google Analytics」は大量データでも動いて素晴らしい

既に色んな方が利用されていますが、Google SpreadsheetのAddon機能にある「Google Analytics」 ですが、大量データでも普通に動いて凄いですね。


Google公式ということもあって、最近あったAnalytics APIのMetrics系の名称変更も、変更当日からAddon側も新しくなっていました。
ただ一点心配なのは、Reportのレイアウト変更です。レポート設定を変更することでレポートレイアウトが変更されることはありますが、Google起因で変更されないかが個人的に心配だったりします・・・

「アドオン」メニューから「Google Analytics」を探してみてください。


「+ FREE」でインストールしてください。


今まではGoogle Apps側で書いていたのですが、大量データの場合データが全部取得できずタイムアウトエラーになることもしばしば。
少ないリクエストなら全然問題なかったのですが、今回マーケティング系の社内向けレポートのデザイン変更を期にアドオンへ変更。

基本パターン

早速一つレポートを作ってみます。
Spreadsheetの「アドオン」メニューからレポートを作成します。

「レポート名」 : シート名にもなります。

「アカウントインフォメーション」は、Analytics画面のこの部分になります。
※ちょっと小さい画面でゴメンナサイ。



ちなみに、今回の内容とは異なりますが、URLにアカウント番号やプロパティ番号、ビュー番号が書かれています。

Analyticsを見た時のURLですが
visitors-overview/a999999w99999999p99999999/

a : アカウントID
w : ウェブプロパティID(web property)
p : ビューID(Profile)

です。

「Metrics」、「Dimensions」 : こちらから取得したい指標を探す
このMetricsとかDimensionsあたりが、取っ付きにくい部分だとは思っています。

例えば・・・セッション数のデータを特定期間で日ごとに見たい場合、
Metrics -> ga:sessions
Dimension -> ga:date
となります。

例えば・・・ブラウザごとのセッション数を見たい場合、
Metrics -> ga:sessions
Dimension -> ga:browser

となります。

Metricsが実際の計測数値、指標です。Dimensionは切り口ですね。
レポート設定が終わったら、また「アドオン」からレポートを作成することになります。
例えばレポート名で「Rollup」を作っておくと、新規シートに「Rollup」が追加されます。



※レポートは必ずアドオンから追加しないとダメのようです。勝手に追加をしてもレポート作成で失敗します。

応用パターン

レポートを一つ作成してみると分かると思いますが、もっと色んな値を指定できます。指定できる値と入力必須項目は以下の通りです。

Name Required
Report Name no
Type no
View (Profile) ID / ids yes
Start Date yes
End Date yes
Last N Days no
Metrics yes
Dimensions no
Sort no
Filters no
Segment no
Sampling Level no
Start Index no
Max Results no
Spreadsheet URL no

まだちゃんと利用したことのないものもありますが、「Sampling Level」と「Spreadsheet URL」以外は昔から使っていました。

■Report Name

Addonで設定作成時に入力
シートの名前にもなります。動きとしてはレポート名称がシート名として存在しない場合はシートが新規に作成され、存在している場合はそのシートにレポートが出力されます。
逆に言うと、レポート名を修正したら、それに対応するシート名も一緒に修正してあげれば無駄なシートが増えることもなく、そのシートにちゃんとレポートが出力されます。

 

■Type

※デフォルト「core」で出力
値は「core」か「mcf」が入ります。基本的には「core」で問題ありませんが、マルチチャネルファネル系のAPIを利用する場合は「mcf」を指定して、mcf専用のAPIを利用する必要があります。

例えば・・・アシストコンバージョン数をソースごとに出力する場合は
Metrics -> mcf:assistedConversions
Dimension -> mcf:source
を指定します。

View (Profile) ID / ids

※Addonで設定作成時にプルダウンで入力


Start Date / End Date / Last N Days

※設定を作成すると自動的にLast N Days欄に「7」が入ります。これは前日を含めて、その前7日間を示します。
動きとしては、「Last N Days」に数値が入っていた場合そちらが優先され、入っていなかった時のみ「Start Date」と「End Date」を見るようです。

「Start Date」と「End Date」は「yyyy-mm-dd」の形式で入力するか、「today」「yesterday」、「7daysAgo」のような相対的な表記で入れます。

当日1日の期間内にタイムセールを行ったりと、機動的なマーケティングを行うのであれば「today」を入力してDimensionで「ga:hour」を入れて時間ごとのアクセス数を見るのもイイかもしれません。

僕の場合はいつも「yyyy-mm-dd」の形式で入れたりしているので、たとえば数式で

=text(today()-2,"yyyy-mm-dd")

と数式を埋め込んで動的に動かしていたりします。

■Metrics

Addonで設定作成時に入力
取得したい数値指標を設定します。セッション数(ga:sessions)とか直帰数(ga:bounces)とか。複数の指標を一気に取得したい場合はカンマ区切りかセル内で改行をして指定します。Typeでcoreを選んでいる場合とmcfを選択している場合で入力可能な指標が異なるので注意!


レポートが増えるとデータの取得に時間がかかるので、できるだけ一度に全て取得するようにしましょう。
上の例は「ユーザー数」「セッション数」「平均サイト滞在時間」「ページビュー数」の例です。

Tips
平均サイト滞在時間など、一部「秒」で返ってくる値があります。それを時刻へ変換するには出力された値を以下の様な計算式で変換してみてください。

=text(time(0,0,[秒数]),"hh:mm:ss")

■Dimensions

Addonで設定作成時に入力可能
取得したい切り口を設定します。ブラウザー(ga:browser)とかブラウザーバージョン(ga:browserVersion)とか。複数の指標を一気に取得したい場合はカンマ区切りかセル内で改行をして指定します。Typeでcoreを選んでいる場合とmcfを選択している場合で入力可能な指標が異なるので注意!


例えば、上の例は「ユーザー数」「セッション数」「平均サイト滞在時間」「ページビュー数」を日次(ga:date)で出力するという設定です。
「Last N Days」で「7」と入力されていた場合、昨日までの7日間、日次で各項目の数値が出力されます。

■Sort

出力されたデータの並び替え(昇順・降順)を指定します。例えば日付順であれば「ga:date」、セッションの昇順であれば「ga:sessions」ですが、逆の降順は頭に「-」をつけて「-ga:sessions」となります。

また、ソートする指標を複数指定することもでき、カンマ区切りかセル内で改行をして指定します。

■Filters

MetricsやDimensionsに対してフィルタをかけることができます。僕はいつもDimension側に正規表現でフィルタをかけてしまうことが多いのですが、例えばランディングページURLが「/index.html」で終わっているページを指定する場合はこんな感じです。

ga:landingPagePath=~^/index\.html$

MetricsとDimensionでかけかたが変わりますので、以下を参考にしてみてください。

Metricsのフィルタ
Operator Description
== 等しい
!= 等しくない
> より大きい
< より小さい
>= 以上
<= 以下

Dimensionのフィルタ
Operator Description
== 等しい
!= 等しくない
=@ 含む
!@ 含まない
=~ 正規表現一致
!~ 正規表現に一致しない

■Segment

アドバンスセグメントや、ダイナミックセグメントを指定しますが、これは非常に強力な機能である反面、かなり難しい部分でもあります。
まずは簡単なアドバンスセグメント(Built-in系)指定です。

gaid::-1All Sessions
gaid::-2New Users
gaid::-3Returning Users
gaid::-4Paid Search Traffic
gaid::-5Non-Paid Search Traffic
gaid::-6Search Traffic
gaid::-7Direct Traffic
gaid::-8Referral Traffic
gaid::-9Sessions with Conversions
gaid::-10Sessions with Transactions
gaid::-11Mobile and Tablet Traffic
gaid::-12Non-bounce Sessions
gaid::-26Tablet Traffic
gaid::-2Bounced Sessions
gaid::-28Mobile Traffic
gaid::-29Tablet and Desktop Traffic
gaid::-100Single Session Users
gaid::-101Multi Session Users
gaid::-102Converters
gaid::-103Non-Converters
gaid::-104Made a Purchase
gaid::-105Performed Site Search
※昔は自分で作ったカスタムセグメントも指定できたのですが、今はもしかすると無理かもしれません。まだ未確認です。

また、このSegment欄にはダイナミックセグメントを指定することもできます。
ある条件を満たすユーザーを指定する場合は「users::」で始まります。またある条件を満たすセッションを指定する場合は「sessins::」で始まりますが、ここで条件の設定方法を説明しますが、ここは1ページさいてちゃんと説明しないといけないほど、かなり複雑です。

★conditionについて(condition::)
例えば、最低でも一回のアクセス(セッション)がChromeブラウザからアクセスをしているユーザーのみを指定する場合は

users::condition::ga:browser==Chrome

と書きます。
Chromeブラウザを利用しているセッション数を知りたい場合は

sessions::condition::ga:browser==Chrome

と書きます。
次に、例えば少なくとも1回でもChromeブラウザからアクセスしてきているユーザーでかつ、地域が「東京」に属するセッションに絞る場合は

users::condition::ga:browser==Chrome;ga:region==Tokyo

と書きます。
ちなみに条件式の「;」はANDを示し、ORは「,」となります。
例) ga:browser==Chrome,ga:browser==Firefox

つまり、こう書いた場合
users::condition::ga:browser==Chrome,ga:browser==Firefox;ga:region==Tokyo
少なくとも1回はChromeまたはFirefoxでアクセスしてきたユーザーで、かつ地域が東京のセッションとなります。

複数のConditionを書くこともできます。
users::<condition1>;<condition2> 
users::<condition1>users::<condition2>

もちろん条件指定なので、こういう書き方もちゃんとできます。
users::condition::ga:revenue>10;ga:sessionDuration>60

慣れるまでは難しいですよね。

★Sequenceについて(sequence::)
これはユニバーサルアナリティクスをかなり意識したものになりますが、先ほどのConditionは単なるセグメント条件を指定したものですが、Sequenceを指定すると順序の指定が出来るようになります。例えばモバイルで閲覧し、次にデスクトップで閲覧したユーザーなど。

Seauenceを利用すると「->>」「->」の2つの条件が利用できます。
「->>」は単なる前後の条件を示しますが、「->」は直接の前後の条件を示します。

例えばデスクトップを利用し、次のアクセス時にタブレットを利用したユーザーのみを絞り込む場合は

users::sequence::ga:deviceCategory==desktop;->ga:deviceCategory==tablet

と書きます。
逆にデスクトップ以外を利用していたユーザーで、次のアクセス時にタブレットを利用したユーザーは

users::sequence::!ga:deviceCategory==desktop;->ga:deviceCategory==tablet

と書きます。
また、初めてのアクセス時にデスクトップを利用していて、次のアクセス時にタブレットを利用したユーザーは

users::sequence::^ga:deviceCategory==desktop;->ga:deviceCategory==tablet

と書きます。

■Sampling Level

「DEFAULT」、「FASTER」、「HIGHER_PRECISION」の3つの値をとります。これはAnalyticsの精度を優先にするかパフォーマンスを優先にするかという摘みと同じです。


■Start Index

表示する結果の開始位置を指定できます。

■Max Results

表示する結果の個数を指定できます。
例えばDimensionでブラウザを指定した場合、50個も100個も出てきてもマニアックなブラウザだったりユーザーエージェントが偽装された変なブラウザが出てくるだけだったりしますので、上位10個とか指定をしておく方が良い場合があります。

■Spreadsheet URL

レポートを吐き出す先のSpreadsheet URLを入れておくと、その指定されたSpreadsheetにレポート名でシートが作成され、レポートが吐出されます。

ざっくりとした説明ですが、Googleのヘルプはこちらです。
最も強力で最も難しい「セグメント」だけは自分で色んな条件でデータを取得してみないと、なかなか理解が進まないと思います。
ユニバーサルアナリティクスになり、だいぶアクセスしてくる順序などの取得が重要になってくるようになりました。ぜひSequence部分も押さえておきましょう。
Share:

0 コメント:

コメントを投稿