Google Analyticsをスプレッドシートと連携させてデータ集計を自動化する方法

Google Analyticsをスプレッドシートと連携させてデータ集計を自動化する方法

自社のデジタルマーケティングの活動実績をデータとして可視化して、関係者間で定期的に共有するという行動は既に見慣れた光景かもしれません。その中でもサイトやアプリでのユーザー行動のログを収集するのにGoogle Analyticsを活用している企業は多いはずです。Google Analyticsは多角的にデータが取得できる反面、必要なデータを抽出する作業はそれなりに時間を要してしまいます。
データを抽出して可視化する作業は自社ブランドの売上には1円も貢献しませんが、マーケティング活動の実態を把握するには非常に重要な作業です。そこでデータ取得は自動化して少しでも作業時間を削減することが重要です。自動化の方法はいくつかありますが、ここではGoogleスプレッドシートを使って、可視化したいデータを自動で取得する方法を紹介いたします。

ご注意事項

ここで紹介しているGoogle Analyticsはユニバーサルアナリティクスを指しています。

Googleスプレッドシートを使うメリット

Google Analyticsには標準で自動でレポートを共有してくれる機能があります。しかし標準で用意されている機能では、自社のマーケティング活動に沿った柔軟なデータの取得ができません。
しかしGoogleアナリティクスAPIを使用することで柔軟なデータ取得が可能になります。Google Analyticsが提供しているAPIをGoogleスプレッドシート経由で利用することで柔軟なレポート作成ができます。

Google Analyticsの自動レポート機能

標準機能では柔軟なレポート作成ができないですが、標準機能だけでも要件が満たせる場合は、標準機能を利用した方が楽かもしれません。標準機能では、特定のメールアドレスに決まった頻度でレポートを送信する方法と特定のイベントがあったときに事前に設定したメールアドレス宛に通知してくれる「カスタムアラート」の2つの機能があります。

メール配信レポートGoogle Analyticsで共有したいレポート画面で右上にある共有ボタンを押すことで、レポートの共有先、提供頻度、提供形式を選択することができます。メールでの配信レポートは1つのビューにつきユーザーあたり最大400件の配信が可能です。
メール配信レポートの共有方法の詳細はこちら
カスタムアラートカスタムアラートは特定の条件を満たしたときに設定したメールアドレス宛にレポートを共有してくれるレポートです。
カスタムアラートの設定方法はこちら
Google Analyticsが提供している自動レポート機能

Googleスプレッドシートと連携することでできるようになること

Google Analytivsの標準機能でもメールに決まった頻度や特定のタイミングで自動連携をしてくれます。しかしGoogleスプレッドシートと連携することで標準機能より柔軟な自動化が可能になります。
連携することで最も大きなメリットは自動連携されたデータを加工して自分の好きなようにデータを表現することができることです。標準機能では、Google Analyticsであらかじめ用意されているレポートを単発でしか共有ができませんが、Googleスプレッドシートでは、Google Analyticsから連携されたデータを1つのシートに集約して必要なデータのみを集約したりビジュアライズ化することが可能です。マーケティング活動で追っていきたい指標を1つのシートに集約させることができるとチーム内でのデータに対しての認識も揃いやすくなるでしょう。

複数のビューからのデータインポート閲覧権限を持っているGoogle Analytivsであればビューが違っても1つのスプレッドシート内にデータを集約することが可能です。
取得データを利用した計算処理Google Analyticsから連携したデータをGoogleスプレッドシートが用意している関数を使って複数のデータを計算することが可能です。
データのビジュアライズ化Googleスプレッドシートにはデータをグラフ化する機能が備わっているため、連携したデータをビジュアライズ化することが可能です。
細かな自動アップデートスケジューリング時間単位でセットできるタイマーを使うことで、決まったスケジュールであらかじめセットしていたデータをGoogle Analyticsから引っ張ってきて自動で更新することが可能です。
Googleスプレッドシートを使う主な利点

GoogleスプレッドシートにGoogle Analyticsデータを連携する方法

事前準備

Google Analyticsのデータ自動連携に向けて、事前に用意しておかなければいけない環境は以下になります。

Googleアカウントの用意

アカウントの発行方法はこちら

アカウントにGoogle Analyticsの閲覧権限を持ったビューが1つ以上紐づいている必要があります。権限が付与されていない場合は、こちらの手順で権限を付与もしくは権限付与が可能な方へ付与依頼を出してください

