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

如何在React/Next.js网站中编程检测Google AdSense广告的展示与报错状态

Google AdSense 广告有效展示统计实现方案

Google AdSense 官方提供了对应的事件回调能力,完全可以满足你统计单页有效广告展示数的需求。

核心实现逻辑

你需要在AdSense广告代码加载前,提前注册全局事件回调,监听真实展示事件即可:

// 提前初始化adsbygoogle对象,避免广告加载时报错
window.adsbygoogle = window.adsbygoogle || [];
// 定义当前页面有效展示计数变量
let currentPageAdCount = 0;

// 注册全局事件回调
window.adsbygoogle.push({
  event_callback: (eventName, adUnitData) => {
    // ad_impression 是广告真实有效展示的触发事件,符合AdSense官方有效结算规则
    if (eventName === 'ad_impression') {
      currentPageAdCount++;
      // 此处可编写你的自定义上报逻辑,将当前页面对应的内容ID、发布用户ID、展示次数等参数传给后端接口,存入数据库
      // 建议做防抖批量上报,避免单次展示就发请求
    }
    // 广告加载失败的回调,可按需用来统计错误率
    if (eventName === 'ad_failed') {
      // 自定义错误处理逻辑
    }
  }
});

注意事项

  • 不要使用ad_load事件作为统计依据,这个事件仅代表广告资源加载完成,不代表广告已经被用户看到,不符合有效展示的结算规则,统计数值和官方后台偏差会非常大。
  • 你自行统计的展示数和AdSense后台最终结算数据会存在少量合理偏差,因为官方会过滤无效流量、作弊点击、重复展示等异常数据,建议你自行统计的数值作为给用户展示的预估值,最终结算以AdSense官方数据为准。
  • 如果需要在用户离开页面时统一上报数据,可以监听beforeunload事件批量提交当前页面的总展示数,减少请求频次。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 16:15:04