什么是实时营销报告?

实时营销报告是一个单独的页面:它从营销工作所在的工具里读取当前数字,读者可以选择任意日期范围,页面会把它和上一个时段公平对比,并用简单的句子说明每个渠道的情况。没有人需要每个月手工重做它。负责营销的人审核之后,再决定分享哪些内容。

我一个人负责所在 AI 初创公司的全部营销工作,用的是 Claude Code 和我自己搭建的智能体。用 Claude Code 运转营销的工作笔记介绍了整套系统。这份报告是其中一条工作线:LinkedIn 上的主动外联、CRM 里的邮件跟进、网站、社媒发布、我们发布的内容、一个轻量的竞品检查,以及当月的已完成和下一步,全部放在一个页面上。

在这之前,月报要花一整天截图、复制粘贴到幻灯片里,等有人看的时候已经过时了。新的报告始终是最新的,能回答关于任意一周的问题,还会自己写出说明的初稿。

为什么不用 Looker Studio 来做?

如果数字都在 Google 的产品里,Looker Studio 很好用,因为这些连接器是内置的。我的数字大多在别处:CRM、社媒排期工具和 LinkedIn 外联工具。每一个都需要第三方连接器,而且看板做好之后,每个月仍然要有人手工写总结。

Google 的合作伙伴连接器要求规定,每个第三方连接器都要声明自己的收费类型和服务条款1,所以费用和数据处理方式因供应商而异。只接一个数据源没问题。接四个,就要在开始做报告之前先管理一堆订阅。

问题Looker Studio 看板用 Claude Code 搭的报告
Google Analytics内置连接器每天通过 Analytics Data API 拉取
CRM、排期工具、外联工具第三方连接器,各有各的条款通过 MCP 连接器实时查询,或用脚本每天拉取
日期范围日期选择器和对比功能很完善照着做:快捷时段、自定义日期、上一时段
数字背后的说明每个月由人来写按渠道起草成句子,由人审核
修改在编辑器里拖拽用自然语言提出,再检查预览

我照搬了 Looker Studio 里大家最喜欢的部分,也就是右侧带快捷时段的日期选择器,其余部分都围绕团队常问的问题来搭。

报告的数字从哪里来?

它用两种方式取数。Claude 能直接使用连接器的工具,每次有人打开页面时实时查询,CRM 和社媒排期工具就是这样。没有连接器的工具,由几个小脚本每天早上拉取成每日文件,Google Analytics 和 LinkedIn 外联工具就是这样。页面同时读取这两类数据,处理方式完全一样。

图示内容(文字版): CRM 和社媒排期工具 (实时读取),接着是 报告页面。网站分析和外联工具 (没有实时连接器),接着是 每日文件。每日文件 (每天早上拉取),接着是 报告页面。报告页面 (任意时段,每个数字都链接到来源),接着是 由人审核。由人审核 (当月记录和 Slack 草稿),接着是 分享给团队。分享给团队。

两条输入,一个页面。有连接器的工具实时读取,其余的以每日文件送达;在人批准之前,任何内容都不会发给团队。 琥珀色方框是由人做决定的一步。

Anthropic 的 MCP 文档说明,Claude Code 可以通过 Model Context Protocol 连接数百种外部工具和数据源2。实时查询使用每位读者自己的权限,所以没有 CRM 权限的同事看到的是空缺,绝不会看到别人的数据。

Google Analytics 由一个脚本调用 Google Analytics Data API,Google 把它描述为以编程方式访问与 Analytics 界面相同的报告数据3。外联工具通过它自己的 MCP 服务器连接,读取它的脚本只允许调用只读工具:总体统计、活动、账号和对话。任何可能发送消息或修改活动的调用都在代码里被拒绝,所以无论怎么提示,报告都不可能在外联工具里执行操作。

密钥被禁用时,怎么接入 Google Analytics?