Googleスプレッドシートにアドオンを導入

アドオンのインストールはこちら

企業ネットワークなどでGoogleサービスの利用が遮断されている場合もあるかと思います。その場合は基本的には使用が難しいかと思いますが、情報セキュリティ担当者へお伺いください。

基本的な使い方

必要な環境が準備できたら、Googleスプレッドシートのアドオンを使ってGoogle Analyticsから取得したいデータを抽出していきます。

1

Googleスプレッドシートの上部メニューから「拡張機能 > Google Analytics > Create a New Report」を選択します。

Create a New Report
2

選択後、画面右側にレポート作成に必要な入力エリアが出てきますので、抽出したいデータに合わせて情報を入力します。

Create a New Reportの入力画面
見出し項目内容
Name your reportNameレポートの名称を記述
Select a viewAccountデータを抽出したいGoogle Analyticsのアカウント名を選択
Select a viewPropertyデータを抽出したいGoogle Analyticsのプロパティ名を選択
Select a viewViewデータを抽出したいGoogle Analyticsのビュー名を選択
Choose configuration optionsMetricsGoogle Analyticsから取得したい指標を指定
指標の指定方法はこちら
Choose configuration optionsDimensionsGoogle Analyticsから取得したいディメンションを指定
ディメンションの指定方法はこちら
Choose configuration optionsSegments特定の条件に絞り込んだデータを取得したい場合、Google Analyticsのセグメントを指定
セグメントの指定方法はこちら
Create a New Reportの入力項目
3

必要な情報が入力できたら「Create Report」ボタンを押します。

Create a New Reportの入力画面
4

ボタン押下後、「Report Configuration」というタブが生成されます。Configuration Optionsにデータ抽出に必要な条件があれば、追加で指定・修正します。

Report Configuration

Configuration Optionsで設定できる項目の一覧はこちら

5

条件を指定したら、「拡張機能 > Google Analytics > Run reports」を選択。選択するとReport Nameに指定したタブが作成されレポートが生成されます。

Run reports

Run reportsを選択後、Report Statusがreport completed successfullyになっていれば正常にデータ抽出が完了しているサインになります。

項目内容
Last Run Onデータが更新された最新日時
View Nameデータ抽出元のGoogle Analyticsのビュー名
Total Results Found条件にあったデータの件数
Total Results Returned条件にあったデータの件数のうちレポートに表示できた数
Contains Sampled Dataサンプリングデータが含まれているか否か
レポーティング項目別内容
6

生成されたレポートに問題がなければ、「拡張機能 > Google Analytics > Schedule reports」を選択することで、レポートの更新スケジュールを設定することができます。

Schedule reports

「Enable reports to run automatically.」にチェックを入れてスケジュールを「毎時間、毎日、毎週、毎月」から指定しSaveすることで更新スケジュールを設定できます。

データの呼び出し方法

GoogleスプレッドシートからGoogle Analyticsのデータを抽出する際には、「Configuration 0ptions」の項目に条件を指定することで柔軟にデータの取り出しが可能になります。ただしデータを呼び出すための指定方法の決まりがあるため、各項目に指定する内容と指定方法について紹介します。
「Configuration 0ptions」の項目は、全部で16項目ありますが、必須での入力項目は6つになります。残りの10項目に関しては、任意項目のため必要に応じて設定を行うことになります。
(が入力必須項目になります)

Report Name レポートの名称。指定した名称がタブの名称になります。途中で名称を変更すると以前生成したレポートの更新ではなく、別タブで新しくレポートの生成が可能になります。
View ID データ抽出元のGoogle AnalyticsのビューID
Start Date データ取得期間の開始日。デフォルトは30日前(30daysAgo)。
End Date データ取得期間の終了日。デフォルトは昨日(yesterday)。
Metrics Google Analyticsから取得したい指標
Dimensions Google Analyticsから取得したいディメンション
Order取得したレポートの並べ替え指定
Filters取得するレポートのフィルター指定
Segments取得するレポートのセグメント指定
Limit取得するレポートのレコード数を数字で指定
Spreadsheet URLデフォルトは現在設定しているスプレッドシートにタブが生成されてレポートが出力されるが、別のスプレッドシートへ生成したい場合は、そのURLを指定する。ただし指定したスプレッドシートの編集権限が必要。
Skip Reportレポートを更新する際に「TRUE」を入れておくことで、更新をスキップすることが可能。
Report Typeデフォルトでは「Analytics Reporting API」を使用するが、マルチチャネルレポート(Multi-Channel Funnels Reporting API)を使用する場合は、「mcf」を指定。
Sampling Levelサンプリングの精度を優先する場合は「LARGE」、スピード優先する場合は「SMALL」を指定。デフォルトは中間の「DEFAULT」。
Use Resource QuotasGA360のビューをデータソースとして指定している場合は、「TRUE」を指定することで、リソースベースの割当でよりサンプリングが発生しにくい集計の実行が可能。
Exclude Empty Rows指標の値が0の場合、行ごとレコードから除外したい場合、「TRUE」を入力
Configuration 0ptions の設定項目

