自社のデジタルマーケティングの活動実績をデータとして可視化して、関係者間で定期的に共有するという行動は既に見慣れた光景かもしれません。その中でもサイトやアプリでのユーザー行動のログを収集するのに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スプレッドシートと連携することでできるようになること
Google Analytivsの標準機能でもメールに決まった頻度や特定のタイミングで自動連携をしてくれます。しかしGoogleスプレッドシートと連携することで標準機能より柔軟な自動化が可能になります。
連携することで最も大きなメリットは自動連携されたデータを加工して自分の好きなようにデータを表現することができることです。標準機能では、Google Analyticsであらかじめ用意されているレポートを単発でしか共有ができませんが、Googleスプレッドシートでは、Google Analyticsから連携されたデータを1つのシートに集約して必要なデータのみを集約したりビジュアライズ化することが可能です。マーケティング活動で追っていきたい指標を1つのシートに集約させることができるとチーム内でのデータに対しての認識も揃いやすくなるでしょう。
| 複数のビューからのデータインポート | 閲覧権限を持っているGoogle Analytivsであればビューが違っても1つのスプレッドシート内にデータを集約することが可能です。 |
| 取得データを利用した計算処理 | Google Analyticsから連携したデータをGoogleスプレッドシートが用意している関数を使って複数のデータを計算することが可能です。 |
| データのビジュアライズ化 | Googleスプレッドシートにはデータをグラフ化する機能が備わっているため、連携したデータをビジュアライズ化することが可能です。 |
| 細かな自動アップデートスケジューリング | 時間単位でセットできるタイマーを使うことで、決まったスケジュールであらかじめセットしていたデータをGoogle Analyticsから引っ張ってきて自動で更新することが可能です。 |
GoogleスプレッドシートにGoogle Analyticsデータを連携する方法
事前準備
Google Analyticsのデータ自動連携に向けて、事前に用意しておかなければいけない環境は以下になります。
企業ネットワークなどでGoogleサービスの利用が遮断されている場合もあるかと思います。その場合は基本的には使用が難しいかと思いますが、情報セキュリティ担当者へお伺いください。
基本的な使い方
必要な環境が準備できたら、Googleスプレッドシートのアドオンを使ってGoogle Analyticsから取得したいデータを抽出していきます。
Googleスプレッドシートの上部メニューから「拡張機能 > Google Analytics > Create a New Report」を選択します。

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

| 見出し | 項目 | 内容 |
|---|---|---|
| Name your report | Name | レポートの名称を記述 |
| Select a view | Account | データを抽出したいGoogle Analyticsのアカウント名を選択 |
| Select a view | Property | データを抽出したいGoogle Analyticsのプロパティ名を選択 |
| Select a view | View | データを抽出したいGoogle Analyticsのビュー名を選択 |
| Choose configuration options | Metrics | Google Analyticsから取得したい指標を指定 指標の指定方法はこちら |
| Choose configuration options | Dimensions | Google Analyticsから取得したいディメンションを指定 ディメンションの指定方法はこちら |
| Choose configuration options | Segments | 特定の条件に絞り込んだデータを取得したい場合、Google Analyticsのセグメントを指定 セグメントの指定方法はこちら |
必要な情報が入力できたら「Create Report」ボタンを押します。

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

Configuration Optionsで設定できる項目の一覧はこちら
条件を指定したら、「拡張機能 > Google Analytics > Run reports」を選択。選択するとReport Nameに指定したタブが作成されレポートが生成されます。

