跳转至

常见问题

问题按读者标记:[买方] 面向媒体买手和投放经理,[运维] 面向平台 工程师,[通用] 为共同问题。


[买方] 为什么我的覆盖率百分比低于 100%?

覆盖率衡量有多少"日期 x 报告类型"单元格有数据 vs. 预期数量。覆盖不全 的常见原因:

  • Google 当天未发送报告(公共假日、导出延迟)。
  • Gmail 导入未接收到邮件(检查 Gmail 状态)。
  • 你的席位不支持特定报告类型(例如,并非所有买方都有质量数据)。

/import 的数据新鲜度网格查看具体缺失的单元格。参见 数据导入

[买方] "浪费"和"低胜出率"有什么区别?

浪费 = 你的竞价器拒绝且未出价的出价请求。这是你付费但完全无法使用 的 QPS。通过预定向修复。

低胜出率 = 你的竞价器出了价但在拍卖中失败的请求。说明你的出价不够 有竞争力。通过出价策略修复,而非预定向。

两者都在漏斗中显示,但需要不同的应对措施。参见 理解你的 QPS 漏斗

[买方] 我可以撤销预定向变更吗?

可以。前往 /history,找到变更,点击"预览回滚"查看将恢复的内容,然后 确认。回滚操作本身也会被记录。参见 预定向配置

[买方] 应该多频繁重新导入数据?

每天。Gmail 自动导入会自动处理。如果你是手动导入,在报告到达后每天 进行一次。过时的数据意味着过时的决策。

[买方] 优化器实际会改变什么?

优化器提出预定向配置的变更建议:添加或删除地区、尺寸、发布商等。它不会 自动应用变更,你审查并批准每个提案。参见 优化器


[运维] 为什么运行时健康严格门控失败了?

检查工作流日志:gh run view <id> --log-failed。区分 FAIL 和 BLOCKED:

  • FAIL = 出了问题。数据新鲜度超时和 SET statement_timeout 问题是 常见元凶。参见故障排除
  • BLOCKED = 依赖缺失,不一定是代码缺陷。例如:该买方无质量数据、 提案无 billing_id。与之前的运行对比,区分回归和已有缺口。

[运维] 为什么数据新鲜度端点慢?

查询扫描 rtb_daily(~8400 万行)和 rtb_bidstream(~2100 万行)。 如果查询计划退化为顺序扫描而非使用 (buyer_account_id, metric_date DESC) 索引,将需要数分钟。

修复:确保查询使用 generate_series + EXISTS 模式(14 次索引查找代替 全表扫描)。参见数据库操作

[运维] 如何检查当前部署的版本?

curl -sS https://scan.rtb.cat/api/health | jq -r '.git_sha,.version'

返回 git SHA 和镜像标签。与你的提交日志对比。

[运维] 如何部署修复?

  1. 推送到 unified-platform
  2. 等待 build-and-push.yml 成功
  3. 通过 gh workflow run 触发 deploy.yml,设置 confirm=DEPLOY
  4. /api/health 验证

详细步骤参见部署

[运维] 用户卡在登录循环怎么办?

检查 Cloud SQL Proxy:sudo docker ps | grep cloudsql。如果已停止, 重启它,等待 10 秒,然后重启 API 容器。完整步骤参见 故障排除


[通用] Cat-Scan 的数据来自哪里?

Google Authorized Buyers CSV 导出。没有 Reporting API。数据通过手动 CSV 上传或 Gmail 自动导入到达。参见数据导入

[通用] 重新导入同一个 CSV 安全吗?

安全。每行数据都经过哈希去重。重新导入不会重复计数。

[通用] 界面支持哪些语言?

英语、荷兰语和简体中文。语言选择器在侧边栏中。