Start Date・End Date

日付は、「YYYY-MM-DD」で指定を行います。また、当日を指定したい場合は「today」、昨日を指定したい場合は「yesterday」、N日前を指定したい場合は「NdaysAgo」を指定します(Nは数字で指定)。

Metrics

指標を指定する場合、「ga:指標名」で指定を行います。使用できる指標の一覧はこちらより確認できます。
レポーティングする際によく使用する指標は下記に記載しています。スプレッドシートに指定する際には、使用したい指標の「API_key」を記載してください。

カテゴリー指標名API_NameAPI_Key
UserユーザーUserga:users
User新規ユーザーNew Usersga:newUsers
User新規セッション率% New Sessionsga:persentNewSessions
Userセッション/ユーザーNumber of Sessions per Userga:sessionsPerUser
SessionセッションSessionsga:sessions
Session直帰数Bouncesga:bounces
Session直帰率Bounce Ratega:bounceRate
Sessionセッション時間Session Durationga:sessionDuration
Session平均セッション時間Avg, Session Durationga:avgSessionDuration
Sessionヒット数Hitsga:hits
Adwords表示回数Impressionsga:impressions
Adwordsクリック数Clickga:adClicks
Adwords費用Costga:adCost
Adwordsインプレッション単価CPMga:CPM
Adwordsクリック単価CPCga:CPC
Adwordsクリック率CTRga:CTR
Adwordsトランザクション単価Cost per Transactionga:costPerTransaction
Adwordsコンバージョン単価Cost Per Goal Conversionga:costPerGoalConversion
Goal Conversions目標 XX の完了数Goal XX Completionsga:goalXXCompletions
Goal Conversions目標の完了数Goal Completionsga:goalCompletionsAll
Goal Conversions目標 XX のコンバージョン率Goal XX Conversion Ratega:goalXXConversionRate
Goal Conversions目標のコンバージョン率Goal Conversion Ratega:goalConversionRateAll
Page Tracking閲覧開始数Entrancesga:entrances
Page Tracking閲覧開始数/ページビュー数Entrances / Pageviewsga:entrancesRate
Page Trackingページビュー数Pageviewsga:pageviews
Page Trackingページ/セッションPages / Sessionga:pageviewsPerSession
Page Trackingページ別訪問数Unique Pageviewsga:uniquePageviews
Page Trackingページ滞在時間Time on Pagega:timeOnPage
Page Tracking平均ページ滞在時間Avg, Time on Pagega:avgTimeOnPage
Page Tracking離脱数Exitsga:exits
Page Tracking離脱率% Exitga:exitRate
Internal Search検索回数の合計Total Search Uniquesga:searchUniques
Internal Search結果のページビュー数/検索Results Pageviews / Searchga:avgSearchResultViews
Internal Search再検索数Search Refinementsga:searchRefinements
Internal Search再検索の割合% Search Refinementsga:percentSearchRefinements
Internal Search検索結果の離脱Search Exitsga:searchExits
Internal Search検索による離脱数の割合% Search Exitsga:percentSearchExits
Site Speedページの読み込み時間(ミリ秒)Page Load Time (ms)ga:pageLoadTime
Site Speed平均読み込み時間(秒)Avg. Page Load Time (sec)ga:avgPageLoadTime
App TrackingスクリーンビューScreen Viewsga:screenviews
App Trackingユニーク スクリーン ビューUnique Screen Viewsga:uniqueScreenviews
App Trackingセッション別スクリーン数Screen / Sessionga:screenviewsPerSession
App Trackingスクリーン滞在時間Time on Screenga:timeOnScreen
App Trackingスクリーンの平均滞在時間Avg. Time on Screenga:avgScreenviewDuration
Event Tracking合計イベント数Total Eventsga:totalEvents
Event Trackingユニーク イベント数Unique Eventsga:uniqueEvents
Ecommerceトランザクション数Transactionsga:transactions
Ecommercee コマースのコンバージョン率Ecommerce Conversion Ratega:transactionsPerSessions
Ecommerce収益Revenuega:transactionRevenue
Ecommerce平均注文額Avg. Order Valuega:revenuePertTransaction
Ecommerce数量Quantityga:itemQuantity
Social InteractionsアクションSocial Actionsga:socialInteractions
Social Interactionsユニーク アクションUnique Social Actionsga:uniqueSocialInteractions
Social Interactionsソーシャル セッションあたりのアクションActions Per Social Sessionga:socialInteractionsPerSession
Custom Variables or Columnsカスタム指標Custom Metric XX Valuega:metricXX
よく使う指標一覧

