Google AdManager多尺寸映射出现All zero-area slot sizes were removed错误求助
问题分析与解决
报错根源
触发错误的核心是代码里的[356, 0]——Google AdManager的SizeMapping不允许使用高度或宽度为0的尺寸作为视口匹配条件,0高度的尺寸属于零区域,会被系统自动过滤,导致映射规则失效。另外代码里的[0, 0]同样不符合规则,也会引发潜在问题。
修复方案
将所有包含0的视口尺寸替换为正整数(比如1,或根据实际布局需求的最小合理值),确保每个映射触发条件的宽高都是有效正数值。
修复后的代码示例:
<script> googletag.cmd.push(function(){ var adCode = { "top":'/21762728/top'}; var adSize = {"top":[[336,280],[300,250]]}; // 替换0为1,避免零区域尺寸 var TopAdMap = googletag.sizeMapping() .addSize([356, 1], [[336,280],[300,250]]) .addSize([1, 1], [300,250]) .build(); googletag.defineSlot(adCode.top, adSize.top, 'ad-top-slot') .defineSizeMapping(TopAdMap) .addService(googletag.pubads()); }); </script>
关键注意点
- SizeMapping的触发尺寸必须是正整数宽高组合,任意维度为0都会被判定为无效;
- 用
[1,1]作为兜底规则,可覆盖所有小于指定尺寸的视口场景,完全符合AdManager的规则要求; - 验证时要确保每个映射条件对应的广告尺寸组合都有效,避免同类报错重复出现。
内容的提问来源于stack exchange,提问作者Hitesh
相关产品推荐
相关产品推荐

