Google Analytics 和 API 集成之间的总用户指标存在差异

问题描述 投票:0回答:1

我几天来一直在努力将 Google Analytics 与 Power BI 集成。这是我迄今为止尝试过的:

Linkind via BigQuery:它每天在 Power BI 中创建一个表,这不适合我的需求。 第三方连接器:某些值匹配,但totalUsers 指标不匹配。 使用Data API V1beta客户端:下面是我正在使用的代码:

我了解 Google Analytics(分析)数据可以是多维的,如果涉及其他维度和指标,值可能会有所不同。即使当我将查询限制为仅 pagePath 维度和totalUsers 指标时,这些值仍然显示出显着的差异。

import pandas as pd
from google.analytics.data_v1beta import BetaAnalyticsDataClient
from google.analytics.data_v1beta.types import (
    DateRange,
    Dimension,
    Metric,
    RunReportRequest,
)
from google.cloud import bigquery
import os
from datetime import datetime, timedelta

# Set up the environment
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = 'path/service_account.json'

property_info = {
     "id_property": "Website 1",
}

client = BetaAnalyticsDataClient()
bq_client = bigquery.Client()

project_id = 'id' 
dataset_id = 'id' 
table_id = 'GA4_Brands'
table_id_full = f"{project_id}.{dataset_id}.{table_id}"

start_date = "2024-09-01"
end_date = "2024-09-16"

all_data = []

for property_id, account_name in property_info.items():
    print(f"Processing property: {property_id} (Account: {account_name})")
    
    request = RunReportRequest(
        property=f"properties/{property_id}",
        dimensions=[
            Dimension(name="date"),
            Dimension(name="sessionSource"),
            Dimension(name="pagePath"),
            Dimension(name="city"),
        ],
        metrics=[
            Metric(name="screenPageViews"),
            Metric(name="totalUsers"),
            Metric(name="sessions"),
        ],
        date_ranges=[DateRange(start_date=start_date, end_date=end_date)],
        limit=250000
    )
    
    print(f"Fetching data for the period from {start_date} to {end_date}")
    
    try:
        response = client.run_report(request)
    except Exception as e:
        print(f"Error fetching data from GA4: {e}")
        continue 

    for row in response.rows:
        row_data = {
            "Page Path": row.dimension_values[2].value,
            "Total Users": int(row.metric_values[1].value),
        }
        all_data.append(row_data)

# Create DataFrame
df = pd.DataFrame(all_data)
print(f"DataFrame created with {len(df)} records")

# Save DataFrame to Excel file
output_file = 'dados_ga4.xlsx'
df.to_excel(output_file, index=False, engine='openpyxl')
print(f"Data saved to {output_file}")

数据被发送到 BigQuery,但我预计此代码会出现更多与增量实现相关的问题。

我面临的最大问题是,无论我使用 API 还是第三方集成,totalUsers 指标与 Google Analytics 中的报告不匹配。

例如,上个月,Google Analytics 报告有 5,200 个用户。在第三方平台中,该指标为 18,333。使用Data API V1beta客户端,该值为18,460。

为什么会出现这些差异?如何解决这些差异?

谢谢!

我尝试通过各种方法将Google Analytics与Power BI集成:

BigQuery 集成:我尝试将 Google Analytics 链接到 BigQuery 并使用 Power BI 中的数据。我希望获得一个可以轻松导入 Power BI 的综合数据集。然而,它导致创建每日表格,这不适合我的需求。

第三方连接器:我使用了多个第三方连接器将 Google Analytics 数据提取到 Power BI 中。我希望这些连接器能够提供准确的指标,包括总用户数。然而,虽然某些值匹配,但总用户数指标不一致。

Data API V1beta 客户端:我使用 Data API V1beta 客户端和 Python 直接从 Google Analytics 提取数据。我希望这种方法能够提供准确而详细的数据。 API 提供了数据,但总用户数指标与 Google Analytics 或第三方平台中报告的数字不一致。

API、Google Analytics 和第三方平台之间的总用户数差异严重影响了我的数据分析和报告。

python google-bigquery powerbi google-analytics-api google-analytics-4
1个回答
0
投票
我没有解决方案,只有一些调试步骤

我会首先检查来源之间的屏幕视图,如果它们相似,那么你就相似,不会像在 GA4 中采样或过滤器出错那样愚蠢。

如果您有一个应用程序和一个网站,用户可以在同一会话中访问这两个应用程序和网站,那么这是一个值得一看的好地方。

如果不是其中任何一个,则可能是通过 User_ID 来执行此操作

    GA4 通过使用 User_ID 或利用 Google Signals 应用某些方法对用户进行重复数据删除,这有助于跨设备识别和合并用户数据。
  • 在 BigQuery 中,如果您根据 user_pseudo_id 计算用户数,拒绝 cookie 和某些浏览器将阻止用户拥有 user_pseudo_id,在这种情况下,其空白或多次访问将具有不同的 Ids
如果是这种情况,请在 user_pseudo_id 中查找大量空白,您可以选择在哪里使用它或使用 user_ids 处理示例

© www.soinside.com 2019 - 2024. All rights reserved.