Dimentions

ディメンションを指定する場合、「ga:ディメンション名」で指定を行う。使用できるディメンションの一覧はこちらより確認できます。
レポーティングする際によく使用するディメンションは下記に記載しています。スプレッドシートに指定する際には、使用したいディメンションの「API_key」を記載してください。

カテゴリー指標名API_NameAPI_Key
UserユーザータイプUser Typega:userType
Traffic Sources参照元Sourcega:source
Traffic SourcesメディアMediumga:medium
Traffic SourcesキャンペーンCampaignga:campaign
Traffic SourcesキーワードKeywordga:keyword
Traffic Sources広告のコンテンツAd Contentga:adContent
Adwords広告グループGoogle Ads: Ad Groupga:adGroup
Adwords広告スロットGoogle Ads: Ad Slotga:adSlot
Adwords広告掲載ネットワークAd Distribution NetWorkga:adDistburitionNetwork
Adwords広告フォーマットAd Formatga:adFormat
Platform or DeviceブラウザBrowserga:browser
Platform or DeviceオペレーティングシステムOperating Systemga:operatingSystem
Platform or DeviceデバイスカテゴリDevice Categoryga:deviceCategory
Geo NetworkCountryga:country
Geo Network地域Regionga:region
Geo Network市区町村Cityga:city
Page Trackingホスト名Hostnamega:hostname
Page TrackingページPagega:pagePath
Page TrackingランディングページLanding Pagega:langingPagePath
Page Tracking離脱ページExit Pagega:exitPagePath
Internal Search検索キーワードSearch Termga:searchKeyword
Internal Search再検索キーワードRefined Keywordga:searchKeywordRefinement
App Trackingアプリ名App Namega:appName
App Trackingスクリーン名Screen Namega:screenName
App TrackingランディングスクリーンLanding Screenga:landingScreenName
App Tracking離脱スクリーンExit Screenga:exitScreenName
Event Trackingイベント カテゴリEvent Categoryga:eventCategory
Event Trackingイベント アクションEvent Actionga:eventAction
Event Trackingイベント ラベルEvent Labelga:eventLabel
Ecommerce商品のSKUProduct SKUga:productSku
Ecommerce商品Productga:productName
Ecommerce商品カテゴリProduct Categoryga:productCategory
Social Interactionsソーシャル ネットワークSocial Networkga:socialinteractionNetwork
Social Interactionsソーシャル アクションSocial Actionga:socialinteractionAction
Custom Variables or ColumnsカスタムディメンションCustom Dimension XXga:dimensionXX
Time日付Datega:date
Time時間帯Hour of Dayga:dateHour
Audience年齢Agega:userAgeBracket
Audience性別Genderga:userGender
よく使うディメンション一覧

Order

並び替えを行いたいディメンションや指標を「ga:ディメンション名(指標名)」で指定します。昇順の場合はそのまま、降順の場合はgaの前に「-」をつけます。

昇順 ga:UserType
降順 -ga:UserType

また複数指定したい場合は、カンマ(,)で区切って指定します。左に指定したディメンションや指標が優先されるため、複数指定する場合は優先順位を考慮して記載する必要があります。

Filters

データを抽出する際にフィルターを設定することで、特定のデータのみに絞り込むことが可能です。指標とディメンションで絞り込む方法は同様のところもあれば、異なるところもあるためそれぞれの方法を紹介します。

