GoEast 的 lead 来源不止一条线。
用户可能从网站填了 CF7 表单,也可能通过 ManyChat 的 WhatsApp 流程提交了联系信息,也可能直接在 Acuity 上预约了试听课。三条渠道,三种数据格式,进了 Salesforce 之后却没有统一的字段结构——销售团队跟进之前,得先搞清楚这个 lead 从哪来、填了什么、有什么背景。
这是一个典型的「工具都有,但没有连起来」的状态。我的工作是把这条链路真正打通。
诊断:数据在哪里断了
动手之前,我先把现有的数据流程画出来,找断点。
CF7 → Salesforce:有 Zapier Zap,但字段映射不完整。用户填的一些信息(比如"感兴趣的课程类型""中文水平")在表单里有,但 Salesforce 的 Lead Object 上没有对应的自定义字段,Zapier 只能把这些信息塞进 Description 文本框里。销售看到的是一段混在一起的文字,不是结构化的数据。
ManyChat → Salesforce:Dan 管理的 ManyChat 流程当时只收 email,没收集其他信息。进了 Salesforce 的 lead 只有一个邮件地址,其他什么都没有。
Acuity → Salesforce:没有自动化。用户在 Acuity 上完成预约之后,信息只在 Acuity 后台,不会自动同步到 Salesforce。销售得手动查。
三条渠道里,只有 CF7 勉强有自动化,但字段质量不够;其他两条基本靠手动。
设计:两层表单架构
动手修之前,我和 Emily 对齐了一个根本问题:我们希望从一个 lead 身上收集什么信息?
最终确定的核心字段集:
| 字段 | 说明 |
|---|---|
| First Name / Last Name | 基础 |
| 必填 | |
| WhatsApp / Phone | 首选联系方式 |
| Business Line | 成人在线 / 上海线下 / 儿童课 |
| Chinese Level | 零基础 / 初级 / 中级 / 高级 |
| Learning Goal | 日常交流 / 工作 / 考试 / 文化兴趣 |
| How Did You Find Us | UTM source + 手动选项 |
| Message(可选) | 自由文本 |
有了这个字段集,表单设计就有了依据。
轻量入口表单(首页 / 通用 landing page):只问 Name、Email、WhatsApp、Business Line。摩擦力低,适合还在了解阶段的用户。
业务线详细表单(各业务线 landing page):在基础字段之上加入 Chinese Level、Learning Goal、以及该业务线特有的问题(比如儿童课程加入孩子的年龄和年级)。填完信息更完整,进 CRM 的 lead 质量更高。
两套表单的数据最终都进同一个 Salesforce Lead Object,只是完整程度不同。
Salesforce 自定义字段
原来的 Salesforce Lead Object 没有 Chinese Level、Learning Goal 这些自定义字段。Zapier 能正确映射之前,先得在 Salesforce 里把字段建好。
新增的主要自定义字段:
Chinese_Level__c Picklist 零基础 / 初级 / 中级 / 高级
Learning_Goal__c Picklist 日常交流 / 工作需要 / 考试备考 / 文化兴趣
Business_Line__c Picklist Adult Online / Shanghai Offline / Kids
Child_Age__c Number (儿童课程专用)
Lead_Source_Detail__c Text UTM campaign 信息
字段命名用 API Name 规范(__c 后缀),方便 Zapier 后续直接调用,不容易出错。
Zapier:五条 Zap 的逻辑
每张 CF7 表单对应一条 Zap。GoEast 最终有:
- 轻量入口表单 Zap:CF7 提交 → Salesforce Create Lead(基础字段)→ Brevo 加入"新询盘"序列
- 成人在线课程表单 Zap:CF7 提交 → Salesforce Create/Update Lead(完整字段)→ Brevo 加入"成人课程"nurture 序列
- 上海线下校区表单 Zap:CF7 提交 → Salesforce Create/Update Lead → Brevo 加入"线下校区"序列
- 儿童课程表单 Zap:CF7 提交 → Salesforce Create/Update Lead(含 Child_Age)→ Brevo 加入"儿童课程"序列
- Acuity 预约 Zap:Acuity New Appointment → Salesforce Update Lead(如已存在)或 Create Lead → 标记 Lead Status 为"Trial Booked"
共用部分(如 UTM 参数提取、重复 lead 检测)用 Zapier 的 Formatter 步骤处理,不在每条 Zap 里单独写,保持一致性。
重复 lead 的处理:用户可能填了多次表单。Zapier 里用 Salesforce 的"Find Record"步骤先搜同 email 的 lead,找到了就 Update,没找到才 Create。这样同一个用户的信息会累积在同一条 Salesforce 记录里,不会产生重复。
ManyChat 的对齐
ManyChat 由 Dan 管理,我和他对齐了字段收集的问题。
当时 ManyChat 流程里只收 email,理论上可以扩展。但对齐之后我们决定先不改 ManyChat 的用户交互流程——改 chatbot 流程有打断用户体验的风险,而且 ManyChat 带来的 leads 质量本来就相对较高(用户主动发起了对话),缺少 Level 和 Goal 字段对销售跟进的影响比较有限。
短期方案:ManyChat leads 进 Salesforce 时用特定的 Lead Source 标记,销售跟进时知道这批 leads 的信息不完整,沟通时主动问。
Brevo:email nurture 的逻辑
leads 进了 Salesforce 之后,同时会被 Zapier 加入 Brevo 对应的 contact list,触发 nurture 序列。
每条业务线有独立的序列:
成人课程序列(5 封,间隔 1-3 天):
- 收到信息确认 + GoEast 简介
- 学员故事(Abdulrahman 案例)
- 课程特点详解(一对一 vs 小班的区别)
- 常见问题解答
- 预约试听的 CTA
儿童课程序列(面向家长,4 封):
- 确认 + 儿童中文学习的价值说明
- GoEast 儿童课程的教学方式
- 家长常见担忧的解答(孩子注意力、在家如何配合)
- 预约试听 CTA
序列的写作原则:每封邮件解决一个具体问题,不堆砌信息。open rate 和 click rate 作为每月的监控指标,某封邮件数据异常低就重写标题或正文。
整条链路跑通之后的变化
打通之前,销售跟进一个 lead 的第一步是"搞清楚这个人是谁、从哪来、想要什么"——有时候得翻好几个系统。
打通之后,sales 打开 Salesforce 的 lead 记录,能直接看到:渠道来源、中文水平、学习目标、是否已预约试听、进了哪个 nurture 序列、上次打开邮件是什么时候。跟进从"猜"变成了"知道"。
这种改变的价值很难量化,但它是真实的。有了可靠信息的销售,每次跟进的质量都更高。
这篇文章是 GoEast Mandarin 全案复盘 的一部分。
Acuity 转化追踪的具体接入方案,是这条链路里独立的一个工程:Acuity + Google Ads 转化追踪接入方法。
CF7 表单本身的稳定性保障:CF7 表单健康检查器:用 WP-Cron 做自动化监控。
词汇测试和名字生成器这两个工具的 leads 也流入了同一条 CRM 链路:中文词汇测试系统:三天,1,500+ 封邮箱 · 中文名生成器:一个工具型 lead capture 的产品逻辑。