广告验证 · 真实运营商 IP

用于广告验证的移动代理

广告服务器并不会一视同仁地对待所有流量。来自云服务器 IP 的请求,常常会收到自家推广广告、空白广告位,或与付费用户看到的不同的素材——这意味着从您自己的基础设施发起的验证,测量的根本不是真实情况。从您购买广告库存的市场中的真实运营商 IP 发起检查,才能看到真实用户实际看到的投放结果。

问题所在:您的验证流量正在被识别

程序化广告供应链在决定返回什么内容之前,会先对请求 IP 进行指纹识别。机房 IP 段是公开的,并被广泛列为无效流量,因此广告交易平台要么不出价,要么返回默认广告,要么悄悄降级返回的内容。结果就是:验证系统报告"素材未渲染",而这些广告位对真实用户明明显示正常;与此同时,发布商确实替换了素材的情况却被漏掉。这两种错误在报告中都无法察觉——看起来都像正常数据。

如果您遇到过以下情况

  • DSP 报告的投放情况,您自己的爬虫无法复现。
  • 客户投诉广告投放位置错误,您在办公室却无法复现。
  • 地理定向广告在您检查时似乎投放到了错误的国家,而且只在您检查时才这样。
  • 每次脚本访问都是空白广告位或自家推广广告,而用手机访问却显示正确素材。
  • 怀疑存在域名欺骗或素材替换时,拿不出任何证据。

可运行的代码

只要 PROXY_URL 中填入真实的连接字符串,下面的每段代码都能直接运行。首次充值后,可在控制台复制您的连接字符串。

设置连接 URL

bash
export PROXY_URL="http://USERNAME-mbl-us-sid-check01-rot-auto10:[email protected]:7000"

# 从控制台复制您的完整 URL——USERNAME 和 PAK_KEY 是您自己的。
# -sid- 参数决定使用哪台设备;每次检查换一个值(见下方轮换说明)。

Playwright — 渲染广告位并截图留证

javascript
import { chromium } from 'playwright';

const url = new URL(process.env.PROXY_URL);

const browser = await chromium.launch({
  proxy: {
    server: `http://${url.host}`,
    username: decodeURIComponent(url.username),
    password: decodeURIComponent(url.password),
  },
});

const page = await browser.newPage({
  viewport: { width: 390, height: 844 },   // iPhone 级别的视口
  isMobile: true,
  deviceScaleFactor: 3,
});

// 记录页面发出的每个广告请求,作为实际投放内容的证据。
const adCalls = [];
page.on('request', (r) => {
  if (/doubleclick|googlesyndication|adnxs|criteo|rubiconproject/.test(r.url())) {
    adCalls.push({ url: r.url(), type: r.resourceType() });
  }
});

await page.goto('https://publisher.example/article', { waitUntil: 'networkidle' });
await page.screenshot({ path: 'placement.png', fullPage: false });

console.log(`exit IP served ${adCalls.length} ad calls`);
console.table(adCalls.slice(0, 10));

await browser.close();

截图是您的证据;adCalls 则记录了实际出价的广告交易平台,可作为审计依据。

Python — 在信任结果之前先确认出口 IP

python
import os, requests

proxy = os.environ["PROXY_URL"]
proxies = {"http": proxy, "https": proxy}

# 每次批量验证前都要先断言地理位置。从错误国家跑出的结果
# 比不跑更糟——它看起来就像投放失败。
who = requests.get("https://ipinfo.io/json", proxies=proxies, timeout=30).json()
assert who["country"] == "US", f"expected US exit, got {who['country']}"
print(f"verifying from {who['city']}, {who['org']}")

成本极低,却能把一整类悄无声息的漏报变成明确的断言失败。

应该使用哪种轮换模式

推荐-rot-auto10

广告服务器会按用户做频次控制。来自同一 IP 的第二、第三次展示请求,会被刻意返回与第一次不同的结果,因此对单一出口做密集循环,测到的只是频次上限,而不是广告活动本身。auto10 大约每 10 分钟为您切换一个新的运营商 IP,与真实的检查节奏相符。如果需要在短时间内模拟大量不同的访客,请为每次检查设置独立的 -sid- 值:使用不同的会话 ID 重新连接会分配到不同的设备,这样连续的检查就不会由同一部手机应答。

何时选择其他模式