用媒体资源所有者自己的只读 Google 账号,走面向桌面应用的 OAuth 流程登录。最初的方案是带密钥文件的服务账号,结果被我们的 Google Cloud 组织默认拒绝了。桌面流程不需要密钥:在浏览器里登录一次,然后把刷新令牌保存在这台电脑上。

Google Cloud 的“默认安全”页面说明,其安全基线约束(包括禁止用户创建持久服务账号密钥的那一条)对 2024年5月3日及之后创建的所有组织强制生效4。为了一份报告去请管理员关掉它,等于用一项真实的安全控制去换方便。

Google 面向桌面应用的 OAuth 指南说明,用户在系统浏览器里同意授权,应用随后收到一个短期访问令牌和一个刷新令牌5。脚本只申请 Analytics 的只读权限。如果登录失效,早上的任务会用一句话说明,然后等我重新登录,它不会尝试绕过去。

日期选择器怎样公平地对比不同时段?

每个时段都和紧挨着的、长度相同的上一个时段对比,并且把对比对象写清楚。上周对比再上一周。一个自然月对比上一个月。年初至今对比去年同期。选择器会显示具体的对比日期,没有人需要去猜“对比之前”指的是什么。

图示内容(文字版): 选择时段 (快捷时段或自定义日期),接着是 停在昨天。停在昨天 (如果时段截至今天),接着是 找到上一时段。找到上一时段 (天数相同),接着是 每位访客只算一次。每位访客只算一次 (按时段,从 Analytics 获取),接着是 并列显示,并写明日期。并列显示,并写明日期。

每个时段都和紧挨着的、长度相同的上一段对比。截至今天的时段停在最后一个完整的日子,对比时段也一样。

有三个细节让对比变得诚实:

  1. 停在最后一个完整的日子。网站分析和外联数字每天早上才更新。截至今天的时段,会拿只有半天数据的今天去和完整的一天对比,所以这类时段停在昨天,对比时段也截成相同的天数。
  2. 每个时段里访客只算一次。Analytics Data API 把活跃用户定义为访问网站的不重复用户数6,所以每天的访客数不能直接相加:周一和周五都来过的人会被算两次。早上的脚本会为每个快捷时段及其对比时段,直接向 Analytics 要不重复访客数。其他自定义时段由页面把每天的数相加,并在数字前标上 ≈。
  3. 长时段按周画图。超过大约两个月,按天的柱子会糊成一片灰,所以图表改成按周显示,并写明这一点。

怎样让报告读起来像营销团队自己写的?

把规则写下来,让页面去执行。每个渠道用它的数字组成一句简单的话,句子里的每个数字都链接回来源,先讲成绩,较低的数字用中性的方式陈述,并把对比数字放在旁边。报告从不猜测数字变化的原因,因为猜出来的原因会被当成事实转述。

这些写作规则来自以同事的眼光重读第一版。下滑旁边的红色箭头读起来像在追责,所以下滑改成了灰色,句子里写出之前的数字(“对比8月的数字”),不再写下降的百分比。标题先写增长了什么,再写团队交付了什么,最后写下个月的重点。每月的 Slack 草稿遵循同样的规则。报告还附了一个简短的词汇表,因为“会话”“直接访问”“通过率”这些词,对大多数读者来说意义不大。

每个数字都带着指向它来源那一行的链接,所以有人问“这个数从哪来的”,一下就能找到答案。比起任何样式上的选择,这一点对信任的影响更大。

哪些地方出过问题,我改了什么?

出问题的大多是计数,每个修复现在都成了构建的一部分。数字以文本形式送达,一条内容按渠道被数了好几次,大部分网站访问显示为直接访问,竞品网站报出的页面日期毫无意义。这些问题粗看都看不出来,但每一个都改变了报告的结论。

以文本形式送达的数字

第一个上线版本说团队在零个渠道发布了内容。数据文件送到页面时,所有数字、列表和真假值都变成了文本。现在本地预览会故意先把每一行转成文本,再交给页面读取,同样的错误会先在我的电脑上暴露,而不是被别人看到。

一条内容被数了很多次

