曝光埋点

定位

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

多种埋点对比

埋点类型 触发时机 核心目的 典型字段
页面浏览埋点(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>
相关推荐
TDengine (老段)5 小时前
TDengine RAFT共识协议 — 选举、日志复制、快照与仲裁
android·大数据·数据库·物联网·架构·时序数据库·tdengine
码云之上6 小时前
万星入坞:我们如何用三层插件体系干掉巨石应用
前端·架构·前端框架
kyriewen6 小时前
一口气讲清楚 Monorepo、Turborepo、pnpm、Changesets 到底是什么?
前端·架构·前端工程化
zzmgc48 小时前
纯静态 + Web Worker + 虚拟滚动:我是怎么让浏览器吃下 10MB JSON 不卡的
前端·架构
星辰_mya8 小时前
彩云之上——[特殊字符]的架构师
java·后端·微服务·面试·架构
2601_954526759 小时前
逆向解析Temu底层动销算法:基于API高并发轮询与全域存量透视的自动化架构重构
算法·架构·自动化
小蒋聊技术9 小时前
电商系列第七课:售后与物流中心 —— 服务质量提升与智能物流路由
架构·系统架构·电商
EBABEFAC10 小时前
架构沟通能力提升
架构
RingWu11 小时前
微服务架构-全链路追踪
微服务·云原生·架构
爱勇宝11 小时前
别焦虑,也别躺平:给年轻程序员的一封信
前端·后端·架构