广告日报与库存联动系统:
广告预算不该流向缺货的 SKU

运营每天在广告后台和库存表之间手动核对,广告花费与库存脱节导致大量预算花在即将断货的 SKU 上。通过飞书多表联动实现广告 + 库存一卡展示,让每一分广告费都花在刀刃上。

1. 项目背景:广告与库存之间的信息断层

在跨境电商的日常运营中,广告投放决策严重依赖实时库存数据——一个 SKU 如果可售库存只剩 30 件,而广告预算每天还在烧 200 美金,那就是典型的"断货式投放":广告费花了,转化率直线下降,库存直接卖光,listing 权重反而因为断货期而遭受重创。

然而现实是,广告数据和库存数据分属两座完全不同的"表山"。运营同事每天上午要花 30–60 分钟做一件事:登录亚马逊广告后台查看各 SKU 的花费,然后切换到飞书库存多维表手动比对在库数量,最后在脑子里做判断——这个 SKU 还能加预算吗?那个 SKU 是不是该暂停广告了?

运营维度 人工手动核对 本案交付:自动化联动看板
查看周期 每天上午人工核对,单次耗时 30–60 分钟 每日自动推送,即时可读
库存匹配 手动翻表,容易看错 VLOOKUP 行 按 SKU 自动匹配,优先 FBA,零库存自动切万邑通
聚合能力 无,逐 SKU 手动统计 支持前缀聚合(如同一父体多变体合并展示)
决策精准度 极易遗漏关键项,断货预警靠感觉 广告花费降序排列,库存不足项高亮预警

2. 核心方案:多表联动 + 智能库存优选

这个系统只有一个核心脚本report_ads_daily.py),但它做的事情远比名字表现出来的复杂。

2.1 数据源:两表协同

脚本同时连接飞书多维表中的两张互为独立的工作表:

脚本以 SKU 为唯一关联键,从运营数据日报的主记录中定位 SKU,然后在库存追踪表中自动查找该 SKU 的实时库存信息。

2.2 库存优选逻辑:FBA 优先,自动降级

库存渠道不是随便选的。代码内置了一套渠道优先级链

2.3 前缀聚合 + 降序排列

运营管理中存在一个常见场景:同一个父体下的多个变体(颜色、尺寸不同)需要整体查看。脚本支持SKU 前缀聚合——如果若干 SKU 共享同一前缀(代表同一父体),则在卡片中合并展示该父体的总广告花费和总库存,并标注拥有库存的变体数量。

最终推送的飞书卡片按照广告花费降序排列:花得最多的 SKU 排在最前面,运营一眼就能看到"那个花了最多预算的品,还有多少库存"。如果库存不足 7 天销量,卡片中自动标注 ⚠ 库存预警

广告日报与库存联动飞书卡片示例
图:广告日报卡片按花费降序排列,库存列自动标注预警状态
📈 数字化交付量化收益看板 (ROI KPI)

该系统上线后,运营团队从手动作业中解放出来,广告花费结构也得到显著优化:

-100%
库存核对手工时长归零
+18%
广告 RoAS 提升
-23%
断货期广告浪费

3. 工程实现的巧思

这个脚本看似简单,但在三个细节上体现了工程级的设计考量:

4. 业务侧的真实反馈

系统上线的第一周,运营团队反馈了一个意外惊喜:他们发现某个持续投入高广告预算的 SKU,FBA 库存早已在三天前清零,但万邑通的补货还需 5 天才能到仓——也就是说,这三天烧掉的 $850 广告费几乎全部浪费在了不可售的 listing 上。即刻暂停该 SKU 广告后,运营总监感叹:"过去半年我每天都在被这种信息差放血,今天才知道。"

5. 数字化转型背书

“之前每天早上的第一件事就是开着两个浏览器标签页来回对比——广告后台看一眼花费,切到库存表看一眼数量,再切回来做决策。这个过程枯燥、低效,而且很容易漏掉关键 SKU。现在每天早上飞书推送一张卡片,我扫一眼就能知道:该不该加预算、该不该停广告、哪个品快断货了。这不是效率提升的问题,是过去根本不可能做到的事情现在做到了。”

—— 某跨境品牌 运营团队负责人
← 返回案例列表