【发布时间】:2023-02-08 20:12:00
【问题描述】:
我们在 Google Analytics Data API v1Beta 中定义了自定义维度,用于从 Google Analytics GA4 帐户中提取数据。 我正在尝试使用 python 获取关于日期、campaignId、campaignName 和 eventName 的 eventCount 指标。我想知道不同 campaignName 中不同 eventName 的 eventCount 是多少。有什么办法可以解决我如何获取这些数据?
import pandas as pd
import numpy as np
from google.analytics.data_v1beta import BetaAnalyticsDataClient
from google.analytics.data_v1beta.types import DateRange
from google.analytics.data_v1beta.types import Dimension
from google.analytics.data_v1beta.types import Metric
from google.analytics.data_v1beta.types import RunReportRequest
client = BetaAnalyticsDataClient()
## Format Report - run_report method
def format_report(request):
response = client.run_report(request)
# Row index
row_index_names = [header.name for header in response.dimension_headers]
row_header = []
for i in range(len(row_index_names)):
row_header.append([row.dimension_values[i].value for row in response.rows])
row_index_named = pd.MultiIndex.from_arrays(np.array(row_header), names = np.array(row_index_names))
# Row flat data
metric_names = [header.name for header in response.metric_headers]
data_values = []
for i in range(len(metric_names)):
data_values.append([row.metric_values[i].value for row in response.rows])
output = pd.DataFrame(data = np.transpose(np.array(data_values, dtype = 'f')),
index = row_index_named, columns = metric_names)
return output
request = RunReportRequest(
property='properties/'+property_id,
dimensions=[
Dimension(name="date"),
Dimension(name="eventName"),
Dimension(name="campaignId"),
Dimension(name="campaignName")
],
metrics=[
Metric(name="eventCount"),
],
date_ranges=[DateRange(start_date="2023-01-22", end_date="2023-01-25")],
)
错误:
InvalidArgument:400 请删除 eventCount 以使请求兼容。请求的维度和指标不兼容。要了解更多信息,请参阅https://ga-dev-tools.web.app/ga4/dimensions-metrics-explorer/
【问题讨论】:
标签: python api google-analytics-api google-analytics-4