[{"data":1,"prerenderedAt":414},["ShallowReactive",2],{"blog-meta-conversions-api-setup-zh-CN":3},{"id":4,"title":5,"excerpt":6,"content":7,"coverImage":356,"meta":364,"site":368,"status":389,"slug":390,"author":391,"category":401,"publishDate":19,"featured":78,"updatedAt":409,"createdAt":410,"contentHtml":411,"previewUrl":412,"localeSlugs":413},558,"Meta 转化 API（CAPI）接入指南 2026：去重、匹配质量与怎么验收","CAPI 不是像素的备份。按能让数字保持诚实的顺序讲接入：四种发送方式、决定去重成不成立的 event_id 规则、真正影响匹配质量的部分，以及怎么用自己的订单记录验收。",{"root":8},{"children":9,"direction":19,"format":15,"indent":13,"type":355,"version":18},[10,21,27,31,39,43,66,83,87,93,99,105,111,115,119,127,131,150,162,166,170,174,190,194,202,206,264,268,272,278,284,290,294,300,306,318,324,338,342,351],{"children":11,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[12],{"detail":13,"format":13,"mode":14,"style":15,"text":16,"type":17,"version":18},0,"normal","","转化 API（Conversions API，简称 CAPI）常被说成「浏览器像素的备份」。正是这个说法，让很多接入最后比只用像素还糟：团队接上服务端回传，看着转化数几乎翻倍，几个月后才发现去重从来就没生效过。这篇按「能让数字保持诚实」的顺序讲接入——CAPI 到底改变了什么、四种发送方式、决定数据可不可用的去重规则，以及在相信任何一条转化数据之前该怎么验。","text",1,null,"paragraph",{"children":22,"direction":19,"format":15,"indent":13,"type":25,"version":18,"tag":26},[23],{"detail":13,"format":13,"mode":14,"style":15,"text":24,"type":17,"version":18},"转化 API 真正改变的是什么","heading","h2",{"children":28,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[29],{"detail":13,"format":13,"mode":14,"style":15,"text":30,"type":17,"version":18},"浏览器像素从访客设备上报事件。这条路径现在天生是有损的：浏览器的追踪防护、扩展、网络层拦截，都会在事件到达 Meta 之前拿掉一部分，而且拿掉最多的恰恰是你最在意的那部分流量。",{"children":32,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[33,35,37],{"detail":13,"format":13,"mode":14,"style":15,"text":34,"type":17,"version":18},"转化 API 改成从",{"detail":13,"format":18,"mode":14,"style":15,"text":36,"type":17,"version":18},"你的服务器",{"detail":13,"format":13,"mode":14,"style":15,"text":38,"type":17,"version":18},"发送同样的事件。事件不经过访客浏览器，因此不受浏览器侧拦截影响。但它受你自己的实现影响：你的服务器不知道的东西，Meta 就收不到。",{"children":40,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[41],{"detail":13,"format":13,"mode":14,"style":15,"text":42,"type":17,"version":18},"由此有两个推论，而且都跟「备份」这个词给人的印象相反：",{"children":44,"direction":19,"format":15,"indent":13,"type":63,"version":18,"listType":64,"start":18,"tag":65},[45,56],{"children":46,"direction":19,"format":15,"indent":13,"type":55,"version":18,"value":18},[47,49,51,53],{"detail":13,"format":18,"mode":14,"style":15,"text":48,"type":17,"version":18},"CAPI 不是像素的替代品。",{"detail":13,"format":13,"mode":14,"style":15,"text":50,"type":17,"version":18}," 推荐配置是",{"detail":13,"format":18,"mode":14,"style":15,"text":52,"type":17,"version":18},"两边都发同样的事件，然后去重",{"detail":13,"format":13,"mode":14,"style":15,"text":54,"type":17,"version":18},"。像素贡献服务器看不到的浏览器侧信号，服务端贡献浏览器根本送不出去的事件。","listitem",{"children":57,"direction":19,"format":15,"indent":13,"type":55,"version":18,"value":62},[58,60],{"detail":13,"format":18,"mode":14,"style":15,"text":59,"type":17,"version":18},"CAPI 的数据质量由你负责。",{"detail":13,"format":13,"mode":14,"style":15,"text":61,"type":17,"version":18}," 像素会自动采集标识符；在服务端你必须主动附上。客户信息单薄的服务端回传匹配率很差，而它的表现形式不是报错，是被归因的转化悄悄消失。",2,"list","bullet","ul",{"children":67,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[68,70,81],{"detail":13,"format":13,"mode":14,"style":15,"text":69,"type":17,"version":18},"还没做浏览器侧的，先做那一步：见 ",{"children":71,"direction":19,"format":15,"indent":13,"type":74,"version":75,"fields":76,"id":80},[72],{"detail":13,"format":13,"mode":14,"style":15,"text":73,"type":17,"version":18},"Facebook Pixel 接入指南","link",3,{"linkType":77,"newTab":78,"url":79},"custom",false,"https://deepclick.com/zh-CN/resources/blog/facebook-pixel-setup-guide/","6a93f3b2a7882e00c88492dc",{"detail":13,"format":13,"mode":14,"style":15,"text":82,"type":17,"version":18},"。",{"children":84,"direction":19,"format":15,"indent":13,"type":25,"version":18,"tag":26},[85],{"detail":13,"format":13,"mode":14,"style":15,"text":86,"type":17,"version":18},"四种发送方式",{"children":88,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":18,"textStyle":15},[89,91],{"detail":13,"format":18,"mode":14,"style":15,"text":90,"type":17,"version":18},"直接对接 API。",{"detail":13,"format":13,"mode":14,"style":15,"text":92,"type":17,"version":18}," 你的后端自己调 API。对发哪些事件、附什么数据、什么时候发的控制力最强；代价是研发投入和长期维护。它也是唯一能发送「浏览器里根本不存在的事件」的方式——线下成交、退款、三天后才被判定为有效的线索。",{"children":94,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":18,"textStyle":15},[95,97],{"detail":13,"format":18,"mode":14,"style":15,"text":96,"type":17,"version":18},"平台自带集成。",{"detail":13,"format":13,"mode":14,"style":15,"text":98,"type":17,"version":18}," 主流电商平台都提供第一方 CAPI 连接。上手最快，标准购买漏斗够用；限制是发什么由集成方决定。",{"children":100,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":18,"textStyle":15},[101,103],{"detail":13,"format":18,"mode":14,"style":15,"text":102,"type":17,"version":18},"合作方或标签管理器集成。",{"detail":13,"format":13,"mode":14,"style":15,"text":104,"type":17,"version":18}," 服务端标签管理把事件经由你自己的服务端容器转发。如果你本来就在跑服务端标签，这是不错的中间选项。",{"children":106,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":18,"textStyle":15},[107,109],{"detail":13,"format":18,"mode":14,"style":15,"text":108,"type":17,"version":18},"Conversions API Gateway。",{"detail":13,"format":13,"mode":14,"style":15,"text":110,"type":17,"version":18}," 托管服务，替你把服务端基础设施架起来。缺研发人力时合理，代价是链路上多一个依赖。",{"children":112,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[113],{"detail":13,"format":13,"mode":14,"style":15,"text":114,"type":17,"version":18},"对多数团队，诚实的答案是：先用平台集成，再针对平台看不到的那些事件补一个直接对接。",{"children":116,"direction":19,"format":15,"indent":13,"type":25,"version":18,"tag":26},[117],{"detail":13,"format":13,"mode":14,"style":15,"text":118,"type":17,"version":18},"去重：决定这套东西成不成立的那一环",{"children":120,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[121,123,125],{"detail":13,"format":13,"mode":14,"style":15,"text":122,"type":17,"version":18},"如果像素和服务端都上报了同一笔购买，而 Meta 判断不出它们是同一笔，它就会记成两笔。你的转化数虚高、单次转化成本腰斩，而下游每一个优化决策都建立在一个",{"detail":13,"format":18,"mode":14,"style":15,"text":124,"type":17,"version":18},"朝着好看方向错",{"detail":13,"format":13,"mode":14,"style":15,"text":126,"type":17,"version":18},"的数字上。",{"children":128,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[129],{"detail":13,"format":13,"mode":14,"style":15,"text":130,"type":17,"version":18},"起作用的是两个字段，两边必须对同一次事件保持一致：",{"children":132,"direction":19,"format":15,"indent":13,"type":63,"version":18,"listType":64,"start":18,"tag":65},[133,140],{"children":134,"direction":19,"format":15,"indent":13,"type":55,"version":18,"value":18},[135,138],{"detail":13,"format":136,"mode":14,"style":15,"text":137,"type":17,"version":18},17,"event_name",{"detail":13,"format":13,"mode":14,"style":15,"text":139,"type":17,"version":18}," —— 两侧用同一个事件名。",{"children":141,"direction":19,"format":15,"indent":13,"type":55,"version":18,"value":62},[142,144,146,148],{"detail":13,"format":136,"mode":14,"style":15,"text":143,"type":17,"version":18},"event_id",{"detail":13,"format":13,"mode":14,"style":15,"text":145,"type":17,"version":18}," —— 你为",{"detail":13,"format":18,"mode":14,"style":15,"text":147,"type":17,"version":18},"这一次具体发生",{"detail":13,"format":13,"mode":14,"style":15,"text":149,"type":17,"version":18},"生成的唯一标识，像素和服务端要发送完全相同的值。",{"children":151,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[152,154,156,158,160],{"detail":13,"format":13,"mode":14,"style":15,"text":153,"type":17,"version":18},"最容易踩的一条规则：",{"detail":13,"format":155,"mode":14,"style":15,"text":143,"type":17,"version":18},16,{"detail":13,"format":13,"mode":14,"style":15,"text":157,"type":17,"version":18}," 必须",{"detail":13,"format":18,"mode":14,"style":15,"text":159,"type":17,"version":18},"每次事件只生成一次",{"detail":13,"format":13,"mode":14,"style":15,"text":161,"type":17,"version":18},"，然后共享给两个发送方。在客户端和服务端各自独立生成，会得到两个不同的值，去重完全不会发生。实操上，在渲染页面时由服务端生成，再把同一个值传进浏览器事件里。",{"children":163,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[164],{"detail":13,"format":13,"mode":14,"style":15,"text":165,"type":17,"version":18},"去重有匹配时间窗，服务端事件如果比浏览器事件晚太多就配不上对。两边尽量靠近发送。",{"children":167,"direction":19,"format":15,"indent":13,"type":25,"version":18,"tag":26},[168],{"detail":13,"format":13,"mode":14,"style":15,"text":169,"type":17,"version":18},"客户信息：真正决定匹配质量的部分",{"children":171,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[172],{"detail":13,"format":13,"mode":14,"style":15,"text":173,"type":17,"version":18},"你附上的每个参数都会先哈希再发送。参数越多，事件能匹配到某个人的概率越高，而这决定了这笔转化到底会不会被归因。",{"children":175,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[176,178,180,182,184,186,188],{"detail":13,"format":13,"mode":14,"style":15,"text":177,"type":17,"version":18},"按贡献度大致排序：邮箱、手机号、外部 ID，然后是姓名、城市、州省、邮编、国家。有就一定要带上点击标识（",{"detail":13,"format":155,"mode":14,"style":15,"text":179,"type":17,"version":18},"fbc",{"detail":13,"format":13,"mode":14,"style":15,"text":181,"type":17,"version":18},"）和浏览器标识（",{"detail":13,"format":155,"mode":14,"style":15,"text":183,"type":17,"version":18},"fbp",{"detail":13,"format":13,"mode":14,"style":15,"text":185,"type":17,"version":18},"）——这两个来自浏览器，必须",{"detail":13,"format":18,"mode":14,"style":15,"text":187,"type":17,"version":18},"刻意采集并传给服务端",{"detail":13,"format":13,"mode":14,"style":15,"text":189,"type":17,"version":18},"，而它们正是纯服务端接入里最常见的遗漏项。",{"children":191,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[192],{"detail":13,"format":13,"mode":14,"style":15,"text":193,"type":17,"version":18},"哈希之前先规范化：转小写、去首尾空格、手机号去掉标点并带国家区号。一个哈希正确但规范化错误的值匹配不到任何人，而且不会报任何错。",{"children":195,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[196,198,200],{"detail":13,"format":13,"mode":14,"style":15,"text":197,"type":17,"version":18},"Meta 会给每个事件回报匹配质量分。把低分当成",{"detail":13,"format":18,"mode":14,"style":15,"text":199,"type":17,"version":18},"待修的缺陷",{"detail":13,"format":13,"mode":14,"style":15,"text":201,"type":17,"version":18},"，不是当成一个可以观察的数字。",{"children":203,"direction":19,"format":15,"indent":13,"type":25,"version":18,"tag":26},[204],{"detail":13,"format":13,"mode":14,"style":15,"text":205,"type":17,"version":18},"接入顺序：这样排能避免返工",{"children":207,"direction":19,"format":15,"indent":13,"type":63,"version":18,"listType":262,"start":18,"tag":263},[208,214,220,229,241,248,255],{"children":209,"direction":19,"format":15,"indent":13,"type":55,"version":18,"value":18},[210,212],{"detail":13,"format":18,"mode":14,"style":15,"text":211,"type":17,"version":18},"先确认像素是好的。",{"detail":13,"format":13,"mode":14,"style":15,"text":213,"type":17,"version":18}," 浏览器侧坏着，之后每个数字都是含糊的。",{"children":215,"direction":19,"format":15,"indent":13,"type":55,"version":18,"value":62},[216,218],{"detail":13,"format":18,"mode":14,"style":15,"text":217,"type":17,"version":18},"定事件清单。",{"detail":13,"format":13,"mode":14,"style":15,"text":219,"type":17,"version":18}," 从你真正用来优化投放的事件开始。什么都发只会增加噪声和匹配质量问题，不增加任何决策。",{"children":221,"direction":19,"format":15,"indent":13,"type":55,"version":18,"value":75},[222,224,225,227],{"detail":13,"format":18,"mode":14,"style":15,"text":223,"type":17,"version":18},"服务端生成 ",{"detail":13,"format":136,"mode":14,"style":15,"text":143,"type":17,"version":18},{"detail":13,"format":18,"mode":14,"style":15,"text":226,"type":17,"version":18}," 并传给浏览器事件。",{"detail":13,"format":13,"mode":14,"style":15,"text":228,"type":17,"version":18}," 这一步要在写服务端调用之前做，不是之后。",{"children":230,"direction":19,"format":15,"indent":13,"type":55,"version":18,"value":240},[231,233,235,236,238,239],{"detail":13,"format":18,"mode":14,"style":15,"text":232,"type":17,"version":18},"附上你合法持有的最丰富的客户信息",{"detail":13,"format":13,"mode":14,"style":15,"text":234,"type":17,"version":18},"，先规范化再哈希，包括 ",{"detail":13,"format":155,"mode":14,"style":15,"text":179,"type":17,"version":18},{"detail":13,"format":13,"mode":14,"style":15,"text":237,"type":17,"version":18}," 与 ",{"detail":13,"format":155,"mode":14,"style":15,"text":183,"type":17,"version":18},{"detail":13,"format":13,"mode":14,"style":15,"text":82,"type":17,"version":18},4,{"children":242,"direction":19,"format":15,"indent":13,"type":55,"version":18,"value":247},[243,245],{"detail":13,"format":18,"mode":14,"style":15,"text":244,"type":17,"version":18},"先发测试端点",{"detail":13,"format":13,"mode":14,"style":15,"text":246,"type":17,"version":18},"，在事件管理工具里看着事件到达。",5,{"children":249,"direction":19,"format":15,"indent":13,"type":55,"version":18,"value":254},[250,252],{"detail":13,"format":18,"mode":14,"style":15,"text":251,"type":17,"version":18},"用真实流量验证去重",{"detail":13,"format":13,"mode":14,"style":15,"text":253,"type":17,"version":18},"，不要用测试事件验。拿同一时间窗的上报数与你自己的订单记录对账。",6,{"children":256,"direction":19,"format":15,"indent":13,"type":55,"version":18,"value":261},[257,259],{"detail":13,"format":18,"mode":14,"style":15,"text":258,"type":17,"version":18},"跑几天有量之后再看匹配质量",{"detail":13,"format":13,"mode":14,"style":15,"text":260,"type":17,"version":18},"，把最弱的那几个参数补上。",7,"number","ol",{"children":265,"direction":19,"format":15,"indent":13,"type":25,"version":18,"tag":26},[266],{"detail":13,"format":13,"mode":14,"style":15,"text":267,"type":17,"version":18},"怎么判断它真的在工作",{"children":269,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[270],{"detail":13,"format":13,"mode":14,"style":15,"text":271,"type":17,"version":18},"三项检查，而且没有一项是「后台显示有事件」。",{"children":273,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":18,"textStyle":15},[274,276],{"detail":13,"format":18,"mode":14,"style":15,"text":275,"type":17,"version":18},"你自己的订单数才是标尺。",{"detail":13,"format":13,"mode":14,"style":15,"text":277,"type":17,"version":18}," 取一个固定时间窗，用数据库里的订单数对比上报的购买数。大致相等＝正确；显著偏高＝去重没生效；显著偏低＝匹配质量差或事件缺失。",{"children":279,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":18,"textStyle":15},[280,282],{"detail":13,"format":18,"mode":14,"style":15,"text":281,"type":17,"version":18},"去重状态在诊断里能看到。",{"detail":13,"format":13,"mode":14,"style":15,"text":283,"type":17,"version":18}," 事件管理会显示它收到了冗余事件、以及是否完成了去重。「冗余但未去重」就是你要找的故障态。",{"children":285,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":18,"textStyle":15},[286,288],{"detail":13,"format":18,"mode":14,"style":15,"text":287,"type":17,"version":18},"匹配质量稳定且合理。",{"detail":13,"format":13,"mode":14,"style":15,"text":289,"type":17,"version":18}," 一次上线之后分数掉下来，就是某个参数坏了，而它不会用别的方式通知你。",{"children":291,"direction":19,"format":15,"indent":13,"type":25,"version":18,"tag":26},[292],{"detail":13,"format":13,"mode":14,"style":15,"text":293,"type":17,"version":18},"常见问题",{"children":295,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":18,"textStyle":15},[296,298],{"detail":13,"format":18,"mode":14,"style":15,"text":297,"type":17,"version":18},"有了 CAPI 还需要像素吗？",{"detail":13,"format":13,"mode":14,"style":15,"text":299,"type":17,"version":18}," 需要。推荐配置是两者并行并去重。纯服务端会丢掉浏览器侧信号，匹配通常更差。",{"children":301,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":18,"textStyle":15},[302,304],{"detail":13,"format":18,"mode":14,"style":15,"text":303,"type":17,"version":18},"接了之后转化数会涨吗？",{"detail":13,"format":13,"mode":14,"style":15,"text":305,"type":17,"version":18}," 真正被找回的事件会让它小幅上升。第一天就大幅跳涨，几乎总是重复计数而不是找回。",{"children":307,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":18,"textStyle":15},[308,310,312,313,315,316],{"detail":13,"format":18,"mode":14,"style":15,"text":309,"type":17,"version":18},"没有邮箱怎么办？",{"detail":13,"format":13,"mode":14,"style":15,"text":311,"type":17,"version":18}," 有什么发什么——外部 ID、",{"detail":13,"format":155,"mode":14,"style":15,"text":179,"type":17,"version":18},{"detail":13,"format":13,"mode":14,"style":15,"text":314,"type":17,"version":18},"、",{"detail":13,"format":155,"mode":14,"style":15,"text":183,"type":17,"version":18},{"detail":13,"format":13,"mode":14,"style":15,"text":317,"type":17,"version":18}," 和地理信息仍然有贡献。匹配质量会更低、归因更弱，这是实打实的代价，不是形式问题。",{"children":319,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":18,"textStyle":15},[320,322],{"detail":13,"format":18,"mode":14,"style":15,"text":321,"type":17,"version":18},"能发送浏览器里从未发生过的事件吗？",{"detail":13,"format":13,"mode":14,"style":15,"text":323,"type":17,"version":18}," 能，而且这是 CAPI 最被浪费的能力：线下转化、电话订单、以及事后才判定合格的线索。",{"children":325,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":18,"textStyle":15},[326,328,330,337],{"detail":13,"format":18,"mode":14,"style":15,"text":327,"type":17,"version":18},"这对广告账户稳定性有帮助吗？",{"detail":13,"format":13,"mode":14,"style":15,"text":329,"type":17,"version":18}," 间接有。度量更准意味着更少基于坏数据做的改动。账户与政策稳定性是另一个话题，见 ",{"children":331,"direction":19,"format":15,"indent":13,"type":74,"version":75,"fields":334,"id":336},[332],{"detail":13,"format":13,"mode":14,"style":15,"text":333,"type":17,"version":18},"Meta 广告审核通过与被拒",{"linkType":77,"newTab":78,"url":335},"https://deepclick.com/zh-CN/resources/blog/meta-ad-policy-approval-disapproval-2026/","6a93f3b2a7882e00c88492dd",{"detail":13,"format":13,"mode":14,"style":15,"text":82,"type":17,"version":18},{"children":339,"direction":19,"format":15,"indent":13,"type":25,"version":18,"tag":26},[340],{"detail":13,"format":13,"mode":14,"style":15,"text":341,"type":17,"version":18},"一句话版本",{"children":343,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[344,346,348,349],{"detail":13,"format":13,"mode":14,"style":15,"text":345,"type":17,"version":18},"像素和转化 API 一起跑，两边发同样的事件，并且",{"detail":13,"format":18,"mode":14,"style":15,"text":347,"type":17,"version":18},"每次事件共享同一个 ",{"detail":13,"format":136,"mode":14,"style":15,"text":143,"type":17,"version":18},{"detail":13,"format":13,"mode":14,"style":15,"text":350,"type":17,"version":18}," 让 Meta 能去重。附上你合法持有的、经过规范化的最丰富客户信息，包括那两个浏览器标识。然后拿你自己的订单记录去验，而不是拿后台去验——这里的故障不会抛错，它只会让你的数字看起来比实际更好看。",{"children":352,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[353],{"detail":13,"format":13,"mode":14,"style":15,"text":354,"type":17,"version":18},"DeepClick 与广告主一起处理 Meta 投放外围的度量层，包括追踪与落地页分发怎么配合。","root",{"id":357,"alt":358,"updatedAt":359,"createdAt":359,"url":360,"thumbnailURL":19,"filename":361,"mimeType":362,"filesize":363,"width":19,"height":19},1039,"Abstract illustration of two signal streams converging into one funnel with a single merge point highlighted","2026-08-30T08:55:24.592Z","https://cms-r2.deepclick.com/cover722-b46f7671ca02.jpg","cover722-b46f7671ca02.jpg","application/octet-stream",98179,{"title":365,"description":366,"image":367},"Meta 转化 API 接入：去重规则、匹配质量与验收方法","像素与 CAPI 并行、每次事件共享同一个 event_id 才能去重；附上规范化后的客户信息，并用自己的订单数而非后台数字做验收。",{"id":357,"alt":358,"updatedAt":359,"createdAt":359,"url":360,"thumbnailURL":19,"filename":361,"mimeType":362,"filesize":363,"width":19,"height":19},{"id":18,"key":369,"name":370,"prodHost":371,"testHost":372,"blogPath":373,"docPath":374,"zhPrefix":375,"deployHookTest":376,"deployHookProd":377,"brandAuthor":378,"brandKit":382,"enabled":386,"updatedAt":387,"createdAt":388},"deepclick","DeepClick","https://deepclick.com","https://www-test-deepclick.qiliangjia.one","/resources/blog/{slug}","/docs/{slug}","/zh-CN","https://api.cloudflare.com/client/v4/pages/webhooks/deploy_hooks/60a9adef-153b-4c89-8d07-7118e91e9522","https://api.cloudflare.com/client/v4/pages/webhooks/deploy_hooks/05323321-f694-4ce8-a5af-173c507b8bae",{"id":62,"name":370,"avatar":379,"updatedAt":380,"createdAt":381},25,"2026-04-22T08:09:35.299Z","2026-04-22T06:42:49.116Z",{"logoLight":19,"logoDark":19,"primaryColor":383,"accentColor":384,"tagline":385,"wechatName":19,"xhsHandle":19,"wechatQr":19},"#1a73e8","#ff6600","一次点击，多重价值",true,"2026-08-25T06:40:57.663Z","2026-07-14T06:26:38.962Z","published","meta-conversions-api-setup",{"id":240,"name":392,"avatar":393,"updatedAt":400,"createdAt":400},"Ethan Cole",{"id":394,"alt":395,"updatedAt":396,"createdAt":396,"url":397,"thumbnailURL":19,"filename":398,"mimeType":362,"filesize":399,"width":19,"height":19},922,"Ethan Cole — growth & ad-tech editor","2026-07-27T07:17:05.290Z","https://cms-r2.deepclick.com/gpt_1785136218181_0-d1b8139c1927.png","gpt_1785136218181_0-d1b8139c1927.png",1965798,"2026-07-27T07:17:07.920Z",{"id":261,"site":402,"titleZh":404,"titleEn":405,"slug":406,"order":247,"updatedAt":407,"createdAt":408},{"id":18,"key":369,"name":370,"prodHost":371,"testHost":372,"blogPath":373,"docPath":374,"zhPrefix":375,"deployHookTest":376,"deployHookProd":377,"brandAuthor":62,"brandKit":403,"enabled":386,"updatedAt":387,"createdAt":388},{"logoLight":19,"logoDark":19,"primaryColor":383,"accentColor":384,"tagline":385,"wechatName":19,"xhsHandle":19,"wechatQr":19},"技术导航","Tech Guides","tech-guides","2026-04-27T08:37:10.576Z","2026-04-23T02:59:13.436Z","2026-08-30T09:11:26.252Z","2026-08-30T09:11:06.789Z","\u003Cdiv class=\"payload-richtext\">\u003Cp>转化 API（Conversions API，简称 CAPI）常被说成「浏览器像素的备份」。正是这个说法，让很多接入最后比只用像素还糟：团队接上服务端回传，看着转化数几乎翻倍，几个月后才发现去重从来就没生效过。这篇按「能让数字保持诚实」的顺序讲接入——CAPI 到底改变了什么、四种发送方式、决定数据可不可用的去重规则，以及在相信任何一条转化数据之前该怎么验。\u003C/p>\u003Ch2>转化 API 真正改变的是什么\u003C/h2>\u003Cp>浏览器像素从访客设备上报事件。这条路径现在天生是有损的：浏览器的追踪防护、扩展、网络层拦截，都会在事件到达 Meta 之前拿掉一部分，而且拿掉最多的恰恰是你最在意的那部分流量。\u003C/p>\u003Cp>转化 API 改成从\u003Cstrong>你的服务器\u003C/strong>发送同样的事件。事件不经过访客浏览器，因此不受浏览器侧拦截影响。但它受你自己的实现影响：你的服务器不知道的东西，Meta 就收不到。\u003C/p>\u003Cp>由此有两个推论，而且都跟「备份」这个词给人的印象相反：\u003C/p>\u003Cul class=\"list-bullet\">\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"1\"\n        >\u003Cstrong>CAPI 不是像素的替代品。\u003C/strong> 推荐配置是\u003Cstrong>两边都发同样的事件，然后去重\u003C/strong>。像素贡献服务器看不到的浏览器侧信号，服务端贡献浏览器根本送不出去的事件。\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"2\"\n        >\u003Cstrong>CAPI 的数据质量由你负责。\u003C/strong> 像素会自动采集标识符；在服务端你必须主动附上。客户信息单薄的服务端回传匹配率很差，而它的表现形式不是报错，是被归因的转化悄悄消失。\u003C/li>\u003C/ul>\u003Cp>还没做浏览器侧的，先做那一步：见 \u003Ca href=\"https://deepclick.com/zh-CN/resources/blog/facebook-pixel-setup-guide/\">Facebook Pixel 接入指南\u003C/a>。\u003C/p>\u003Ch2>四种发送方式\u003C/h2>\u003Cp>\u003Cstrong>直接对接 API。\u003C/strong> 你的后端自己调 API。对发哪些事件、附什么数据、什么时候发的控制力最强；代价是研发投入和长期维护。它也是唯一能发送「浏览器里根本不存在的事件」的方式——线下成交、退款、三天后才被判定为有效的线索。\u003C/p>\u003Cp>\u003Cstrong>平台自带集成。\u003C/strong> 主流电商平台都提供第一方 CAPI 连接。上手最快，标准购买漏斗够用；限制是发什么由集成方决定。\u003C/p>\u003Cp>\u003Cstrong>合作方或标签管理器集成。\u003C/strong> 服务端标签管理把事件经由你自己的服务端容器转发。如果你本来就在跑服务端标签，这是不错的中间选项。\u003C/p>\u003Cp>\u003Cstrong>Conversions API Gateway。\u003C/strong> 托管服务，替你把服务端基础设施架起来。缺研发人力时合理，代价是链路上多一个依赖。\u003C/p>\u003Cp>对多数团队，诚实的答案是：先用平台集成，再针对平台看不到的那些事件补一个直接对接。\u003C/p>\u003Ch2>去重：决定这套东西成不成立的那一环\u003C/h2>\u003Cp>如果像素和服务端都上报了同一笔购买，而 Meta 判断不出它们是同一笔，它就会记成两笔。你的转化数虚高、单次转化成本腰斩，而下游每一个优化决策都建立在一个\u003Cstrong>朝着好看方向错\u003C/strong>的数字上。\u003C/p>\u003Cp>起作用的是两个字段，两边必须对同一次事件保持一致：\u003C/p>\u003Cul class=\"list-bullet\">\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"1\"\n        >\u003Ccode>\u003Cstrong>event_name\u003C/strong>\u003C/code> —— 两侧用同一个事件名。\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"2\"\n        >\u003Ccode>\u003Cstrong>event_id\u003C/strong>\u003C/code> —— 你为\u003Cstrong>这一次具体发生\u003C/strong>生成的唯一标识，像素和服务端要发送完全相同的值。\u003C/li>\u003C/ul>\u003Cp>最容易踩的一条规则：\u003Ccode>event_id\u003C/code> 必须\u003Cstrong>每次事件只生成一次\u003C/strong>，然后共享给两个发送方。在客户端和服务端各自独立生成，会得到两个不同的值，去重完全不会发生。实操上，在渲染页面时由服务端生成，再把同一个值传进浏览器事件里。\u003C/p>\u003Cp>去重有匹配时间窗，服务端事件如果比浏览器事件晚太多就配不上对。两边尽量靠近发送。\u003C/p>\u003Ch2>客户信息：真正决定匹配质量的部分\u003C/h2>\u003Cp>你附上的每个参数都会先哈希再发送。参数越多，事件能匹配到某个人的概率越高，而这决定了这笔转化到底会不会被归因。\u003C/p>\u003Cp>按贡献度大致排序：邮箱、手机号、外部 ID，然后是姓名、城市、州省、邮编、国家。有就一定要带上点击标识（\u003Ccode>fbc\u003C/code>）和浏览器标识（\u003Ccode>fbp\u003C/code>）——这两个来自浏览器，必须\u003Cstrong>刻意采集并传给服务端\u003C/strong>，而它们正是纯服务端接入里最常见的遗漏项。\u003C/p>\u003Cp>哈希之前先规范化：转小写、去首尾空格、手机号去掉标点并带国家区号。一个哈希正确但规范化错误的值匹配不到任何人，而且不会报任何错。\u003C/p>\u003Cp>Meta 会给每个事件回报匹配质量分。把低分当成\u003Cstrong>待修的缺陷\u003C/strong>，不是当成一个可以观察的数字。\u003C/p>\u003Ch2>接入顺序：这样排能避免返工\u003C/h2>\u003Col class=\"list-number\">\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"1\"\n        >\u003Cstrong>先确认像素是好的。\u003C/strong> 浏览器侧坏着，之后每个数字都是含糊的。\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"2\"\n        >\u003Cstrong>定事件清单。\u003C/strong> 从你真正用来优化投放的事件开始。什么都发只会增加噪声和匹配质量问题，不增加任何决策。\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"3\"\n        >\u003Cstrong>服务端生成 \u003C/strong>\u003Ccode>\u003Cstrong>event_id\u003C/strong>\u003C/code>\u003Cstrong> 并传给浏览器事件。\u003C/strong> 这一步要在写服务端调用之前做，不是之后。\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"4\"\n        >\u003Cstrong>附上你合法持有的最丰富的客户信息\u003C/strong>，先规范化再哈希，包括 \u003Ccode>fbc\u003C/code> 与 \u003Ccode>fbp\u003C/code>。\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"5\"\n        >\u003Cstrong>先发测试端点\u003C/strong>，在事件管理工具里看着事件到达。\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"6\"\n        >\u003Cstrong>用真实流量验证去重\u003C/strong>，不要用测试事件验。拿同一时间窗的上报数与你自己的订单记录对账。\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"7\"\n        >\u003Cstrong>跑几天有量之后再看匹配质量\u003C/strong>，把最弱的那几个参数补上。\u003C/li>\u003C/ol>\u003Ch2>怎么判断它真的在工作\u003C/h2>\u003Cp>三项检查，而且没有一项是「后台显示有事件」。\u003C/p>\u003Cp>\u003Cstrong>你自己的订单数才是标尺。\u003C/strong> 取一个固定时间窗，用数据库里的订单数对比上报的购买数。大致相等＝正确；显著偏高＝去重没生效；显著偏低＝匹配质量差或事件缺失。\u003C/p>\u003Cp>\u003Cstrong>去重状态在诊断里能看到。\u003C/strong> 事件管理会显示它收到了冗余事件、以及是否完成了去重。「冗余但未去重」就是你要找的故障态。\u003C/p>\u003Cp>\u003Cstrong>匹配质量稳定且合理。\u003C/strong> 一次上线之后分数掉下来，就是某个参数坏了，而它不会用别的方式通知你。\u003C/p>\u003Ch2>常见问题\u003C/h2>\u003Cp>\u003Cstrong>有了 CAPI 还需要像素吗？\u003C/strong> 需要。推荐配置是两者并行并去重。纯服务端会丢掉浏览器侧信号，匹配通常更差。\u003C/p>\u003Cp>\u003Cstrong>接了之后转化数会涨吗？\u003C/strong> 真正被找回的事件会让它小幅上升。第一天就大幅跳涨，几乎总是重复计数而不是找回。\u003C/p>\u003Cp>\u003Cstrong>没有邮箱怎么办？\u003C/strong> 有什么发什么——外部 ID、\u003Ccode>fbc\u003C/code>、\u003Ccode>fbp\u003C/code> 和地理信息仍然有贡献。匹配质量会更低、归因更弱，这是实打实的代价，不是形式问题。\u003C/p>\u003Cp>\u003Cstrong>能发送浏览器里从未发生过的事件吗？\u003C/strong> 能，而且这是 CAPI 最被浪费的能力：线下转化、电话订单、以及事后才判定合格的线索。\u003C/p>\u003Cp>\u003Cstrong>这对广告账户稳定性有帮助吗？\u003C/strong> 间接有。度量更准意味着更少基于坏数据做的改动。账户与政策稳定性是另一个话题，见 \u003Ca href=\"https://deepclick.com/zh-CN/resources/blog/meta-ad-policy-approval-disapproval-2026/\">Meta 广告审核通过与被拒\u003C/a>。\u003C/p>\u003Ch2>一句话版本\u003C/h2>\u003Cp>像素和转化 API 一起跑，两边发同样的事件，并且\u003Cstrong>每次事件共享同一个 \u003C/strong>\u003Ccode>\u003Cstrong>event_id\u003C/strong>\u003C/code> 让 Meta 能去重。附上你合法持有的、经过规范化的最丰富客户信息，包括那两个浏览器标识。然后拿你自己的订单记录去验，而不是拿后台去验——这里的故障不会抛错，它只会让你的数字看起来比实际更好看。\u003C/p>\u003Cp>DeepClick 与广告主一起处理 Meta 投放外围的度量层，包括追踪与落地页分发怎么配合。\u003C/p>\u003C/div>","https://deepclick.com/zh-CN/resources/blog/meta-conversions-api-setup",{"en":390,"zh-CN":390},1788081245673]