跳转至

Campaign Engine — AI 对话式营销顾问

insightureAI 的 Campaign Engine 是一个嵌入 AI Chat 的营销能力:老板用自然语言描述想做的活动,AI 从 PhoneBook 匹配目标客户、结合外部竞争情报给出建议、生成定制 SMS,员工审核后批量发送。本文定义产品设计、技术架构和实施路线,供产品和技术团队评估。

前置文档产品本质 / North Star · Contacts 字段设计 · 客户生命周期管理 · Lead Temperature


一、为什么做 Campaign Engine

1.1 核心问题

健身房的客户数据沉睡在系统里,没人用。

insightureAI 的 PhoneBook 已经为每个客户建立了 48 字段的画像(健身目标、价格敏感度、拒绝原因、联系偏好、AI 通话分析等),但这些数据只用于被动展示。没有机制让老板主动利用这些数据发起营销

同时,健身房的跟进效率极低。行业数据显示大量 lead 因为响应慢而流失(见附录 A)。Campaign Engine 通过自动化覆盖"人工来不及处理"的场景。

1.2 产品定位

Campaign Engine 不是独立功能,而是 AI Chat 的核心能力之一

老板在 Chat 里聊天时,AI 根据对话上下文自动判断什么时候查内部数据、什么时候搜外部情报、什么时候提出 campaign 建议。不需要老板学会用筛选器或理解字段含义。

传统做法(填表式)                    Campaign Engine(对话式)
───────────────                    ──────────────────────

老板选筛选器:                        老板: "我想看看现在有没有
  temperature = cold                       合适做春季活动的客人"
  rejectionReason = price                  ↓
  ↓                                  AI: 查 PhoneBook → 发现 3 组人
系统返回 23 个人                           → 跟老板讨论哪组先做
  ↓                                        → 多轮确认细节
套用模板发送                               → 生成定制 SMS
                                           → 员工审核 → 发送

1.3 与 AI 运营顾问愿景的关系

Campaign Engine 是 AI 运营顾问五层能力金字塔中 Level 4(智能推荐)+ Level 5(自主执行) 的具体落地,同时补充了原文没有的两个维度:

维度 原 AI 运营顾问文档 Campaign Engine 补充
交互方式 Dashboard 推荐列表 Chat 对话式,来回讨论确定方案
数据来源 仅内部数据 内部数据 + 外部竞争情报(Google Maps / Yelp / Reddit)
Campaign 数据模型 标记为"待设计" 本文填补这个空白
执行机制 概念描述 具体设计:SMS 生成 → 审核 → 批量发送

二、核心流程

2.1 六步流程

┌──────────────────────────────────────────────────────────┐
│                    Campaign Engine                        │
│                                                           │
│  ① CHAT          ② MATCH         ③ GENERATE              │
│  对话式规划        AI 受众匹配      AI 消息生成             │
│  ┌──────────┐   ┌──────────┐    ┌──────────┐            │
│  │ 老板与AI │──→│ 扫描      │──→│ 为每个    │            │
│  │ 来回讨论  │   │ PhoneBook │   │ contact   │            │
│  │ 确定方案  │   │ 48 字段   │   │ 定制 SMS  │            │
│  └──────────┘   └──────────┘    └──────────┘            │
│       │                              │                    │
│       ▼              ④ REVIEW        ▼                    │
│  Campaign          ┌──────────┐   Message                 │
│  Record  ─────────→│ 员工逐条  │←── Queue                  │
│                    │ 审核/编辑 │                           │
│                    └─────┬────┘                           │
│                          │                                │
│              ⑤ SEND      ▼        ⑥ TRACK                 │
│            ┌──────────┐        ┌──────────┐              │
│            │ 批量发送  │───────→│ 追踪效果  │              │
│            │ RingCentral│       │ 回复/转化 │              │
│            └──────────┘        └──────────┘              │
└──────────────────────────────────────────────────────────┘
步骤 操作者 输入 输出
① Chat 老板 + AI 自然语言对话(多轮) 确定目标受众 + 消息策略
② Match AI Campaign 意图 + PhoneBook 全量数据 候选 contacts 列表 + 匹配原因
③ Generate AI contact 画像 + campaign 内容 + SMS 模板 每人一条定制 SMS
④ Review 员工 SMS 列表 逐条 ✅ 发送 / ❌ 跳过 / ✏️ 编辑
⑤ Send 系统 审核通过的 SMS 通过 RingCentral 批量发送
⑥ Track 系统 发送后的回复/通话/到店 Campaign 效果报告