指標の絞り込み方法
演算子説明使用例
==次と等しいユーザー数が100人のみに絞り込み
ga:users==100
!=等しくないユーザー数が100人以外のみに絞り込み
ga:users!=100
>上回るユーザー数が100人を上回る
ga:users > 100
<下回るユーザー数が100人未満
ga:users < 100
>=以上ユーザー数が100人以上
ga:users >= 100
<=以下ユーザー数が100人以下
ga:users <= 100
指標で使用できる演算子一覧
ディメンションの絞り込み方法
演算子説明使用例
==完全一致するページURLがhomeと一致
ga:==home
!=一致しないページURLがhomeと一致しない
ga:!=home
=@文字列の一部に一致ページURLにhomeが含まれる
ga:=@ home
!@文字列の一部に一致しないページURLにhomeが含まれない
ga:!@home
=~正規表現の一致を含むページURLがhomeで始まる
ga:=~^home
!~次の正規表現に一致しないページURLがhomeで始まらない
ga:!~^home
ディメンションで使用できる演算子一覧

Filtersを複数指定することも可能です。複数指定する際にはOR指定とAND指定のいずれの設定も可能です。

複数指定方法

OR指定 カンマ(,)を利用
AND指定 セミコロン(;)を利用

Segments

データを抽出する際にはセグメントの利用も可能です。フィルターと違って、セッション・ユーザー単位で絞り込むことが可能なのがセグメントの特徴です。
セグメントにはGoogle Analyticsがデフォルトで用意しているシステムセグメントとユーザーで自由に作成することができるカスタムセグメントの2種類になります。

システムセグメント
セグメント名API_Key
すべてのセッションgaid::-1
新規ユーザーgaid::-2
リピートユーザーgaid::-3
有料検索トラフィックgaid::-4
自然検索トラフィックgaid::-5
検索トラフィックgaid::-6
ノーリファラーgaid::-7
参照トラフィックgaid::-8
CVしたセッションgaid::-9
購入したセッションgaid::-10
モバイルとタブレットのトラフィックgaid::-11
直帰以外のトラフィックgaid::-12
タブレットのトラフィックgaid::-13
モバイルのトラフィックgaid::-14
PCとタブレットのトラフィックgaid::-15
Android OSでのトラフィックgaid::-16
iOSでのトラフィックgaid::-17
Android OSとiOS以外のモバイル流入gaid::-18
直帰したセッションgaid::-19
過去90日間に1回のみセッションが有るユーザーgaid::-100
過去90日間に2回以上セッションが有るユーザーgaid::-101
過去90日間に1回でもCVしたユーザーgaid::-102
過去90日間に1回もCVしていないユーザーgaid::-103
購入決済に至ったユーザーgaid::-104
サイト内検索を実行したユーザーgaid::-105
システムセグメント一覧
カスタムセグメント

Query ExploreにGoogle Analyticsの権限が紐づいているGoogleアカウントでログインすると「Segment」の入力欄にセグメントとAPI keyがセットで確認できます。使用したいカスタムセグメントの「ga:」で始まるコードを「Segment」の入力欄に記載します。

Query Exploreでカスタムセグメントのコードを調べる方法

データ抽出時の注意点

Googleスプレッドシートでデータを抽出する際にはGoogle Analyticsが用意しているAPIを使用します。このAPIに送れるリクエストの数には上限があります。リクエストが上限に達した場合は、日にちや時間の経過を待つしか無くなる為、リクエスト数も留意してレポートの作成をする必要があります。

項目上限数
プロジェクト1日50,000件
100秒あたり2,000件
ビュー1日10,000件
ユーザー100秒あたり100件
※Google API Consoleで1,000件まで引き上げ可能
ディスカバリーリクエスト100秒あたり100件のリクエスト
項目別リクエスト上限数

まとめ

データを取得して可視化するというアクションに関しては、ビジネス上何も成果を産みません。しかし現状を把握し無ければ、次に打つべき改善策の見通しもつきません。そのためデータ取得から可視化までの作業工数は極力少なくできることが望ましいです。
作業工数を削減する一つの手段として、今回はGoogleスプレッドシートのアドオンを使用してGoogle Analyticsのデータ取得から更新までを自動にする方法を紹介いたしました。プログラミングスキルを必要とせずに実施することが可能なため、やり方さえ覚えてしまえば、今後もデータ可視化の運用工数を削減していくことが可能になるかと思います。