模式适用场景
sticky需要完成多步骤的落地页转化流程——点击、填写表单、触发转化像素——且不能在中途更换 IP 而破坏归因。
auto30长时间无人值守的监控,较慢的 IP 更替已经足够,且不希望消耗大量不同 IP。
none在此场景下很少用到。不设置轮换参数会沿用网关默认行为,导致采样模式难以分析。

预计带宽用量

广告验证是我们所有业务中最耗带宽的场景,因为关键就在于像浏览器一样完整渲染页面——包括素材、跟踪器、视频等一切内容。请按完整页面加载来估算预算,而不是只算 HTML。

任务类型单次用量每 GB 可完成
含展示广告位的文章页,完整渲染2–4 MB约 260–520 次检查
含自动播放视频素材的页面8–20 MB约 50–130 次检查
屏蔽图片和字体后渲染400–800 KB约 1,300–2,600 次检查
仅断言出口 IP(不渲染)约 2 KB几乎不消耗流量

如果您只需证明投放了哪个素材,而不关心其显示效果,可以通过路由拦截屏蔽图片、媒体和字体,只对真正出问题的广告位保留截图步骤。这通常能让一次验证的流量减少 70–80%,且不损失任何证据价值。以上数据是基于典型广告支持型页面的实测估算,您的目标网站会有所不同,请先小规模计量,再确定月度预算。

带宽价格每 GB节省
1 GB$7$7—
5 GB$35$7—
10 GB$68$6.803%
25 GB$150$614%
50 GB$283$5.6619%
100 GB$500$529%

适用国家

修改代理用户名中的一个参数即可切换国家——无需重新部署,也无需第二个账户。 IP 池规模因国家而异,也取决于您使用的是移动(mbl) 还是住宅(peer)IP 池;实时可用情况请查看各国家页面和您的控制台。

仅限合法用途

ProxyMobile 仅用于在您拥有或已获授权测试的系统上进行测量、质量保证和研究。购买带宽并不代表您获得了访问第三方系统的许可。您仍需自行遵守每个目标网站的服务条款、robots 指令和速率限制,以及适用于您的数据保护法律。

本场景的使用要求

  • 只验证您自己在投放的广告活动,或客户委托您审计的活动——不得验证竞争对手的非公开投放。
  • 不要点击、转化或以其他方式与您仅在验证的广告互动。无论出于何种动机,产生非预期的计费事件都属于广告欺诈。
  • 验证量应与广告活动规模相称。明显扭曲发布商展示量统计的检查频率,是在把成本转嫁给他人。

任何套餐均严禁

  • 禁止撞库、盗用账户,或任何冒充他人进行身份验证的行为。
  • 禁止绕过您未获授权测试的访问控制、付费墙或安全措施。
  • 禁止收集您没有合法依据处理的个人数据。
  • 禁止产生合理运营方会视为拒绝服务攻击的负载——请限速,遇到 429 时退避,并遵守 Retry-After。

用于欺诈、入侵或批量滥用的账户将被终止且不予退款,我们会配合有效的法律程序。完整条款请参阅我们的可接受使用政策。

广告验证常见问题

为什么不直接用机房代理做广告验证?

因为广告交易平台能识别出来。机房 IP 段是公开的,并被普遍归类为无效流量,许多竞价方根本不会向其投放真实素材。您得到的是一个技术上成功、内容却错误的请求——这是代价最高的一种测量误差。

发生争议时,我能证明投放了哪个素材吗?

可以——像 Playwright 示例那样,同时保存截图和页面发出的广告网络请求列表。截图展示渲染效果;请求日志则显示实际响应的交易平台和素材 ID,这部分在与发布商沟通时最具说服力。

1 GB 流量能做多少次检查?

在典型的广告支持型文章页上,大约可完成 260 到 520 次完整渲染;如果屏蔽图片和字体,则可达 1,300 到 2,600 次。视频素材的流量消耗要大得多。建议先对自己的目标做小规模计量,再确定月度预算。

应该使用哪种轮换模式?

先从 auto10 开始,并为每次检查设置独立的 -sid- 参数。频次控制意味着来自同一 IP 的重复请求会被有意返回不同结果,因此只从一个粘性会话中采样会低估实际投放量。

可以试用吗?

首次充值会额外赠送 $2,足够在投入更大预算之前,对您自己的广告位进行一次真实的验证测试。

相关指南

用您自己的目标网站试一试

本页的带宽估算是如实给出的参考范围,而非承诺——唯一重要的数字,是您的目标网站实际消耗的流量。首次充值额外赠送 $2,足够您在确定预算之前,先实际计量一次运行。