2.2 对话式设计:AI 怎么理解老板的意图

老板不需要懂 temperaturerejectionReason 这些字段。AI 作为中间层,把自然语言翻译成数据查询。

典型对话流程

老板: "我想看看我们现在有没有合适做春季活动的客人"
AI:   [查 PhoneBook] → 分组汇总
      "看了您的客户数据,有三组人比较适合:
       1. 23 人之前因价格拒绝,折扣可能让他们回来
       2. 15 人是冷 lead 但提交过 2 次以上表单
       3. 8 人是流失会员,其中 5 人通话里提过'价格'
       您想针对哪组先做?"
老板: "先做第一组。对了,隔壁那家最近好像不太好?"
AI:   [检测到竞对话题 → 触发 Yelp/Google Maps 搜索]
      "查了一下,隔壁 Gold's Gym Yelp 3.2 星,最近差评
       集中在 'overcrowded' 和 'equipment broken'。
       建议 SMS 里不只提折扣,还可以强调'小班制教学、
       设备定期维护',正好打到竞对痛点。"
老板: "好主意,但别在短信里提竞对名字"
AI:   "明白。我来拟一版 SMS 模板..."
      [多轮对话继续,直到方案确定]
AI:   "方案确定:23 人,SMS 模板如下。要我生成每个人的
       定制版本吗?生成后会交给员工审核。"

2.3 AI 什么时候触发外部搜索

不是每次对话都搜外部数据。AI 根据对话上下文判断:

老板提到的关键词/意图 AI 触发的外部工具 获取什么
竞对名字、"隔壁"、"别家"、"竞争" Yelp Fusion API + Google Maps API 竞对评分、差评关键词、营业状态
"市场"、"趋势"、"最近行情" Reddit 本地 subreddit + 新闻搜索 本地健身讨论、行业动态
"新小区"、"搬来"、"附近" Google Maps Places API 周边社区变化、新开发区
不提外部话题 不触发 仅用 PhoneBook 内部数据

三、内部数据匹配 — PhoneBook 48 字段的价值释放

Campaign Engine 的核心优势:PhoneBook 已经有丰富的客户画像,只需要一个 AI 来"读懂"这些数据并匹配 campaign 意图。

3.1 匹配维度

匹配维度 PhoneBook 字段 Campaign 场景示例
价格敏感 priceSensitivity, budgetRange, rejectionReasons 含 "price" 折扣促销、首月特惠
兴趣匹配 classInterests, fitnessGoal, exerciseHabits 新课程推广(Yoga、HIIT 等)
冻结可唤醒 lifecycleState=frozen, rejectionReasons 条件变化时重新触达
流失可召回 lifecycleStage=churned, customerSummary Win-back campaign
高意向未转化 temperature=warm/cold + submissionCount≥2 加大跟进力度
满意可推荐 lifecycleStage=member + AI 满意度高 Referral / Bring-a-Friend
联系偏好 bestTimeToReach, preferredChannel 发送时间和渠道优化
决策障碍 objections, decisionProcess, decisionTimeline 针对性消除障碍

3.2 与现有触发规则的对齐

客户生命周期管理文档 已经定义了决策障碍触发条件

