Expo React Native应用iOS端Google Ads推广及转化追踪故障排查
问题排查与解决方案
一、iOS广告系列无展示、无花费问题
- 确认应用ID与配置匹配:检查Google Ads中iOS广告系列绑定的应用Bundle ID,必须与App Store上架的ID完全一致(大小写、后缀都不能错)。同时在Expo的
app.json中确认ios.bundleIdentifier正确,且ios.usesNonExemptEncryption设为false(若应用未使用加密功能,否则可能影响广告归因与展示)。 - 排查出价与定位设置:若出价低于iOS同类应用的平均水平,或定位条件过窄(如仅选择极小地区、小众受众),会导致无匹配用户。可以尝试暂时放宽定位(比如先选全球),提高出价至行业中位数,观察是否有展示。
- 验证SDK集成完整性:使用
react-native-google-mobile-ads时,确保EAS构建或本地Xcode构建中正确引入了Google Ads SDK:- 检查Xcode项目中是否添加了
GoogleService-Info.plist,且文件路径正确; - 确认AdMob广告单元ID是iOS专用(不要混用Android的ID)。
- 检查Xcode项目中是否添加了
二、Firebase first_open转化追踪不生效问题
- 确认账号关联与转化动作设置:
- 检查Firebase控制台「集成」→「Google Ads」,确保已关联目标Google Ads账号,且启用了「导入Firebase事件作为转化」;
- 在Google Ads中创建转化动作时,选择「Firebase」作为来源,准确选择
first_open事件,且转化动作的状态为「已启用」。
- 完善SKAdNetwork配置:确保
app.json中包含Google Ads与AdMob所需的所有SKAdNetwork ID,至少包含核心ID:"ios": { "skAdNetworkItems": [ {"skAdNetworkIdentifier": "cstr6suwn9.skadnetwork"}, {"skAdNetworkIdentifier": "4fzdc2evr5.skadnetwork"}, {"skAdNetworkIdentifier": "4pfyvq9l8r.skadnetwork"}, {"skAdNetworkIdentifier": "2fnua5tdw4.skadnetwork"}, {"skAdNetworkIdentifier": "ydx93a7ass.skadnetwork"} ] } - 处理ATT权限请求:iOS 14.5+必须请求用户授权App Tracking Transparency,否则无法完成归因:
- 安装
expo-tracking-transparency包; - 在应用启动时调用权限请求:
import * as TrackingTransparency from 'expo-tracking-transparency'; async function initTracking() { const { status } = await TrackingTransparency.requestTrackingPermissionsAsync(); // 可根据status处理后续逻辑 } - 在
app.json中添加权限描述:"ios": { "infoPlist": { "NSUserTrackingUsageDescription": "我们需要您的授权以追踪广告效果,优化应用体验" } }
- 安装
- 检查数据同步逻辑:若转化动作设置为「数据驱动」,需要至少100个转化才能激活统计,建议暂时切换为「规则驱动」测试。同时在Firebase事件报表中查看
first_open事件是否包含google_ads_campaign_id、google_ads_ad_group_id等归因参数,若缺失则说明归因链路断裂。
额外排查步骤
- 查看Google Ads广告系列的「诊断」标签,是否有政策受限、SKAdNetwork配置错误等提示;
- 在App Store Connect中确认应用的广告权限未被限制,且App Store审核时未拒绝广告相关配置;
- 使用Google Ads的「转化跟踪工具」验证转化链路是否正常,排查是否有数据传输中断问题。
内容的提问来源于stack exchange,提问作者Emre Koc
相关产品推荐
相关产品推荐