Run reportsを選択後、Report Statusがreport completed successfullyになっていれば正常にデータ抽出が完了しているサインになります。
| 項目 | 内容 |
|---|---|
| Last Run On | データが更新された最新日時 |
| View Name | データ抽出元のGoogle Analyticsのビュー名 |
| Total Results Found | 条件にあったデータの件数 |
| Total Results Returned | 条件にあったデータの件数のうちレポートに表示できた数 |
| Contains Sampled Data | サンプリングデータが含まれているか否か |
生成されたレポートに問題がなければ、「拡張機能 > Google Analytics > 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 Quotas | GA360のビューをデータソースとして指定している場合は、「TRUE」を指定することで、リソースベースの割当でよりサンプリングが発生しにくい集計の実行が可能。 |
| Exclude Empty Rows | 指標の値が0の場合、行ごとレコードから除外したい場合、「TRUE」を入力 |
Start Date・End Date
日付は、「YYYY-MM-DD」で指定を行います。また、当日を指定したい場合は「today」、昨日を指定したい場合は「yesterday」、N日前を指定したい場合は「NdaysAgo」を指定します(Nは数字で指定)。
Metrics
指標を指定する場合、「ga:指標名」で指定を行います。使用できる指標の一覧はこちらより確認できます。
レポーティングする際によく使用する指標は下記に記載しています。スプレッドシートに指定する際には、使用したい指標の「API_key」を記載してください。
| カテゴリー | 指標名 | API_Name | API_Key |
|---|---|---|---|
| User | ユーザー | User | ga:users |
| User | 新規ユーザー | New Users | ga:newUsers |
| User | 新規セッション率 | % New Sessions | ga:persentNewSessions |
| User | セッション/ユーザー | Number of Sessions per User | ga:sessionsPerUser |
| Session | セッション | Sessions | ga:sessions |
| Session | 直帰数 | Bounces | ga:bounces |
| Session | 直帰率 | Bounce Rate | ga:bounceRate |
| Session | セッション時間 | Session Duration | ga:sessionDuration |
| Session | 平均セッション時間 | Avg, Session Duration | ga:avgSessionDuration |
| Session | ヒット数 | Hits | ga:hits |
| Adwords | 表示回数 | Impressions | ga:impressions |
| Adwords | クリック数 | Click | ga:adClicks |
| Adwords | 費用 | Cost | ga:adCost |
| Adwords | インプレッション単価 | CPM | ga:CPM |
| Adwords | クリック単価 | CPC | ga:CPC |
| Adwords | クリック率 | CTR | ga:CTR |
| Adwords | トランザクション単価 | Cost per Transaction | ga:costPerTransaction |
| Adwords | コンバージョン単価 | Cost Per Goal Conversion | ga:costPerGoalConversion |
| Goal Conversions | 目標 XX の完了数 | Goal XX Completions | ga:goalXXCompletions |
| Goal Conversions | 目標の完了数 | Goal Completions | ga:goalCompletionsAll |
| Goal Conversions | 目標 XX のコンバージョン率 | Goal XX Conversion Rate | ga:goalXXConversionRate |
| Goal Conversions | 目標のコンバージョン率 | Goal Conversion Rate | ga:goalConversionRateAll |
| Page Tracking | 閲覧開始数 | Entrances | ga:entrances |
| Page Tracking | 閲覧開始数/ページビュー数 | Entrances / Pageviews | ga:entrancesRate |
| Page Tracking | ページビュー数 | Pageviews | ga:pageviews |
| Page Tracking | ページ/セッション | Pages / Session | ga:pageviewsPerSession |
| Page Tracking | ページ別訪問数 | Unique Pageviews | ga:uniquePageviews |
| Page Tracking | ページ滞在時間 | Time on Page | ga:timeOnPage |
| Page Tracking | 平均ページ滞在時間 | Avg, Time on Page | ga:avgTimeOnPage |
| Page Tracking | 離脱数 | Exits | ga:exits |
| Page Tracking | 離脱率 | % Exit | ga:exitRate |
| Internal Search | 検索回数の合計 | Total Search Uniques | ga:searchUniques |
| Internal Search | 結果のページビュー数/検索 | Results Pageviews / Search | ga:avgSearchResultViews |
| Internal Search | 再検索数 | Search Refinements | ga:searchRefinements |
| Internal Search | 再検索の割合 | % Search Refinements | ga:percentSearchRefinements |
| Internal Search | 検索結果の離脱 | Search Exits | ga:searchExits |
| Internal Search | 検索による離脱数の割合 | % Search Exits | ga:percentSearchExits |
| Site Speed | ページの読み込み時間(ミリ秒) | Page Load Time (ms) | ga:pageLoadTime |
| Site Speed | 平均読み込み時間(秒) | Avg. Page Load Time (sec) | ga:avgPageLoadTime |
| App Tracking | スクリーンビュー | Screen Views | ga:screenviews |
| App Tracking | ユニーク スクリーン ビュー | Unique Screen Views | ga:uniqueScreenviews |
| App Tracking | セッション別スクリーン数 | Screen / Session | ga:screenviewsPerSession |
| App Tracking | スクリーン滞在時間 | Time on Screen | ga:timeOnScreen |
| App Tracking | スクリーンの平均滞在時間 | Avg. Time on Screen | ga:avgScreenviewDuration |
| Event Tracking | 合計イベント数 | Total Events | ga:totalEvents |
| Event Tracking | ユニーク イベント数 | Unique Events | ga:uniqueEvents |
| Ecommerce | トランザクション数 | Transactions | ga:transactions |
| Ecommerce | e コマースのコンバージョン率 | Ecommerce Conversion Rate | ga:transactionsPerSessions |
| Ecommerce | 収益 | Revenue | ga:transactionRevenue |
| Ecommerce | 平均注文額 | Avg. Order Value | ga:revenuePertTransaction |
| Ecommerce | 数量 | Quantity | ga:itemQuantity |
| Social Interactions | アクション | Social Actions | ga:socialInteractions |
| Social Interactions | ユニーク アクション | Unique Social Actions | ga:uniqueSocialInteractions |
| Social Interactions | ソーシャル セッションあたりのアクション | Actions Per Social Session | ga:socialInteractionsPerSession |
| Custom Variables or Columns | カスタム指標 | Custom Metric XX Value | ga:metricXX |
Dimentions
ディメンションを指定する場合、「ga:ディメンション名」で指定を行う。使用できるディメンションの一覧はこちらより確認できます。
レポーティングする際によく使用するディメンションは下記に記載しています。スプレッドシートに指定する際には、使用したいディメンションの「API_key」を記載してください。
| カテゴリー | 指標名 | API_Name | API_Key |
|---|---|---|---|
| User | ユーザータイプ | User Type | ga:userType |
| Traffic Sources | 参照元 | Source | ga:source |
| Traffic Sources | メディア | Medium | ga:medium |
| Traffic Sources | キャンペーン | Campaign | ga:campaign |
| Traffic Sources | キーワード | Keyword | ga:keyword |
| Traffic Sources | 広告のコンテンツ | Ad Content | ga:adContent |
| Adwords | 広告グループ | Google Ads: Ad Group | ga:adGroup |
| Adwords | 広告スロット | Google Ads: Ad Slot | ga:adSlot |
| Adwords | 広告掲載ネットワーク | Ad Distribution NetWork | ga:adDistburitionNetwork |
| Adwords | 広告フォーマット | Ad Format | ga:adFormat |
| Platform or Device | ブラウザ | Browser | ga:browser |
| Platform or Device | オペレーティングシステム | Operating System | ga:operatingSystem |
| Platform or Device | デバイスカテゴリ | Device Category | ga:deviceCategory |
| Geo Network | 国 | Country | ga:country |
| Geo Network | 地域 | Region | ga:region |
| Geo Network | 市区町村 | City | ga:city |
| Page Tracking | ホスト名 | Hostname | ga:hostname |
| Page Tracking | ページ | Page | ga:pagePath |
| Page Tracking | ランディングページ | Landing Page | ga:langingPagePath |
| Page Tracking | 離脱ページ | Exit Page | ga:exitPagePath |
| Internal Search | 検索キーワード | Search Term | ga:searchKeyword |
| Internal Search | 再検索キーワード | Refined Keyword | ga:searchKeywordRefinement |
| App Tracking | アプリ名 | App Name | ga:appName |
| App Tracking | スクリーン名 | Screen Name | ga:screenName |
| App Tracking | ランディングスクリーン | Landing Screen | ga:landingScreenName |
| App Tracking | 離脱スクリーン | Exit Screen | ga:exitScreenName |
| Event Tracking | イベント カテゴリ | Event Category | ga:eventCategory |
| Event Tracking | イベント アクション | Event Action | ga:eventAction |
| Event Tracking | イベント ラベル | Event Label | ga:eventLabel |
| Ecommerce | 商品のSKU | Product SKU | ga:productSku |
| Ecommerce | 商品 | Product | ga:productName |
| Ecommerce | 商品カテゴリ | Product Category | ga:productCategory |
| Social Interactions | ソーシャル ネットワーク | Social Network | ga:socialinteractionNetwork |
| Social Interactions | ソーシャル アクション | Social Action | ga:socialinteractionAction |
| Custom Variables or Columns | カスタムディメンション | Custom Dimension XX | ga:dimensionXX |
| Time | 日付 | Date | ga:date |
| Time | 時間帯 | Hour of Day | ga:dateHour |
| Audience | 年齢 | Age | ga:userAgeBracket |
| Audience | 性別 | Gender | ga: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」の入力欄に記載します。

データ抽出時の注意点
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のデータ取得から更新までを自動にする方法を紹介いたしました。プログラミングスキルを必要とせずに実施することが可能なため、やり方さえ覚えてしまえば、今後もデータ可視化の運用工数を削減していくことが可能になるかと思います。