障碍标签 触发条件 系统动作
价格 店铺发起促销活动 自动推送到 campaign 候选列表
时间 新时段开放 / 淡季 通知员工联系
距离 新店开业 自动推送
需要同伴 Bring a Friend 活动 自动推送
已有会籍 竞品合约到期(预估) 提前联系

Campaign Engine 将这些规则从"被动触发"升级为"AI 主动建议"。AI 不需要等老板发起 campaign,可以主动提醒:"您有 23 个价格敏感的客户,最近是不是可以搞个春季优惠?"

3.3 Campaign 类型速查

场景 老板怎么说 AI 内部查什么 AI 外部查什么 AI 建议什么
价格促销 "春季 50% off" priceSensitivity=high + bad_timing(price) "46 人价格敏感,建议分 hot→warm→cold 三批发"
新课推广 "新开了 Yoga 课" classInterests 含 yoga + fitnessGoal "12 人之前表达过瑜伽兴趣"
竞对抢客 "隔壁好像不行了" rejectionReason=already has membership Yelp: 竞对差评 "竞对差评说 overcrowded,强调小班制"
季节活动 "新年搞一波" 所有 frozen + terminal(bad_timing) "128 个沉睡联系人可唤醒"
推荐活动 "搞个推荐有奖" member + active + 满意度高 "25 个活跃会员适合推荐"
社区变化 "附近新小区入住了" source=walk-in 地理分布 Google Maps: 新社区 "新小区在 2 miles 内"

四、外部竞争情报 — 免费 API 的价值

4.1 定位

外部数据的角色是辅助 AI 做建议,不是直接产出 lead。

公开数据几乎不包含个人联系方式

Facebook、Google、Yelp 等平台的公开数据不包含用户手机号或邮箱。外部数据的价值在于竞争情报和市场洞察,不在于获取新的联系人。

4.2 可用的免费 API

API 能拿到什么 免费额度 在 Campaign 中的作用
Google Maps Places API 竞对健身房位置、评分、评论数量、营业时间、照片 每月 $200 免费额度 竞对健康度监控、周边社区分析
Yelp Fusion API 竞对评论内容、评分趋势、分类标签 500 calls/day 免费 竞对差评关键词提取、用户痛点挖掘
Reddit API 本地 subreddit 健身相关帖子 免费(有 rate limit) 本地健身趋势、消费者情绪
Google Trends 搜索热度趋势 免费 "gym near me" 搜索量季节性分析
新闻搜索 竞对关店/涨价/品牌新闻 视 API 而定 竞争机会捕捉

4.3 AI 综合使用示例

场景:老板提到隔壁竞对

AI 内部查询: PhoneBook 中 rejectionReason 含 "already has membership" → 8 人
AI 外部查询: Yelp "Gold's Gym" → 3.2★,近期差评高频词: "overcrowded", "dirty"
AI 综合建议:
  "竞对差评集中在'拥挤'和'卫生'。您有 8 个客户之前因为'已有会籍'拒绝。
   建议发一条强调'小班制、每日消毒、设备维护'的 SMS,配合春季首月优惠。
   这样既打价格牌又打体验牌。"

场景:老板想了解市场趋势

AI 外部查询: Reddit r/[city] 搜索 "gym" "fitness" → 最近 3 帖问 kickboxing
AI 外部查询: Google Trends "kickboxing [city]" → 近 3 个月搜索量上升 40%
AI 建议:
  "本地 kickboxing 兴趣在上升,Reddit 上最近也有人在问。
   您是否考虑开 kickboxing 课?如果开的话,PhoneBook 里有 15 个
   fitnessGoal 含'减压'或'自卫'的客户可以先通知。"

五、SMS 生成与审核

5.1 生成方式:员工模板 + AI 个性化

员工写一个 SMS 模板控制基调和信息,AI 根据每个 contact 的画像填充个性化内容。

模板示例

Hi {name},我们 {gym_name} 正在搞春季特惠,{offer_details}。
{personalized_hook}
有兴趣的话回复 YES 或直接给我打电话!

