You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Admob广告事件同步至BigQuery缺失字段问题咨询

解决BigQuery中Admob事件数据字段缺失问题

核心问题分析

Firebase默认同步到BigQuery的Admob事件仅包含基础参数,user_id、screen_name、ad_id及单条广告收益需要通过自定义事件参数补充,或调整同步配置确保参数被完整传递。


1. 代码层补充自定义事件参数

在Admob广告的回调逻辑中,手动将所需字段附加到Firebase事件中,确保数据被采集:

Android(Kotlin)示例

// 广告展示回调中添加参数
FirebaseAnalytics.getInstance(context).logEvent(FirebaseAnalytics.Event.AD_IMPRESSION, bundleOf(
    FirebaseAnalytics.Param.AD_UNIT_ID to adUnitId,
    "user_id" to FirebaseAuth.getInstance().currentUser?.uid, // 替换为你的用户ID逻辑
    "screen_name" to "home_screen", // 当前页面标识,比如通过页面类名或自定义常量传递
    "ad_id" to adResponse?.adId, // 从AdMob的AdResponse对象中获取广告ID
    "revenue" to adResponse?.revenue // 仅支持激励视频/插屏等有单条收益的广告类型
))

iOS(Swift)示例

// 广告展示回调中添加参数
Analytics.logEvent(AnalyticsEventAdImpression, parameters: [
    AnalyticsParameterAdUnitID: adUnitID,
    "user_id": Auth.auth().currentUser?.uid ?? "",
    "screen_name": "home_screen",
    "ad_id": adResponse?.adID ?? "",
    "revenue": adResponse?.revenue ?? 0.0
])
  • 注意:user_id若使用Firebase Auth的UID,也可通过设置Firebase用户属性自动同步,但关联到Admob事件时,主动附加参数更可靠;screen_name可复用Firebase自动采集的screen_view事件参数,但需确保在Admob事件中显式传递。

2. 调整Firebase-BigQuery同步配置

确保所有事件参数和用户属性被同步到BigQuery:

  • 进入Firebase控制台 → 项目设置 → 集成 → BigQuery → 编辑同步设置
  • 勾选包括所有事件参数和用户属性,保存配置。
  • 注:修改配置后仅会同步新增事件,历史数据无法回溯补充。

3. BigQuery查询完整数据

参数采集完成后,可通过以下SQL查询获取包含目标字段的Admob事件数据:

SELECT
    -- 提取自定义user_id,若用Firebase用户属性则替换为user_properties字段
    (SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'user_id') AS user_id,
    (SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'screen_name') AS screen_name,
    (SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'ad_id') AS ad_id,
    (SELECT value.double_value FROM UNNEST(event_params) WHERE key = 'revenue') AS single_ad_revenue,
    event_name,
    event_timestamp,
    (SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'ad_unit_id') AS ad_unit_id
FROM
    `your_firebase_project_id.analytics_xxxxxx.events_*`
WHERE
    event_name IN ('ad_impression', 'ad_click', 'ad_reward')
    AND _TABLE_SUFFIX BETWEEN '20240101' AND '20240131' -- 替换为目标时间范围

4. 单条广告收益补充说明

  • Admob仅为激励视频、插屏、原生广告返回单条展示收益(revenue参数),横幅广告无法获取单次展示的精准收益,只能通过Admob后台报表按广告单元统计平均收益。
  • 若需更精准的收益关联,可结合AdSense Management API拉取广告单元日收益数据,与BigQuery中的事件数计算单条平均收益,但无法实现单事件级别的精准匹配。

内容的提问来源于stack exchange,提问作者Leonid Kachanovskyi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 03:05:27