曝光埋点

定位

关注实际内容块,被看到的统计,更加准确的反应了,用户真正关注点

多种埋点对比

埋点类型 触发时机 核心目的 典型字段
页面浏览埋点(PV/UV) 页面打开、路由切换 统计页面访问次数、人流量 页面路径、停留时长、来源
曝光埋点 元素进入可视区域 统计内容真实被看见的次数 元素 ID、位置、曝光时长
点击埋点(行为埋点) 用户手动点击 / 触摸 统计用户主动操作意愿 点击元素、操作类型、参数

案例

核心: 通过intersectionobserver 观察真正的元素曝光点

js 复制代码
一: 传统方式,监听滚动事件,通过getBoundingclinetRect top的距离小于可视元素高度

二实际运用
<!DOCTYPE html>
<html>
<head>
  <title>曝光埋点-官方API版</title>
  <style>
    .box { height: 1000px; }
    .target { width: 300px; height: 200px; background: skyblue; margin: 20px 0; }
  </style>
</head>
<body>
  <div class="box">滚动页面↓</div>
  <!-- 多个埋点元素 -->
  <div class="target" data-id="goods_001">商品1</div>
  <div class="target" data-id="goods_002">商品2</div>
  <div class="target" data-id="goods_003">商品3</div>
  <div class="box"></div>

  <script>
    // 1. 创建曝光监听器(核心API)
    const observer = new IntersectionObserver((entries) => {
      // entries:所有被监听的元素数组
      entries.forEach(entry => {
        // 2. 判断元素是否正在曝光(isIntersecting=true=可见)
        if (entry.isIntersecting) {
          const target = entry.target
          // 3. 上报数据
          reportExposure(target)
          // 4. 上报后取消监听(防止重复上报)
          observer.unobserve(target)
        }
      })
    })

    // 2. 上报函数
    function reportExposure(target) {
      const data = {
        elementId: target.dataset.id,
        page: '商品列表页',
        time: new Date().toLocaleString()
      }
      console.log('✅ API版曝光上报:', data)
    }

    // 3. 给所有需要埋点的元素绑定监听
    document.querySelectorAll('.target').forEach(item => {
      observer.observe(item)
    })
  </script>
</body>
</html>
相关推荐
微订校园外卖系统6 小时前
校园外卖多站点管理能做吗?三层权限与对账架构
架构·外卖系统·本地生活·微订
得帆低代码PaaS7 小时前
企业级 Agent 架构:MCP、Integration、数据与治理能力
大数据·人工智能·架构·ai agent·企业数字化·mcp
孟健10 小时前
实测 agent-desktop:AI 控制桌面不截图、不占鼠标键盘,连点 55 次计算器 0 失误
人工智能·架构·开源
你三大爷11 小时前
Netty / Kafka / Redis 保序问题的源码对比与 NIO 框架主流解法
后端·架构
神鹰手哥_起飞版12 小时前
从一张像素网格,理解康威生命游戏的核心机制
架构
张彦峰ZYF14 小时前
放行、排队与拒绝:限流设计的算法选型、数据结构与并发代价
后端·架构·滑动窗口·漏桶·令牌桶·高并发+限流
Trae_陈冀14 小时前
写详细设计总堆代码没逻辑?我做了个自动生成工具,3套模板+规范内置,输出直接过评审
架构·agent
Linye14 小时前
AI 越跑越偏?从 500 行臃肿规则到 80 行核心约束:多 Agent 项目中的「规则瘦身与防腐」四步排查法
人工智能·架构
Hespethorn15 小时前
112 个 Valgrind 错误,1 个根因:C++ 多线程服务的关机顺序复盘
后端·架构