使用方法
- 「曝光次数」填 180000(默认示例值),要求 1~1000000000 之间的整数。曝光是点击率的分母,填 0 会被拒绝——分母为 0 时这个比率根本没有定义。
- 「点击次数」填 3200,允许 0~1000000000 的整数。一次点击都没有就填 0,点击率显示 0.00%,这是合法结果,不是错误。
- 「转化次数」填 128,仅作对照。本页的主指标是点击率,转化率只是顺带给出的参考值,用来演示「点击」和「转化」是两个不同层级的动作。
- 任一输入框里按 Enter 立即重算,不必去找按钮;结果区同时给出点击率、未点击曝光数、平均曝光量/次点击、每千次曝光点击和点击÷曝光的小数形式。
- 如果点击次数大于曝光次数,工具会直接拦下来并给出排查方向,因为口径一致的数据里不可能出现超过 100% 的点击率。
- 下方对照表以你填的曝光数为基数,列出 18 档目标点击率各需要多少次点击,默认显示前 12 行。点「加载更多」展开全部,点「导出 CSV」得到带 BOM 的表格文件,点「复制对照表」把整张表以制表符分隔的文本复制走。
这个点击率计算器能解决什么问题
一是把「展示了但没被点」的那部分基数显式算出来。多数人只记住一个点击率数字,忘了分母里绝大多数是没被点掉的曝光:默认示例里 180000 次曝光只产生 3200 次点击,未点击曝光 176800 次,占了 98.22%。点击率计算器把未点击曝光当成一张独立的卡片列出来,就是提醒你「点击率低」通常不是点击太少,而是曝光基数大——同一个 3200 次点击,分母换成 18000 就是 17.78%,换成 180000 就只有 1.78%。
二是把点击率和转化率分清楚。这两个指标经常被混着说。点击率的分母是曝光、分子是点击,衡量的是「素材有没有吸引力」;转化率的分母是点击、分子是转化,衡量的是「落地页有没有说服力」。默认示例里点击→转化率是 4.00%,曝光→转化率只有 0.0711%,两者差了 56 倍,就是因为中间隔着一层点击。把这条链路拆开,才知道该改创意还是改落地页。
三是早期发现口径错误。点击次数大于曝光次数、点击率突然翻倍、不同报表里同一个广告位算出两个数——这类问题的根因几乎都在分子分母的统计口径上。本页在点击大于曝光时直接报错,并列出跨日归因、去重方式不同、曝光被抽样、机器人刷量等六种常见原因,等于把一个数据对账的检查点前置到了计算环节。
四是横向比渠道、纵向比时间时先统一口径。同一个广告位,按「已投放曝光」和按「可视曝光」算出来的点击率可以差一倍:默认示例的 3200 次点击,分母是全部 180000 次曝光时点击率 1.78%,只算其中 50% 的可视曝光时点击率变成 3.56%,相对提升整整 100.00%。点击率计算器把这个换算过程摊开,避免你拿两个口径不同的数直接比高低。
本页不做这些事:不读取任何广告平台的接口,不判断素材好坏,不做归因窗口的设置。要算单次点击成本请用「CPC计算器」,要算千次展示成本请用「千次展示成本计算器」,要算广告带来的回报请用「广告回报计算器」。
计算原理:CTR 的分子、分母与口径
① 用的公式。核心只有一条:CTR = 点击次数 ÷ 曝光次数 × 100%。由它派生出的中间量还有四个:未点击曝光数 = 曝光 − 点击;平均曝光量/次点击 = 曝光 ÷ 点击;每千次曝光点击 = CTR × 10;点击÷曝光的小数形式 = CTR ÷ 100。全部是双精度浮点数的一次除法和一次乘法,没有累加、没有近似,因此结果可以手算复核。默认示例:3200 ÷ 180000 × 100 = 1.7778%,四舍五入到两位是 1.78%。
② 关键参数为什么这样取。分母用「曝光」而不是「广告请求」或者「页面浏览量」,是这一步最容易出错的地方。广告请求(ad request)是浏览器向广告服务器发起的请求数,它一定大于等于曝光数:请求发出后可能未填充、可能加载失败、可能被广告拦截插件拦掉,这些都不该算进分母。反过来,页面浏览量也不是曝光——一个页面里挂了三个广告位,一次浏览会产生三次曝光。用错了分母,点击率会系统性偏高或偏低。默认示例取 180000 次曝光配 3200 次点击,得到 1.78%,这个值落在展示广告常见的 0.1%~0.5% 与搜索广告常见的 2%~5% 之间的中上区间,便于和各类渠道的量级对照。
③ 遵循的标准。点击率本身是 IAB(Interactive Advertising Bureau)在广告效果指标体系中定义的比率,分子是点击、分母是曝光,这一点各家平台一致。真正有分歧的是「什么算一次曝光」:MRC(Media Rating Council)与 IAB 共同制定的可视曝光标准要求,展示广告需有 50% 以上的像素进入视口并持续至少 1 秒,视频广告需 50% 以上像素可见并持续至少 2 秒,才算一次可视曝光。同一批投放,用「已投放曝光」当分母和用「可视曝光」当分母,点击率可以差出 40% 以上:默认示例只把 70% 的曝光认定为可视时,分母变成 126000,点击率从 1.78% 升到 2.54%,相对提升 42.86%;只认 50% 时,点击率变成 3.56%,正好翻倍。所以任何跨渠道的点击率对比,第一步都是确认分母口径是否一致。
④ 输入怎么变成输出。设曝光 I、点击 C、转化 V,中间量依次是:CTR = C ÷ I × 100;未点击曝光 = I − C;平均曝光量/次点击 = I ÷ C,表示「平均要看多少次广告才会被点一次」;每千次曝光点击 = CTR × 10,是把点击率折算成以千次曝光为基数的绝对次数,便于和 CPM 口径对齐;点击÷曝光小数 = CTR ÷ 100。转化只用于两项参考:点击→转化率 = V ÷ C × 100,曝光→转化率 = V ÷ I × 100,两者相除正好等于点击率,也就是 转化率 × 点击率 = 曝光→转化率,默认示例 4.00% × 1.78% ≈ 0.0711%,链条自洽。
⑤ 边界与阈值。曝光下限是 1、上限 1000000000,必须是整数——半次曝光没有意义,而 10 亿次的曝光量换算成点击率后仍然远小于 JavaScript 双精度能精确表示的整数上限 253 − 1 = 9007199254740991。点击次数允许为 0,此时点击率是 0.00%、平均曝光量/次点击无法定义,卡片上显示短横而不是编一个数。点击大于曝光时会触发报错而不是给出一个超过 100% 的结果。小数位是自适应的:点击率不小于 1% 时保留 2 位,小于 1% 时按 10 的对数量级自动加位(0.5% 保留 3 位、0.0711% 保留 4 位、0.001% 保留 5 位,最多 6 位)——否则 1 次点击配 10000000 次曝光算出的 0.00001% 会被 toFixed(2) 直接抹成 0.00%。
⑥ 常见误用的正确解释。第一条是把 CTOR 当成 CTR。CTOR(click-to-open rate,点击打开率)的分母是「打开次数」而不是曝光次数,邮箱营销里常用它衡量邮件正文的吸引力,和曝光口径的点击率不可互换,数值通常高出一个数量级。第二条是把曝光按去重人数统计、点击按次数统计,同一个人点两次就会出现 2 次点击对 1 次曝光,点击率被人为抬高。第三条是拿点击率高低直接评价素材好坏——点击率高但转化率低,说明标题或封面存在过度承诺,把人骗进来了却没接住,这种「高点击、低转化」的组合在指标上比中等点击率更值得警惕。
完整示例(数值仅作演示)
示例条件与页面打开时的默认值完全一致:曝光 180000 次、点击 3200 次、转化 128 次。实测结果:
- 点击率 1.78%(3200 ÷ 180000 = 0.017778,即 1.7778%);
- 未点击曝光 176800 次(180000 − 3200),占全部曝光的 98.22%;
- 平均曝光量/次点击 56.25 次(180000 ÷ 3200);
- 每千次曝光点击 17.78 次(1.78% × 10);
- 点击÷曝光的小数形式 0.017778;
- 参考·点击→转化率 4.00%(128 ÷ 3200),曝光→转化率 0.0711%(128 ÷ 180000)。
把这个点击率反查回曝光基数,会得到一个很有用的对照:如果目标是 1.78%,在 180000 次曝光下需要 3204 次点击,比实际的 3200 次多 4 次。这 4 次的差距来自 1.78% 本身是四舍五入的结果(真实值 1.7778%),说明报表上看到的两位小数点击率,回推时会有千分之几的误差,做精确对账要拿原始的分式而不是百分比。
再看口径切换的影响。同样这 3200 次点击,如果只把 70% 的曝光认定为可视曝光,分母从 180000 降到 126000,点击率从 1.78% 变成 2.54%,相对提升 42.86%;只认 50% 可视曝光时,点击率变成 3.56%,正好是原来的两倍。若反过来把分母换成广告请求数(假设 200000 次请求里有 10% 未填充或加载失败),点击率会降到 1.60%。同一批投放、同一批点击,仅仅换个分母,点击率就能在 1.60% 到 3.56% 之间浮动。
输入范围与点击率对照表
下面这张表由页面实时生成:以你填写的曝光数为基数,列出 18 档目标点击率分别需要多少次点击,以及和当前点击数差多少。默认示例的 180000 次曝光对应的部分数据如下(点击数为向上取整):
| 目标点击率 | 需要多少次点击 | 与当前 3200 次的差额 |
|---|---|---|
| 0.2% | 360 | 已超出 2840 次 |
| 0.5% | 900 | 已超出 2300 次 |
| 0.8% | 1440 | 已超出 1760 次 |
| 1.0% | 1800 | 已超出 1400 次 |
| 1.2% | 2160 | 已超出 1040 次 |
| 1.5% | 2700 | 已超出 500 次 |
| 1.8% | 3240 | 还需增加 40 次 |
| 2.0% | 3600 | 还需增加 400 次 |
| 3.0% | 5400 | 还需增加 2200 次 |
| 5.0% | 9000 | 还需增加 5800 次 |
| 10.0% | 18000 | 还需增加 14800 次 |
| 15.0% | 27000 | 还需增加 23800 次 |
下面这张表把常见的「点击 : 曝光」组合换算成点击率,用来快速判断一个报表数字大概对应什么比例。注意点击率是比值,和曝光总量无关——10 次点击配 1000 次曝光,与 10000 次点击配 1000000 次曝光,都是 1%:
| 点击 : 曝光 | 点击率 | 每千次曝光点击 | 平均多少次曝光得 1 次点击 |
|---|---|---|---|
| 1 : 1000 | 0.10% | 1.00 次 | 1000 |
| 5 : 1000 | 0.50% | 5.00 次 | 200 |
| 10 : 1000 | 1.00% | 10.00 次 | 100 |
| 20 : 1000 | 2.00% | 20.00 次 | 50 |
| 50 : 1000 | 5.00% | 50.00 次 | 20 |
| 100 : 1000 | 10.00% | 100.00 次 | 10 |
| 3200 : 180000(默认) | 1.78% | 17.78 次 | 56.25 |
把两张表连起来看:默认这组数据的「平均曝光量/次点击」是 56.25,落在 1% 档(100 次)和 2% 档(50 次)之间,所以量级判定给出「在 1%~2% 之间」。如果要把点击率做到 5%,在曝光量不变的前提下需要 9000 次点击,等于把现在的点击量翻近三倍——这就是为什么优化点击率时,改分母(收紧可视曝光口径)和改分子(换素材)会得到完全不同的结论,两者不能混着谈。
边界、精度与异常值排查
- 曝光 1~1000000000 的整数。0 会被拒绝,因为分母为 0 时点击率没有定义(
0 ÷ 0在 JavaScript 里得到的是 NaN 而不是 0)。小数同样拒绝——曝光是计数,不存在半次。 - 点击 0~1000000000 的整数。点击为 0 是合法输入,点击率显示 0.00%;此时「平均曝光量/次点击」没有定义,卡片显示短横,不会编一个 0 出来误导你。
- 点击大于曝光会直接报错。这是本页刻意设置的拦截,因为口径一致的数据不可能出现超过 100% 的点击率。排查方向见下面六条。
- 转化必须小于等于点击。转化次数大于点击次数时同样会报错,常见原因是把「浏览转化」或跨设备归因的转化混进了以点击为基数的报表。
- 小数位自适应,最多 6 位。点击率不小于 1% 时保留 2 位小数;小于 1% 时按 10 的对数量级自动加位,例如 0.0711% 保留 4 位、0.001% 保留 5 位。若统一用
toFixed(2),1 次点击配 10000000 次曝光的真实点击率 0.00001% 会被显示成 0.00%,看起来像「完全没有点击」。 - 百分比回推会有舍入误差。1.78% 只是 1.7778% 的四舍五入值,回乘 180000 得到 3204 次而不是 3200 次。做精确对账请用「点击 ÷ 曝光」的小数形式,它保留到 6 位。
- 点击率是比值,与曝光总量无关。0.1% 既可能是 1 次点击配 1000 次曝光,也可能是 10000 次点击配 10000000 次曝光。样本很小时这个数字极不稳定,曝光不足 1000 次的点击率不建议拿来下结论。
- 本页不读取任何平台数据。点击率计算器只做除法,不代你确认曝光口径、不设置归因窗口、不判断点击是否来自机器人。真实投放中请以平台报表的原始分子分母为准。
点击次数大于曝光次数时,按下面六条顺序排查,基本能覆盖绝大多数情况:
- 统计窗口不一致。曝光按投放日归集、点击按发生日归集,跨日时会出现「今天的点击对昨天的曝光」,单看某一天的分母就会偏小。
- 去重口径不一致。曝光按去重人数(UV)统计,点击按次数(PV)统计,同一个用户点两次就会产生 2 次点击对 1 次曝光。
- 频次上限只加在曝光上。平台对同一用户的曝光做了频次上限(例如每天最多 3 次),点击却没有上限,重复点击会逐次计入分子。
- 曝光被抽样或延迟上报。广告位预加载失败、埋点丢包、SDK 批量上报的曝光尚未入库,分母被低估。
- 点击欺诈或刷量。机器人脚本模拟点击、站群互点、激励墙诱导点击,都会只抬高分子。
- 指标拿错了。把 CTOR(点击 ÷ 打开)或「点击 ÷ 会话」当成 CTR,分母根本不是曝光,数值自然可能超过 100%。
常见问题
点击率和转化率到底差在哪里?
差的是一层分母。点击率的分母是曝光、分子是点击,衡量素材把「看到的人」转化成「点进来的人」的能力;转化率(这里指点击→转化率)的分母是点击、分子是转化,衡量落地页把「点进来的人」转化成「下单或留资的人」的能力。默认示例里点击率 1.78%、点击→转化率 4.00%,两个数字相乘得到曝光→转化率 0.0711%,这就是从曝光到转化的完整链路。留言里说「转化率 4%」时,务必先问清是哪一个分母。
曝光、展示、广告请求是同一个东西吗?
不是。广告请求是浏览器向广告服务器发起的请求数,最大;曝光(也写作展示)是广告真正渲染出来的次数,一定小于等于请求数,差额来自未填充、加载失败和被广告拦截插件拦掉的部分。默认示例如果把分母从曝光 180000 换成请求 200000,点击率会从 1.78% 降到 1.60%。对账时先确认报表给的是请求还是曝光,两者混用是点击率对不上的常见原因。
为什么我的点击率算出来超过 100%?
因为分子和分母的统计口径不一致,而不是计算错了。最常见的是曝光按去重人数统计、点击按次数统计,或者曝光按投放日归集而点击按发生日归集。工具在点击大于曝光时会直接拦下来报错,并列出六条排查方向:统计窗口不一致、去重口径不一致、频次上限只加在曝光上、曝光被抽样或延迟上报、点击欺诈或刷量、以及把 CTOR 之类分母不是曝光的指标当成了 CTR。
1.78% 这个点击率算高还是低?
要看渠道。展示广告(横幅、开屏)的常见区间大约在 0.1%~0.5%,搜索广告大约在 2%~5%,社交媒体信息流则差异极大,从 0.5% 到 3% 都有人报告。默认示例的 1.78% 正好落在两个区间的中间偏上,所以量级判定给出「在 1%~2% 之间」。更重要的不是跟行业均值比,而是跟自己上一版素材、同一个广告位的其他创意比——前提是分母口径完全一致。
为什么很小的点击率显示成 0.00100% 而不是 0.00%?
因为本页的小数位是自适应的。点击率不小于 1% 时保留 2 位小数;小于 1% 时,按 10 的对数量级自动加位,最多保留 6 位,所以默认示例里 0.0711% 这个曝光→转化率会原样显示,而不会被截成 0.07%。1 次点击配 100000 次曝光的真实点击率是 0.001%,如果统一用 toFixed(2) 会显示成 0.00%,看起来像是「一次点击都没有」,反而更容易误判。位数多了不好看,但至少不会把真实存在的小概率抹掉。
曝光次数填 0 会怎样?
会被拒绝并提示原因。分母为 0 时点击率在数学上没有定义,在 JavaScript 里 3200 ÷ 0 得到的是 Infinity 而不是 0,如果放过去,结果区会显示一个没有意义的数字。工具要求曝光至少填 1,同时要求填写整数——半次曝光在统计上不存在。
未点击曝光数这个指标有什么用?
它把「沉默了的那部分基数」显式摊开。默认示例里 176800 次曝光没有产生点击,占 98.22%,说明这个广告位的主要成本花在了「被看到但没被点」上。它的实践意义是:如果未点击曝光占比极高,提升空间在于优化素材和定向;如果未点击占比已经很低(比如 90% 以下),继续压榨点击率通常会牺牲转化质量,这时候不如去优化落地页。
「每千次曝光点击」和点击率有什么区别?
两者是同一个比值的不同表达:每千次曝光点击 = 点击率 × 10。默认示例的 1.78% 对应 17.78 次/千次曝光。之所以要单独列出它,是为了和 CPM(千次展示成本)的口径对齐——CPM 的分母也是千次曝光,把点击量换算到同一基数上,才能一眼看出「每花一千次曝光的预算换来多少次点击」。