Google アナリティクス スプレッドシート アドオン

Philip Walton、Google アナリティクス デベロッパー プログラム エンジニア、2014 年 3 月

Google アナリティクス スプレッドシート アドオンを使用すると、Google アナリティクス ユーザーは Google スプレッドシート データにアクセスしやすくなり、視覚化、共有、操作も簡単に行えるようになります。

はじめに

Google アナリティクス スプレッドシート アドオンでは、Google アナリティクス API の機能と、Google スプレッドシートのデータ操作の機能を併せて利用することができます。このツールを使用すると、次のことを行えます。

  • 複数のビューからデータをクエリしてレポートします。
  • カスタム計算を計算して表示します。
  • ビジュアリゼーションを作成してサードパーティのウェブサイトに埋め込む。
  • レポートを自動作成および更新するようにスケジュール設定できます。
  • Google スプレッドシートと共有機能を使用して、データとビジュアリゼーションを表示できるユーザーを指定できます。
Google アナリティクス スプレッドシート アドオンのスクリーンショット

動画チュートリアル

次の 2 つの動画では、アドオンをダウンロードしてインストールする方法と、自動的に更新されサードパーティのウェブサイトに埋め込めるダッシュボードの作成方法について説明します。

Google アナリティクス スプレッドシート アドオンのご紹介

Google アナリティクス スプレッドシート アドオンを使用してダッシュボードを作成する

アドオンのインストール

Google アナリティクス スプレッドシート アドオンを使用するには、まずこのアドオンをスプレッドシートに追加する必要があります。手順は次のとおりです。

  1. 新しい Google スプレッドシートを作成します(または既存のスプレッドシートを開きます)。
  2. メニューバーから [アドオン] > [アドオンを取得…] を選択します。
  3. アドオン ギャラリーから Google アナリティクス アドオンを探して選択します。
  4. アドオンの説明ページの右上の [+] をクリックして、スプレッドシートにこのアドオンを追加します。
  5. ダイアログが表示され、このアドオンに Google アナリティクス データへのアクセスを許可するよう求められます。[承認する] をクリックします。
  6. これでアドオンがインストールされました。[アドオン] メニューに、[Google Analytics](Google アナリティクス)サブメニューが表示されます。

レポートの作成

レポートは、手動で作成することも、アドオンのレポート作成ツールを使用して作成することもできます。 このツールを使用するには、メニューバーから [アドオン] を選択します。右側にサイドバーが表示され、Google アナリティクスのアカウント情報を簡単に検索したり、クエリ対象のディメンションと指標を選択したりできます。操作が完了したら、[Create Report](レポートを作成)ボタンをクリックします。「Report Configuration(レポート設定)」という名前のシート(既存シートがなければ作成されます)にレポート情報が表示されます。

追加のレポートを作成するには、上記の手順を繰り返しm。作成した各レポートでは、前のレポートの右側にデータを含む新しい列が追加されます。

レポート作成ツールが「Report Configuration」シートに入力した値を見ると、多くのセルが空白になっていますが、これは意図的なものです。このツールの目的は、作業を始めやすいように、すぐには知ることのできない情報を提供することです。残りのフィールドは、ご自身で入力してください。各フィールドの入力値についてご不明な点があれば、このドキュメントの最後にあるリファレンス セクションをご覧ください。

レポートの実行

作成したすべてのレポートを実行するには、メニューバーから [アドオン] > [Google Analytics](Google アナリティクス)> [Run Reports](レポートを実行)を選択します。

レポートを除外する

デフォルトでは、このアドオンは名前が付いているすべてのレポートを実行します。このため、レポートを削除することなく一時的に実行から除外したい場合には、名前の値が含まれるセルのテキストを削除してください。

出力シートを選択する

レポートを実行すると、Google アナリティクス API にリクエストが送信され、選択したシートに結果が出力されます。出力先のシートには、現在アクティブなスプレッドシート内のシートでも、別のスプレッドシート(そのスプレッドシートへの編集権限を持っている場合)でも利用可能です。別のスプレッドシートに結果を出力するには、そのスプレッドシートの URL をコピーして、[Spreadsheet URL](スプレッドシート URL)パラメータの右のセルに貼り付けてください。

レポートを自動的に実行するためのスケジュール設定

