Google Analytics(GA4)からレポートを取得(GetGA4Report)
この記事では、Google Analyticsからデータを取得する方法について紹介します。
【できるようになること】
- GetGA4Reportアクションを設定
- Google Analyticsのデータを取得
本アクションはGA4に対応した専用のものとなります。GetGAReport(ユニバーサルアナリティクス)の記事やアクションと混同されないようご注意ください。GetGAReportについてはこちら
GetGA4Reportアクションを設定
下記手順にてワークフローを設定します。
実行前にはGoogle Analyticsのコネクション連携が必要となります。
- フィルタを設定することで取得するデータの値を制限することができます。
“metricFilter”は特定の数値メトリクス(例:セッション数、ページビュー数)をフィルタリングするのに使います。一方で、”dimensionFilter”は特定の属性(例:国、都市、ページパスなど)に基づいてデータをフィルタリングします。
- フィルタの作成方法は以下になります。
①公式ドキュメントの「Try this method」の「Request body」からmetricFilterまたはdimensionFilterを選択し、フィルタオブジェクトを作成する
②作成したフィルタのmetricFilterまたはdimensionFilterの内側のオブジェクトをコピーする
③GetGA4Report アクションのmetricFilterまたはdimensionFilterパラメータに貼り付ける
- フィルタの書き方については以下になります。
- 基本のフィルタ
キーにfilter、値に条件を設定します。例) { "filter": { "fieldName": "eventName", "stringFilter": { "value":"first_visit" } } }fieldNameには metrics 名または dimension 名を指定します。stringFilterで指定している箇所は後述のフィルタの種類をご参照ください。 - 否定系
notExpressionを使用することで、フィルタで指定された条件に一致しないデータを取得できます。例) { "notExpression": { "filter": { "fieldName": "eventName", "stringFilter": { "value":"first_visit" } } } } - AND条件
andGroupを使用することで、複数のフィルタ条件をすべて満たすデータを取得できます。例) { "andGroup": { "expressions": [{ "filter": { "fieldName":"sessionDefaultChannelGroup", "stringFilter": { "value":"Organic Search" } } }, { "filter": { "fieldName":"country", "stringFilter": { "value":"Japan" } } }] }expressionsは、対象となるフィルタ条件をリスト形式で記述する際に使用します。 - OR条件
orGroupを使用することで、フィルタ条件のいずれかが満たされる場合にデータを取得できます。例) { "orGroup": { "expressions": [{ "filter": { "fieldName":"eventName", "stringFilter": { "value":"page_view" } } }, { "filter": { "fieldName":"eventName", "stringFilter": { "value":"first_visit" } } }] } }expressionsは、対象となるフィルタ条件をリスト形式で記述する際に使用します。
- 基本のフィルタ
- フィルタの種類
- StringFilter
文字列関連のフィルタ。例) { "matchType": CONTAINS, "value": organic, "caseSensitive": false }matchTypeでは文字列値と値のマッチング方法を指定します。 以下、マッチタイプの種類です。MATCH_TYPE_UNSPECIFIED 指定なし EXACT 文字列値と完全一致 BEGINS_WITH 文字列値で始まる ENDS_WITH 文字列値で終わる CONTAINS 文字列値に含まれる FULL_REGEXP 正規表現と文字列値の完全一致 PARTIAL_REGEXP 正規表現と文字列値の部分一致 valueでは文字列値を指定します。caseSensitiveでは文字列値で大文字と小文字を区別するかどうかを指定します。true の場合、区別されます。 - inListFilter
文字列関連のフィルタ。複数の文字列値を指定できます。例) { "values": ["Japan", "China"], "caseSensitive": false }valuesには複数の文字列値を配列形式で指定します。配列の中身は空でない必要があります。caseSensitiveでは文字列値で大文字と小文字を区別するかどうかを指定します。true の場合、区別されます。 - numericFilter
数値または日付の値のフィルタ。例) { "operation": "GREATER_THAN_OR_EQUAL", "value": { "int64Value":700 } }operationには、数値を比較する演算子を指定します。 以下、比較演算子の種類です。OPERATION_UNSPECIFIED 指定なし EQUAL 等しい LESS_THAN 値より小さい LESS_THAN_OR_EQUAL 値以下 GREATER_THAN 値より大きい GREATER_THAN_OR_EQUAL 値以上 valueには数値または日付を指定します。int64Valueの部分には数値のタイプを指定します。以下、数値のタイプの種類です。int64Value 整数値 doubleValue double 値 - betweenFilter
2 つの値のフィルタ。結果は 2 つの数値の間にあることを表します。例) { "fromValue": { "int64Value":700 }, "toValue": { "int64Value":800 } }fromValueには始まりの値を指定します。中身は numericFilter のvalueと同様です。toValueには終わりの値を指定します。中身は numericFilter のvalueと同様です。
- StringFilter
GA4を設定しているページにAUTOROをはじめとしたRPAでアクセスするフローが走っている場合、そのアクセスもレポート上に反映されています。
これをレポート対象から外したい場合、アクセスするブラウザに固有設定を追加し、本アクションのフィルタで除外するように設定します。
設定例
OpenBrowserに言語、画面サイズ、ユーザーエージェントを設定
(各項目の設定方法などはこちらをご参照ください)
# ブラウザを開く +open_browser_1: action>: OpenBrowser url: '' lang: en timeZone: 'Asia/Tokyo' userAgent: 'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko' headless: true windowSize: '1280 x 720' useShadowDomSelector: false private: false
- 例1ワークフロー実行結果
- 例1ワークフロー設定内容
- 例2ワークフロー実行結果
- 例2ワークフロー設定内容
- 例3ワークフロー実行結果
- 例3ワークフロー設定内容
- 例4ワークフロー実行結果
- 例4ワークフロー設定内容
# GA4のレポートを取得
+get_g_a4_report_1:
action>: GetGA4Report
provider: ''
propertyId: ''
startDate: ''
endDate: ''
metrics: sessions
dimensions: 'date, sessionDefaultChannelGroup'
metricFilter: ''
dimensionFilter:
filter:
fieldName: sessionDefaultChannelGroup
stringFilter:
matchType: CONTAINS
value: organic
caseSensitive: false
pageSize: 1000
private: false
meta:
display:
provider:
type: chip
label: 'Google Analytics (xxxxxxxxxx@xxxxx)'
icon: googleanalytics
# JSONを配列に変換_スプレッドシートに貼り付ける形式に変更します
+convert_j_s_o_n_to_array_1:
action>: ConvertJSONToArray
json: +get_g_a4_report_1
header: ["rows.dimensionValues.value","rows.metricValues.value"]
unwind: []
stringify: []
private: false
# 変数に保存
+store_value_1:
action>: StoreValue
key: ga4report
value: +convert_j_s_o_n_to_array_1
private: false
# 既存のスプレッドシートを取得
+get_spreadsheet_1:
action>: GetSpreadsheet
provider: ''
spreadsheet_id: ''
private: false
meta:
display:
provider:
type: chip
label: 'Google Spreadsheet (xxxxxxxxxx@xxxxx)'
icon: googlespreadsheet
spreadsheet_id:
label: ''
icon: text
type: chip
# セルの値を更新_ヘッダーを削除して貼り付けます
+update_cells_1:
action>: UpdateCells
spreadsheet: +get_spreadsheet_1
range: ''
values: ${ga4report.shift();ga4report;}
private: false # GA4のレポートを取得
+get_g_a4_report_1:
action>: GetGA4Report
provider: ''
propertyId: ''
startDate: ''
endDate: ''
metrics: newUsers
dimensions: 'date, country'
metricFilter: ''
dimensionFilter:
notExpression:
filter:
fieldName: country
inListFilter:
values:
- Japan
- China
caseSensitive: false
pageSize: 1000
private: false
meta:
display:
provider:
type: chip
label: 'Google Analytics (xxxxxxxxxx@xxxxx)'
icon: googleanalytics
# JSONを配列に変換_スプレッドシートに貼り付ける形式に変更します
+convert_j_s_o_n_to_array_1:
action>: ConvertJSONToArray
json: +get_g_a4_report_1
header: ["rows.dimensionValues.value","rows.metricValues.value"]
unwind: []
stringify: []
private: false
# 変数に保存
+store_value_1:
action>: StoreValue
key: ga4report
value: +convert_j_s_o_n_to_array_1
private: false
# 既存のスプレッドシートを取得
+get_spreadsheet_1:
action>: GetSpreadsheet
provider: ''
spreadsheet_id: ''
private: false
meta:
display:
provider:
type: chip
label: 'Google Spreadsheet (xxxxxxxxxx@xxxxx)'
icon: googlespreadsheet
spreadsheet_id:
label: ''
icon: text
type: chip
# セルの値を更新_ヘッダーを削除して貼り付けます
+update_cells_1:
action>: UpdateCells
spreadsheet: +get_spreadsheet_1
range: ''
values: ${ga4report.shift();ga4report;}
private: false 例3) 国が日本かつチャネルグループが Organic Search の新規ユーザー数
このデータはそのままだと貼り付けができないため、JSONから配列への変換アクションを使って加工します。
貼り付けイメージ
# GA4のレポートを取得
+get_g_a4_report_1:
action>: GetGA4Report
provider: ''
propertyId: ''
startDate: ''
endDate: ''
metrics: newUsers
dimensions: 'country, sessionDefaultChannelGroup'
metricFilter: ''
dimensionFilter:
andGroup:
expressions:
- filter:
fieldName: sessionDefaultChannelGroup
stringFilter:
value: 'Organic Search'
- filter:
fieldName: country
stringFilter:
value: Japan
pageSize: 1000
private: false
meta:
display:
provider:
type: chip
label: 'Google Analytics (xxxxxxxxxxo@xxxxx)'
icon: googleanalytics
# JSONを配列に変換_スプレッドシートに貼り付ける形式に変更します
+convert_j_s_o_n_to_array_1:
action>: ConvertJSONToArray
json: +get_g_a4_report_1
header: ["rows.dimensionValues.value","rows.metricValues.value"]
unwind: []
stringify: []
private: false
# 変数に保存
+store_value_1:
action>: StoreValue
key: ga4report
value: +convert_j_s_o_n_to_array_1
private: false
# 既存のスプレッドシートを取得
+get_spreadsheet_1:
action>: GetSpreadsheet
provider: ''
spreadsheet_id: ''
private: false
meta:
display:
provider:
type: chip
label: 'Google Spreadsheet (xxxxxxxxxx@xxxxx)'
icon: googlespreadsheet
spreadsheet_id:
label: 'GA4設定テスト'
icon: text
type: chip
# セルの値を更新_ヘッダーを削除して貼り付けます
+update_cells_1:
action>: UpdateCells
spreadsheet: +get_spreadsheet_1
range: ''
values: ${ga4report.shift();ga4report;}
private: false 例4) イベント名が page_view または first_visit の1日ごとのイベント数を取得
このデータはそのままだと貼り付けができないため、JSONから配列への変換アクションを使って加工します。
貼り付けイメージ
# GA4のレポートを取得
+get_g_a4_report_1:
action>: GetGA4Report
provider: ''
propertyId: ''
startDate: ''
endDate: ''
metrics: eventCount
dimensions: eventName
metricFilter: ''
dimensionFilter:
orGroup:
expressions:
- filter:
fieldName: eventName
stringFilter:
value: page_view
- filter:
fieldName: eventName
stringFilter:
value: first_visit
pageSize: 1000
private: false
meta:
display:
provider:
type: chip
label: 'Google Analytics (xxxxxxxxxx@xxxxx)'
icon: googleanalytics
# JSONを配列に変換_スプレッドシートに貼り付ける形式に変更します
+convert_j_s_o_n_to_array_1:
action>: ConvertJSONToArray
json: +get_g_a4_report_1
header: ["rows.dimensionValues.value","rows.metricValues.value"]
unwind: []
stringify: []
private: false
# 変数に保存
+store_value_1:
action>: StoreValue
key: ga4report
value: +convert_j_s_o_n_to_array_1
private: false
# 既存のスプレッドシートを取得
+get_spreadsheet_1:
action>: GetSpreadsheet
provider: ''
spreadsheet_id: ''
private: false
meta:
display:
provider:
type: chip
label: 'Google Spreadsheet (xxxxxxxxxx@xxxxx)'
icon: googlespreadsheet
spreadsheet_id:
label: ''
icon: text
type: chip
# セルの値を更新_ヘッダーを削除して貼り付けます
+update_cells_1:
action>: UpdateCells
spreadsheet: +get_spreadsheet_1
range: ''
values: ${ga4report.shift();ga4report;}
private: false <GetGA4Report>Google Analytics4からレポートを取得



