同一张卡片发到八个渠道,看起来像八条不同的内容,因为排期工具会给每个上传的文件加上一串 ID。现在,只要几条帖子属于同一组、去掉 ID 后封面图相同,或者同一个月里开头一句相同,图库就把它们当成一条内容。图库缩回到团队真正做出的内容,每一条都列出它发布过的所有渠道。

大部分访问显示为直接访问

Google Analytics 把直接访问定义为通过已保存的链接或直接输入网址到达的访客7,没打标签的社媒链接也会落到这里。Google 关于推广链接的指南要求始终设置 utm_source、utm_medium 和 utm_campaign8。报告现在有一条常设建议:给每条帖子的链接打上标签,直到社媒带来的访问都带着标签进来为止。

毫无意义的竞品日期

竞品检查读取公开的站点地图、博客订阅源和首页,不用任何付费工具。有些网站每次重新构建都会给所有页面盖上新日期,所以新页面现在通过对比本月和上月的站点地图来判断,博客文章只在有真实发布日期的订阅源里才计数。

它怎样在我不在的时候继续运行?

两个定时任务负责运行,两个都遵循同一个技能。每天早上,一个任务拉取网站分析和外联工具的数据,并重建当月的内容图库。每月1日,另一个任务结束上个月的工作:当月记录、竞品检查和一条 Slack 草稿。在我批准之前,什么都不会分享出去。

Anthropic 的定时任务文档说明,Claude Code 桌面版可以按你选定的时间和频率启动新会话9。两个任务的说明都放在同一个技能里,包括操作手册、规则和检查。Anthropic 的技能文档说明,Claude 会在技能相关时使用它,也可以按名字直接调用10,所以每个任务的提示词只有一行:遵循这个技能。规则有变化时,我只需要改一个地方。

每次修改页面都要经过本地预览:它会点遍每个快捷时段和一个自定义时段,检查错误,并给每个标签页截图。检查通过之后,才会执行发布这一步。

自己怎么做一份?

从团队常问的问题出发,一次接一个数据源。列出大家每个月要的数字,先接入装着最多数字的那个工具,发布一个只回答上个月问题的页面。这个页面没问题之后,再加日期选择器、文字说明和定时任务。

  1. 把问题写下来。“上周 LinkedIn 上有多少人回复了?”比一张指标清单更适合当起点。
  2. 接入一个工具,只读。有 MCP 连接器就用连接器,没有就写一个每天输出文件的小脚本。
  3. 只发布上个月。在加任何东西之前,把每个数字和它所在的工具逐一核对。
  4. 加上日期选择器。每个快捷时段只在一个地方定义一次,让脚本和页面共用这个定义。
  5. 写好写作规则。在页面写出第一句话之前,先决定成绩、下滑和缺失数据分别怎么表述。
  6. 为拉取和月度收尾设定时任务。在草稿和任何分享给团队的内容之间,始终留一个人。

大多数营销 AI 智能体背后都是同一个模式:先只读,规则写下来,由人来批准。如果你对AI 营销智能体这个概念还不熟悉,可以从那篇开始。报告很适合作为营销自动化的一条工作线,因为这项工作每个月都重复,规则也很少变。

Amber Lan 能在哪里帮上忙

Amber Lan 是奥克兰的 AI 营销工程师,围绕 AI 智能体为新西兰和澳大利亚的企业重建营销职能。她的智能体与客户团队协同,负责搜索、内容、主动外联和报告。如果你在找营销自动化顾问,想在自己的工具上搭一份这样的报告,那个页面介绍了合作是怎么进行的。

团队可以委托搭建,从一份书面范围说明开始,按项目报价。如果你在招聘营销工程师或 GTM 工程师,我也愿意聊聊资深岗位。我公开搭建的技能都在 Amber Lan 的技能库里。

简要总结

实时营销报告从存放数字的工具里读取数据:有连接器的地方实时读取,没有的地方靠每天早上的拉取。读者可以选择任意时段,页面把它和紧挨着的上一个时段对比,并用一句简单的话说明每个渠道,每个数字都链接到它的来源。