AI 针对不同 contact 的生成结果

Contact 画像关键信息 AI 生成的 personalized_hook
Sarah bad_timing, price, interested in Tread 50 "记得您之前对 Tread 50 课程感兴趣,现在正好可以来体验!"
Mike churned, used to come 3x/week "我们很怀念您之前每周三次的训练节奏,欢迎随时回来!"
Jenny cold lead, submissionCount=3, 从未接通 "注意到您提交了几次体验申请但我们一直没能联系上您,这次特惠别错过!"

5.2 审核流程

操作 说明
✅ 发送 保持 AI 生成的内容,加入发送队列
❌ 跳过 这个 contact 不发送(如 AI 匹配不准)
✏️ 编辑 员工修改 SMS 内容后发送

审核是人工把关的关键环节

AI 可能匹配不准或生成不当内容。审核确保每条 SMS 都经过人工确认,符合 Level 5 铁律:"AI 建议,人类执行。"

5.3 发送策略

策略 说明
分批发送 按 temperature 分批:hot → warm → cold,间隔 1-2 天
时间优化 优先使用 contact 的 bestTimeToReach,无数据则用门店黄金时段
DNC 过滤 自动排除 doNotContact=true 的 contacts
安静时段 遵守 TCPA 规定,晚 9 点到早 8 点不发送
频率限制 同一 contact 7 天内最多收到 1 条 campaign SMS

六、Campaign 效果追踪

6.1 追踪指标

指标 定义 数据源
发送率 实际发送 ÷ 审核通过 SMS 发送日志
送达率 送达 ÷ 发送 RingCentral 送达回执
回复率 回复 ÷ 送达 MessageStore 中的 inbound SMS
通话转化 发送后 7 天内产生通话 ÷ 送达 call-analysis phone 匹配
预约率 发送后 14 天内 booking ÷ 送达 LeadTracking-v2 leadStatus=booked
成交率 发送后 30 天内转化 ÷ 送达 LeadTracking-v2 leadStatus=converted
ROI (成交收入 - campaign 成本) ÷ campaign 成本 手动输入收入

6.2 效果归因

SMS 发送后,系统自动追踪该 contact 在 7/14/30 天窗口内的行为变化:

Campaign SMS 发送给 Sarah (Day 0)
    ├── Day 1: Sarah 回复 "YES" → 记录 SMS 回复
    ├── Day 2: 员工打电话给 Sarah → 记录通话(关联 campaign)
    ├── Day 3: Sarah 预约试课 → leadStatus: booked
    ├── Day 6: Sarah 到店试课 → leadStatus: showed
    └── Day 12: Sarah 购买会员 → leadStatus: converted
                                → 归因: 春季促销 Campaign

6.3 insightureAI 的独有能力:Campaign + Conversation Intelligence

其他平台(GymSales、GymLeads、Keepme)也能发 campaign SMS 并追踪回复率。但 insightureAI 独有的是:

把 campaign 效果和通话质量关联起来。

示例报告:

春季促销 Campaign 效果报告
━━━━━━━━━━━━━━━━━━━━━━━━━━
发送: 46 人  |  回复: 18 (39%)  |  通话: 12  |  成交: 4

通话质量分析(AI 提供):
  • 12 通 campaign 后通话,平均质量评分 7.2/10
  • 3 通评分低于 5 → 员工 Tom 的电话
    → Tom 没有提到促销优惠(AI 检测到),直接用了标准话术
    → 建议: 给 Tom 补充 campaign 专用话术

  • 8 人回复了 SMS 但没有接电话
    → 其中 6 人的 preferredChannel = sms
    → 建议: 对这 6 人改用 SMS 继续跟进,不要打电话

对比行业基准:
  • 39% 回复率 vs 行业均值 15-25% → 高于行业
  • 33% 通话转化率 vs 门店历史均值 28% → 略高
  • 建议: 下次 campaign 可以扩大到 warm leads