レポートを自動的に実行するには、メニューバーから [アドオン] > [Google Analytics](Google アナリティクス)> [Schedule Reports](レポートのスケジュール設定)を選択します。レポートのスケジュールを設定するダイアログが開き、スケジュール機能のオン / オフのや、レポートを実行する頻度を設定します。

スケジュール機能を有効にするには、[Enable reports to run automatically.](レポートの実行を有効にする)チェックボックスをオンにします。スケジュール機能を有効にすると、プルダウン メニューから時間や頻度を選択できるようになります。レポートは、毎時、毎日、毎週、または毎月実行できます。

スケジュール機能を無効にするには、[Enable reports to run automatically.](レポートの自動実行を有効にする)チェックボックスをオフにします。

一般的なユースケース

複数のビューからデータをクエリする

Google アナリティクスのウェブ インターフェースでは、一度に 1 つのビューのレポートや可視化データのみを確認できます。このアドオンを使用すれば、任意の数のビューでレポートを作成して、生成されたデータを任意の方法で使用できます。たとえば、iOS トラフィックを追跡するビューと Android トラフィックを追跡する別のビューがある場合、このアドオンを使用すると、両方のビューに対してレポートを作成して、同じスプレッドシート内で結果を並べて簡単に比較できます。

Google アナリティクス データを利用してカスタム計算を作成する

Google アナリティクス API では、あらゆるタイプのデータを収集し、さまざまなレポートの形式を提供していますが、時にはより具体的な計算が必要になる場合もあります。Google スプレッドシートにデータが格納されている場合、スプレッドシートに組み込まれているデータ操作機能を利用することができます。

組み込みのデータ視覚化機能を使用してマイレポートを作成する

Google スプレッドシートにデータが格納されていれば、Google が提供する視覚化ツールをすべて利用できます。特別な設定は必要ありません。さらに、Google スプレッドシートのチャートやグラフを外部サイトに埋め込めます。 つまり、Google アナリティクスのデータを可視化して独自のダッシュボードを簡単に作成し、任意の場所でホストでき、レポートを実行するたびにダッシュボードが自動的に更新されます。

どのユーザーに Google アナリティクス データの閲覧を許可するか管理する

Google アナリティクスのウェブサイトでは、一目で詳細なデータを把握することができて便利です。しかし、Google アナリティクス アカウントへのアクセス権を付与せずに、関係者にデータだけを表示したい場合もあるでしょう。

Google アナリティクス スプレッドシート アドオンを使えば、この問題を解消することができます。Google スプレッドシートには組み込まれた独自の許可システムを持っているため、新しいスプレッドシートを作成し、任意のユーザーにアクセス権を与え、そのスプレッドシートにレポートのデータを出力すれば完了です。

データやグラフを自動的に更新する

レポートを作成したり、サードパーティのウェブサイトにビジュアリゼーションを埋め込んだりすると、レポートをスケジュール設定して自動的に実行されるようにすることで、データを常に最新に保つことができます。

よくある質問

スケジュール設定したレポートが次にいつ実行されるか、どうすればわかりますか?

スケジュール設定したレポートは、まず、指定した期間内からランダムに選択された日時に実行されます。後続の実行は、同時に予測された間隔で行われ、選択した間隔でオフセットされます。たとえば、レポートを毎日午前 4 時から午前 5 時の間に実行するようにスケジュールした場合、最初の実行が午前 4 時 12 分に行われるため、その後のすべての実行も午前 4 時 12 分に実行されます。

スケジュール設定したレポートが指定した時間帯に実行されませんでした。何か問題があるのでしょうか?

レポートのスケジュール設定をするときには、スケジュールを設定してからスケジュール通りにレポートが実行されるまで、時間が十分あることを確認してください。予定時刻の初回発生に近すぎる場合は、次回の発生までレポートが延期される可能性があります。レポート実行まで、少なくとも 1 時間は空けることをおすすめします。

レポートごとに別のスケジュールを設定することはできますか?

スケジュール設定はすべてのレポートに適用されるか、レポートには適用されません。異なる間隔でさまざまなレポートをスケジュールする必要がある場合は、複数のスプレッドシートを使用できます。

レポートデータの形式が正しくないのはなぜですか?

Google アナリティクス Reporting API は、すべての値を米国形式で返します。スプレッドシートと異なる言語 / 地域が設定されている場合、Google スプレッドシートは変換を試行しますが、予期しない結果になることがあります。