大部分工作其实是诚实地计数:每个时段里访客只算一次,一条内容跨渠道只算一次,一天结束了才算这一天。写下来的语气规则,加上分享前由人批准,让这份报告值得信任。如果你想在自己的工具上搭一份,和 Amber 聊聊。

企业主常问的问题

做一份实时营销报告需要会写代码吗?

需要能读懂代码,写的部分没那么多。脚本和页面大多是 Claude Code 和我一起写的,但我必须足够了解每个数据源,才能发现数字不对,比如访客被重复计算,或者一条内容按渠道被数了好几次。判断每个数字代表什么,这是营销工作,也是最花时间的部分。

为什么不用 Looker Studio 做营销报告?

如果你的数字大多在 Google 的产品里,Looker Studio 是很好的选择,因为这些连接器是内置的。可一旦 CRM、社媒排期工具和外联工具都需要第三方合作伙伴连接器,每个都有各自的条款和收费方式,事情就变复杂了。而且它只展示数字,不解释数字,每个月还是要有人写总结。

没有服务账号密钥,怎么接入 Google Analytics?

使用面向桌面应用的 OAuth 流程,只申请只读权限。媒体资源的所有者在浏览器里登录一次并批准访问,脚本把刷新令牌保存在这台电脑上。2024年5月3日及之后创建的 Google Cloud 组织默认禁止创建服务账号密钥,走这条路就不用请管理员放宽这项安全策略。

营销报告应该多久更新一次?

按数据源本身的更新方式来定。CRM 和排期工具的数字可以在每次打开页面时实时读取。网站分析和外联工具的数字最好每天早上拉取一次,等前一天结束后再取。每天拉取也意味着,截至今天的时段会停在昨天,对比才能保持同口径。

报告能自己发到 Slack 吗?

它能起草,在我的设置里它就停在起草这一步。每月1日,一个定时任务会结束上个月的工作:写好当月记录,起草一条简短的 Slack 总结,然后等待。只有我书面批准之后才会发出,因为发给整个团队的报告,就是对团队工作的一份公开表态。

运行一份实时营销报告要花多少钱?

我的这份用的都是团队已经在付费的工具,再加上 Claude。网站分析、CRM 和排期工具都通过现有账号访问,竞品检查读的是公开网站和网页搜索,没有用付费关键词工具。真正的成本是搭建时间,以及每个月几分钟的审核,它替代了过去花一整天做幻灯片的工作。

资料来源

每个数据都附有一手来源链接,最近核对:2026年10月19日。

  1. Google 的合作伙伴连接器要求规定,每个第三方连接器都要声明自己的收费类型和服务条款 developers.google.com
  2. Anthropic 的 MCP 文档说明,Claude Code 可以通过 Model Context Protocol 连接数百种外部工具和数据源 code.claude.com
  3. Google Analytics Data API,Google 把它描述为以编程方式访问与 Analytics 界面相同的报告数据 developers.google.com
  4. Google Cloud 的“默认安全”页面说明,其安全基线约束(包括禁止用户创建持久服务账号密钥的那一条)对 2024年5月3日及之后创建的所有组织强制生效 docs.cloud.google.com
  5. Google 面向桌面应用的 OAuth 指南说明,用户在系统浏览器里同意授权,应用随后收到一个短期访问令牌和一个刷新令牌 developers.google.com
  6. Analytics Data API 把活跃用户定义为访问网站的不重复用户数 developers.google.com
  7. Google Analytics 把直接访问定义为通过已保存的链接或直接输入网址到达的访客 support.google.com
  8. Google 关于推广链接的指南要求始终设置 utm_source、utm_medium 和 utm_campaign support.google.com
  9. Anthropic 的定时任务文档说明,Claude Code 桌面版可以按你选定的时间和频率启动新会话 code.claude.com
  10. Anthropic 的技能文档说明,Claude 会在技能相关时使用它,也可以按名字直接调用 code.claude.com