没有竞品能回答:"Campaign SMS 发了,电话也打了,但为什么 Tom 的转化率低?因为他没提促销。"这就是 CI + Campaign 的结合价值。


七、竞品对比

能力 GymSales (ABC) GymLeads Keepme Antares insightureAI Campaign Engine
Campaign 创建 手动规则 手动规则 AI 推荐 AI 对话式
受众匹配 基础筛选 基础筛选 AI 匹配 AI 匹配 + 48 字段画像
外部竞争情报 Yelp / Google Maps / Reddit
通话录音 + AI 分析 核心能力
SMS 个性化 模板变量 模板变量 AI 生成 模板 + AI 个性化
Campaign + 通话质量关联 独有差异化
员工绩效归因 基础 基础 核心能力

八、Campaign 数据模型

填补 AI 运营顾问文档中的空白

历史 AI 运营顾问设计将 Campaign 数据模型标记为"待设计"。以下是初步设计。

8.1 Campaign 实体

字段 类型 说明
campaignId String (PK) 唯一标识
orgId String 所属组织
siteId String 所属门店
name String Campaign 名称(如"春季 50% off")
description String AI 对话中确定的 campaign 描述
type String pricing / new_class / conquest / winback / referral / seasonal / custom
source String corporate(总部下发)/ custom(门店自主)
status String draft / reviewing / sending / completed
targetAudience Map AI 匹配条件的结构化表示
smsTemplate String SMS 模板文本
totalTargeted Number 目标 contacts 总数
totalApproved Number 审核通过数
totalSent Number 实际发送数
createdAt String (ISO) 创建时间
completedAt String (ISO) 完成时间

8.2 CampaignMessage 实体

字段 类型 说明
campaignId String (PK) 关联 campaign
phone String (SK) 目标 contact
status String pending_review / approved / rejected / sent / delivered / replied
smsContent String AI 生成的定制 SMS(审核后可能被编辑)
matchReason String AI 匹配原因(如"bad_timing + price sensitive")
sentAt String (ISO) 发送时间
deliveredAt String (ISO) 送达时间
repliedAt String (ISO) 回复时间
outcomeStatus String no_response / replied / called / booked / converted
outcomeAt String (ISO) 结果确认时间

8.3 存储方案

选项 方案 优势 劣势
A DynamoDB Campaign + CampaignMessage 表 一致的技术栈 报表查询不方便
B DynamoDB 写入 → Neon PostgreSQL 读取 写入快 + 报表灵活 增加同步复杂度
C(推荐) 直接写入 Neon PostgreSQL 报表查询原生支持 + Campaign 是读多写少场景 与现有 DynamoDB 写入模式不同

Campaign 是典型的读多写少场景(创建少,查询/报表多),且效果追踪需要 JOIN 多张表(campaign + call-analysis + LeadTracking-v2),PostgreSQL 更适合。


九、实施路线

Phase 1: Campaign 基础(与 V1 路线图对齐)

  • AI Chat 中支持查询 PhoneBook("我有哪些价格敏感的客户?")
  • 基于查询结果生成 SMS 列表
  • 员工审核 → 通过 RingCentral 批量发送
  • 创建 Campaign + CampaignMessage 表

Phase 2: 外部情报 + 效果追踪

  • 接入 Yelp Fusion API 和 Google Maps Places API
  • AI 对话中根据上下文自动触发外部搜索
  • Campaign 效果追踪(回复率、通话转化、成交归因)
  • Campaign + CI 关联报告(通话质量分析)

Phase 3: AI 主动建议 + 自动化

  • AI 主动分析 PhoneBook 并建议 campaign 时机("您有 23 个价格敏感客户,要搞春季促销吗?")
  • 决策障碍自动匹配:门店发起促销 → 自动筛选匹配 rejectionReason 的 contacts
  • 分批发送自动化(hot→warm→cold,间隔 1-2 天)
  • A/B 测试支持(两版 SMS 模板对比效果)