この問題を回避するには、レポート スプレッドシートの言語 / 地域が「米国」に設定されていることを確認してください(スプレッドシートの言語 / 地域を変更する手順については、ドキュメント エディタのヘルプをご覧ください)。任意の地域形式に変換するために、優先する地域が設定された 2 つ目のスプレッドシートを作成し、IMPORTRANGE 関数を使用して、その新しいスプレッドシートにレポートデータをインポートできます。Google スプレッドシートでスプレッドシートをインポートする際に、言語 / 地域間で書式が正しく変換されます。

参考情報

アドオンについて質問したり、バグを報告したりするには、Google グループ google-analytics-spreadsheet-add-on にメッセージを送信します。質問が回答済みであるため、投稿する前にグループを検索してください。

構成パラメータのリファレンス

以下のセクションでは、必須パラメータ、オプション パラメータ、非表示パラメータについて説明します。

必須パラメータ

名前 説明
Report Name(レポート名) レポートの名前。また、レポートデータが書き込まれたシートの名前になります。
ビュー ID Google アナリティクスのビューの ID。この値はレポート作成ツールまたは Google アナリティクス アカウント管理者で確認できます。
開始日

アナリティクス データの取得開始日。リクエストでは、開始日を YYYY-MM-DD 形式、または相対日付で指定できます(例:todayyesterday、または NdaysAgo(N は正の整数)です。

スプレッドシートの日付関数を使用して、この値をプログラムで指定することもできます。たとえば、次の式は前月の最終日を返します。

=EOMONTH(TODAY(), -1)
終了日

アナリティクス データの取得の終了日。終了日は、YYYY-MM-DD のような終了日、または相対的な日付(例:todayyesterday、または NdaysAgo(N は正の整数)です。

スプレッドシートの日付関数を使用して、この値をプログラムで指定することもできます。たとえば、次の式は前月の最終日を返します。

=EOMONTH(TODAY(), -1)
指標

クエリを実行する指標のリスト。指標は次の 2 つの形式のいずれかで指定できます。

たとえば、以下のすべてが Metrics パラメータの有効な値です。

ga:sessions,ga:bounces
ga:sessions
ga:bounces
[{
  "expression": "ga:sessions/ga:users",
  "alias": "Sessions per User",
  "formattingType": "FLOAT"
}, {
  "expression": "ga:totalEvents/ga:pageviews",
  "alias": "Events per Pageview",
  "formattingType": "FLOAT"
}]

ほとんどのユースケースで、指標 ID のリストは Metrics パラメータを指定する最も簡単な方法です。ただし、前述の 3 番目の例の指標式など、Analytics Reporting API の高度な機能を利用するには、値を JSON として指定する必要があります。

ディメンションと指標の完全なリストについては、ディメンションと指標のリファレンスをご覧ください。

オプション パラメータ

名前 説明
サイズ

クエリを実行するディメンションのリスト。ディメンションは次の 2 つの形式のいずれかで指定できます。

たとえば、以下のすべてが Metrics パラメータの有効な値です。

ga:source,ga:deviceCategory
ga:source
ga:deviceCategory
[{
  "name": "ga:source"
}, {
  "name": "ga:deviceCategory"
}]

ほとんどのケースでは、ディメンション ID のリストを指定することが、ディメンション パラメータを指定する最も簡単な方法です。

ディメンションと指標の完全なリストについては、ディメンションと指標のリファレンスをご覧ください。

注文

列(指標またはディメンション ID)と方向(昇順または降順)で並べ替える結果の並べ替え。順序は、次の 2 つの形式のいずれかで指定できます。

たとえば、以下のパラメータはすべて注文パラメータの有効な値です。

-ga:sessions,ga:eventLabel
-ga:sessions
ga:eventLabel
[{
  "fieldName": "ga:sessions",
  "sortOrder": "DESCENDING"
}, {
  "fieldName": "ga:eventLabel",
  "sortOrder": "ASCENDING",
  "orderType": "DIMENSION_AS_INTEGER"
}]

ほとんどのユースケースでは、Order パラメータを指定する最も簡単な方法が従来の形式です。ただし、orderType パラメータを使用する場合は、値を JSON として指定する必要があります。

フィルタ

返される結果のセットを制限する条件。フィルタは次の 2 つの形式のいずれかで指定できます。

たとえば、Filters パラメータ パラメータの有効な値は次のうちどれですか。

ga:sessions>10;ga:country==United States
{
  "metricFilterClauses": [{
    "filters": [
      {
        "metricName": "ga:totalEvents",
        "operator": "GREATER_THAN",
        "comparisonValue": "100"
      }
    ]
  }],
  "dimensionFilterClauses": [{
    "operator": "AND",
    "filters": [
      {
        "dimensionName": "ga:eventCategory",
        "operator": "EXACT",
        "expressions": ["Outbound Link"]
      }
    ],
    "filters": [
      {
        "dimensionName": "ga:eventAction",
        "operator": "EXACT",
        "expressions": ["click"]
      }
    ]
  }]
}

ほとんどのユースケースでは、従来の形式が最もフィルタ パラメータを指定する方法です。ただし、高度なフィルタ処理(ディメンションに対して比較演算子を使用するなど)が必要な場合は、値を JSON として指定する必要があります。

セグメント

クエリを適用するセッションまたはユーザーのセットを制限する条件。セグメントは、次の 2 つの形式のいずれかで指定できます。

たとえば、セグメント パラメータの有効な値は次のいずれかになります。

gaid::-1,sessions::condition::ga:city==New York
gaid::-1,
sessions::condition::ga:city==New York
[{
  "dynamicSegment": {
    "name": "New York Sessions",
    "sessionSegment": {
      "segmentFilters": [{
        "simpleSegment": {
          "orFiltersForSegment": [{
            "segmentFilterClauses":[{
              "dimensionFilter": {
                "dimensionName": "ga:city",
                "expressions": ["New York"]
              }
            }]
          }]
        }
      }]
    }
  }
}, {
  "dynamicSegment": {
    "name": "Non-referral Sessions",
    "sessionSegment": {
      "segmentFilters": [{
        "simpleSegment": {
          "orFiltersForSegment": [{
            "segmentFilterClauses": [{
              "dimensionFilter": {
                "dimensionName": "ga:medium",
                "operator": "EXACT",
                "expressions": [ "referral" ]
              }
            }]
          }]
        },
        "not": "True"
      }]
    }
  }
}]

ほとんどのユースケースでは、セグメント ID を指定する方法、または従来の定義形式を使用する方法が最も簡単です。ただし、高度なセグメント化が必要な場合(ディメンションで比較演算子を使用するなど)は、値を JSON として指定する必要があります。

上限

レポートに対して返される結果の最大数。このパラメータを空白のままにすると、すべての結果が返されます。

スプレッドシートの URL 結果を出力する外部スプレッドシートの URL。デフォルトでは、結果は現在のスプレッドシートのシートに出力されます。この機能を使用するには、スプレッドシートでの編集権限が必要です。
レポートをスキップ

TRUE の場合、対応する列のレポートは実行されません。このオプションは、新しいレポートでテストを実施し、確認が完了するまですべてのレポートを実行したくない場合に便利です。また、既存のレポートの実行を停止したい場合や、データに変更がない場合にも便利です。

このフィールドは、数式を使用してプログラムで設定できます。たとえば、次の式では、終了日の値(セル B5")が過去の日付になっているとレポートがスキップされます。

=IF(B5 < TODAY(), TRUE, FALSE)

非表示のパラメータ

名前 まとめ
レポートタイプ

デフォルトで(または空白のままにすると)、このレポートは Analytics Reporting API v4 にクエリを送信します。Multi-ChannelFunnel Reporting API に対してクエリを実行するには、値を「mcf」に設定します。

MCF API を使用する場合は、MCF のディメンションと指標も使用する必要があります。また、他の機能(セグメントなど)は MCF レポートではご利用いただけません。

サンプリング レベル 目的のレポートのサンプルサイズ。有効な値は「DEFAULT"」(空白のままにします)、「SMALL」または「LARGE」です。
リソースの割り当ての使用 リソースベースの割り当てシステムは、新しい割り当てシステムです。アナリティクス 360 の一部のアカウントで、Analytics Reporting API の使用時にサンプリングしきい値を引き上げられます。この機能にアクセスできる場合は、このパラメータを TRUE に設定することで有効にできます。
空の行を除外する

このパラメータを使用すると、行内のすべての指標値がゼロの場合にレポートから行を除外できます。デフォルトの動作(または空白のままにした場合)では、すべての行が表示されます(推奨)。

なお、このパラメータは Analytics Reporting API v4includeEmptyRows パラメータに対応していますが、意図する動作を理解しやすいように「包含」から「除外」に名前を変更しています。