Phase 4: 跨 Campaign 学习

  • Campaign 效果历史分析("过去 6 个月哪种 campaign ROI 最高?")
  • 客群 × Campaign 矩阵("Hot leads 对哪种 campaign 响应率最高?")
  • AI Campaign 效果预测("基于历史数据,预计这次 campaign 回复率 34%")

十、开放问题

问题 状态 备注
Franchise 合规 待确认 Corporate 下发的 campaign 我们是追踪还是也能自主发起?
TCPA 合规 待确认 批量 SMS 需要 opt-in consent,现有 contacts 是否已获取?
SMS 费用模型 待调研 RingCentral 批量 SMS 的定价,是否需要转 Twilio 降本?
Neon 直写 vs DDB 同步 待决策 Campaign 数据是否跳过 DynamoDB 直接写 PostgreSQL?
AI Chat 架构 待设计 Chat 后端是用 Bedrock Agent 还是自研 tool-calling pipeline?
外部 API 成本 待评估 Google Maps / Yelp 免费额度是否够用?超出部分成本?

附录 A: Speed-to-Lead 行业数据

Campaign Engine 解决的核心问题之一是跟进速度。以下是行业基准数据,说明为什么自动化 SMS 触达很重要。

响应速度与转化率

指标 行业现实 最佳实践
5 分钟内响应 转化率比 5 分钟后高 8-9x 应在 2 分钟内响应
1 小时内响应率 20% 的北美健身房做到 应是最低标准
最差响应时间 平均 5,000 分钟(3+ 天)
电话接通率 25% 的健身房在营业时间接电话 应 95%+

典型失败流程

 8:47 PM  用户在 Facebook 填表提交
    ▼  (Lead 进了健身房营销邮箱)
 9:15 AM  次日前台看到邮件,打印出来放经理桌上
11:30 AM  经理终于打电话 → 用户在上班没接 → 忘了 retry
 ☠️  用户早在 8:52 PM 就被竞对联系上了

转化率与获客成本

阶段 行业基准 Top Performer
Lead → Tour 12-15% 20-38%(快速响应)
Tour → Member 50-70% 70%+
整体 Lead → Member 6-10% 15-25%
渠道 平均 Lead 成本
TikTok Lead Gen $3–5
Facebook Lead Ads $15–40
独占 Lead 服务商 $35–75
Google Ads 搜索 ~$61.56

算一笔账:按 $60/lead、10% 转化率,获客成本 = $600/人。仅靠提升响应速度翻倍到 20%,获客成本降到 $300/人。Campaign Engine 的 Auto-SMS 直接覆盖"人工来不及响应"的窗口。


附录 B: 第三方 Lead 数据提供商参考

以下信息供长期参考。如果未来考虑接入外部 lead source(而非自有数据挖掘),这些是市场上的主要服务商。

Pay-per-Lead 模式

提供商 模式 单价 特点
Peak Marketing Service 按 lead 付费,无合约 $35–75/lead 独占 lead,实时交付
Data Axle USA 批量名单 按量定价 315M 消费者数据库

New Mover 数据(高价值,付费)

数据商 数据量 更新频率 独特能力
Acxiom ~800 万搬家记录,每周新增 ~40 万 周更 含 Pre-Movers(150 万待售房屋)
Porch Group Media 搬家人群 + 购买意图 持续 数十亿购买意图信号
El Toro 数字化搬家人群 每天 2 次 数小时内投放广告

健身行业管理平台 API

平台 API 能力 适用场景
Mindbody Webhooks API(新客户/预约事件) 对接会员管理数据
GymSales Zapier + REST API Lead 管道对接
Gymdesk Zapier + ActiveCampaign 营销自动化

参考资料

行业数据与策略

平台 API

竞品

Facebook/TikTok Lead Ads 集成