1. 项目初衷与整体设计思路
1.1 为什么做 DeskcommCRM:一个不算新的痛点
老实说,我刚开始接触这个需求的时候,甲方提的第一句话不是“我们要上一套CRM”,而是“我们现在手里有三四套系统,却管不住一个客户”。
这个描述我特别有共鸣。销售在用Excel,客服在用工单系统,售后在用企业微信,市场部在用另一套营销工具。客户信息散落得到处都是:销售跟进记录在个人表格里,客服聊天记录在群里,合同在网盘里,回款在财务软件里。你要问“这个客户到底什么情况”,没人能在一分钟之内回答你,只能等各环节人凑齐了开会。
DeskcommCRM 的核心定位,不是做一个功能堆叠的管理后台,而是把“沟通”和“管理”塞进同一个工作流里。约等于说,客服在桌面处理客户消息的同时,系统就已经把这条沟通自动归档到客户档案、更新了最近跟进时间、也许还触发了一条待办。销售打开客户详情页,看到的不再是干巴巴的姓名和电话,而是这个客户最近一次找过来是问了什么问题、有没有未处理的售后单、上次报价是多少。
这种思路用一句话总结:让系统替人记住,让人专注干活。这个理念落地成产品,本质上是三块事:一是数据怎么归集,二是流程怎么串,三是操作怎么轻。
1.2 选型与取舍:自研轻应用而不是买大而全的套装
聊完需求之后,我们评估过市面上的通用CRM产品。功能确实全面,客户管理、商机阶段、合同回款、售后工单全都有。可问题是,通用产品的灵活性在遇到“客服沟通需要跟客户档案强绑定”这个场景时,反而不太好使。
通用CRM的默认模型是:客户是客户,工单是工单,跟进记录是跟进记录。销售打开客户页,能看到自己填的回访记录,但看不到客服那边跟客户的完整对话。客服的工作台里又看不到这个客户的历史订单和合同情况。要在通用系统里打通,要么多花一笔不小的定制费,要么就是靠开发接口来回同步。而且客服和销售本质上是两种不同工种,他们的界面习惯、字段需求、统计口径都打架。销售要看的是商机阶段转化率,客服要看的是响应时长和解决率。硬塞在一个界面里,大家都不舒服。
所以DeskcommCRM最终走的是自研轻应用路线。我们只保留CRM里最核心的客户档案、联系人、商机、跟进记录,再把工单模块做深,单独设计一个客服工作台,和销售视图分开。数据是同一套数据库,但界面和流程完全差异化。这样既不会重蹈“四五个系统互不相通”的覆辙,也不会像买回来的系统那样到处都有用不上的功能,看着就碍眼。
1.3 整体模块规划思路
整个系统的功能模块分四个层级,从底往上走:
- 第一层是数据底座:客户、联系人、产品、价格表、合同。这层解决的是“我们到底有哪些客户资产”。
- 第二层是沟通层:包括在线聊天、工单、邮件记录、通话记录。这一层解决的是“客户跟我们都说了什么”。
- 第三层是业务层:销售跟进、商机阶段、报价、售后任务。这层解决的是“事情办到哪一步了”。
- 第四层是决策层:数据看板、工单SLA报表、销售漏斗、客户活跃度统计。这层解决的才是“团队整体情况怎么样”。
设计的时候有个原则:每一层都允许跨层查询。比如销售看客户详情页,不仅要看到销售模块的跟进记录,还要看到客服模块的最近工单。客服在处理工单的时候,也能看到这个客户是不是有正在推进的大商机,这样沟通的时候心里能有个底。跨层查询不需要多少技术含量,难的是数据结构上提前留好关联字段。
2. 核心细节解析:客户生命周期的主线设计
2.1 客户统一档案:360度视图的搭建要点
CRM能不能用起来,客户详情页的体验占了七成。如果销售打开一个客户页面,看到的东西乱七八糟、加载又慢,他宁愿回到自己的Excel表里去。DeskcommCRM的客户详情页,遵循的是“一屏五区”的布局逻辑:
- 头部信息区:客户名称、级别、行业、归属销售、创建时间,固定吸顶,翻到底也能看到当前客户是谁。
- 状态概览区:当前所处生命周期阶段,是潜在客户、已成交客户还是流失后挽回客户,一眼可见。
- 关联记录区:联系人和所有历史工单的列表,通过Tab切换,默认展示最近更新的五条。
- 时间线区:所有类型的记录按发生时间倒序排列,电话、工单、跟进、报价、合同变更都进时间线。
- 快捷操作区:右侧悬浮按钮,新建跟进、发起工单、添加联系人、发起报价,永远只有四个按钮。
这个布局用下来最大的好处是,新人上手第一天不需要培训,凭直觉就能找到自己要看的东西。细节上有一点值得提:时间线里的记录一律用统一的数据模型存储,每条记录至少包含时间、操作人、动作类型、关联对象、备注内容五个字段。这样将来不管是做筛选还是做统计,都不用去不同的表里面来回join。
2.2 联系人、商机、跟进记录三件套如何连动
大部分团队把这三个概念当成三个孤立的功能模块来用,但真正的客户管理场景里,它们是一套连续动作。
DeskcommCRM里的设计是这样的:联系人是挂在客户下面的,一个客户可以挂多个联系人,但联系人之间可以标记关系,比如关键决策人、技术对接人、财务对接人。商机是挂在客户上的,一个客户可以有多个商机,但同一时间只能有一个商机处于“赢单”状态。跟进记录既可以挂客户,也可以挂具体的商机,甚至可以挂到具体的联系人上。这样设计的好处是,当你需要复盘“这个单子为什么会丢”,你可以把这个商机关联的所有跟进记录、报价、聊天记录全部调出来,完完整整地看到全过程。
有一个坑是在权限设计上踩出来的:跟进记录谁可以看?如果只有销售本人和直属领导能看,客服那边在处理客户问题时看不到历史跟进,就得问销售。如果全公司可见,销售就不愿意把真实跟进细节写进系统,宁愿在自己的备忘录里记。
最后我们采用的方法是“分级可见”:跟进记录按照敏感程度分ABC三级,A级仅自己和直属上级可见,B级本团队成员可见,C级全员可见。销售默认记录为C级,只有涉及具体金额谈判或客户隐私时才标为A级。这个妥协的平衡点是,大多数跟进记录实际上都是C级,客服能获得足够的信息上下文,销售也不会觉得被监视。
2.3 沟通记录自动归档:从聊天到客户档案的关键一跳
传统CRM最大的短板,是它只能管理销售主动录入的数据。客户在微信上问了一句“你们这个产品能对接我们的ERP吗”,这个问题如果不去工单系统里面转一圈,那就永远只存在于聊天记录里。DeskcommCRM在设计上专门做了沟通渠道的对接层,把企业微信、网页在线客服、邮件三个渠道的会话记录都接入系统。
接入之后,系统会根据联系人手机号或邮箱自动匹配已有客户档案。匹配不到的,自动创建一个“待认领客户”,并通知管理员分配。匹配上的,会话记录直接沉淀到客户时间线,同时记录会话的开始和结束时间。这里有一个关键设计:如果客服在会话中勾选了“生成工单”,那这段会话不仅会归档,还会关联到工单记录里,工单解决后会话同步标记为已解决状态。对售后来说,对话就是工单的附件,工单就是对话的结论,两边都不漏。
这个环节要处理的一个实际问题是,企业微信会话记录的同步延迟。有时候customer已经挂了电话,消息还没传过来。我们把同步策略设计成:会话结束后延迟三分钟拉取,加上主动轮询兜底。实测下来,基本能做到客户挂断电话五分钟内,系统里就能看到完整会话记录,这个速度已经可以接受。
3. 从需求到落地:核心环节的实现过程
3.1 数据模型与字段设计的落地参考
如果你也想做类似的系统,我最想分享的经验是:字段命名和类型设计决定了整个项目后续的维护难度,这个阶段不能图快。
客户表的核心字段我们最终定下来的是:客户ID(系统自动生成)、客户名称(必填,唯一性校验)、客户级别(枚举值,A/B/C/D)、行业归属(关联数据字典)、来源渠道(下拉框,包含广告投放、转介绍、官网留资、线下活动、主动开发等)、归属销售(关联员工表)、生命周期状态(枚举值,潜在/跟进中/赢单/沉睡/流失)、创建时间(自动)、最后跟进时间(自动,每次新增跟进记录时刷新)、最后工单时间(自动,每次新增工单时刷新)。
商机表的字段设计比客户表要多一些,因为商机是销售管理最核心的对象。关键字段包括:商机名称、关联客户、预计金额、预计成交日期、阶段(新建/需求确认/方案报价/商务谈判/赢单/输单)、赢单概率(根据阶段自动带出默认值)、竞争对手(文本)、丢单原因(赢单为否时必填)。这里有个经验:预计金额和预计成交日期一定要让销售填预估范围,不要只填一个数,否则月底复盘的时候对不上账,销售会说是预估不准,不是他的跟进有问题。
跟进记录表相对简单一些,但类型字段一定要区分清楚:电话、拜访、微信消息、邮件、方案发送、宴请、其他。这个类型字段主要不是为了分类,而是为了后续做活动量统计用的。如果所有跟进都只记一条“沟通”,你根本分不清销售是打电话了还是去见了客户。
3.2 权限模型:销售与客服视角如何共存
同一个系统里,销售和客服需要的权限本质是冲突的。销售不想让客服看到自己客户的商机金额,客服需要看到客户历史来快速判断工单优先级,但不需要知道这个客户可能给你带来多少钱。
最终权限模型设计成了“角色+数据范围+字段级”三层控制:
- 角色层:系统管理员、销售负责人、销售人员、客服主管、客服专员、只读人员六种角色,每种角色对应的菜单和操作权限不同。
- 数据范围层:销售只能看自己名下的客户和商机,销售负责人可以看本团队全部数据,客服可以看所有客户的工单信息和沟通记录,但默认看不到商机金额字段。
- 字段级控制:客户详情页默认不显示预计成交金额和赢单概率两个字段,客服角色需要单独申请才可见。管理员可以为特定角色设置字段级可见性,这种配置的精细程度,是一般现成CRM做不到的。
这个权限模型的实际效果是:客服可以在不侵犯销售敏感数据的前提下,获得足够的客户上下文。销售也不会因为担心客户被“抢走”而不敢录真实数据。
3.3 自动化规则:哪些重复动作可以交给系统
CRM系统最容易被忽略但价值最高的一块,是自动化规则的配置。DeskcommCRM里跑得最勤的三条自动化规则:
- 新客户分配规则:官网注册或客服创建的未分配客户,按团队成员的当前客户数从低到高依次分配,实现自动轮转。这个规则在销售团队比较忙的时候特别省心,不用管理员每天手动分配线索。
- 跟进提醒规则:客户生命周期阶段为“跟进中”,且超过7天没有新增跟进记录时,系统自动生成一条待办提醒给归属销售。超过15天没有跟进记录的,提醒升级到销售负责人。这套规则跑起来之后,沉睡客户的唤醒率有明显提升,因为人是会被系统推一下的。
- 工单升级规则:工单超时未响应会通知客服主管,超时未解决的通知售后负责人。这个规则比较常见,但有个细节值得说:通知不是只发一遍就完事,而是每级超时都会发,并且系统会在工单详情页标记“SLA已超时”,这个标记比任何提醒都管用。
自动化规则实现上不复杂,无非是定时任务加状态判断。但要注意的是触发器时机,尽量选在新增或变更动作之后,而不是每个小时全表扫描一遍。全表扫描在数据量小的时候没问题,客户过万之后就很容易把数据库拖慢。
4. 常见问题与排查技巧实录
4.1 重复客户数据:一套合并逻辑要解决九成问题
任何CRM只要用上三个月,重复客户是不可避免的。同一家公司,销售录了一遍,市场部又从网站后台同步了一遍,客服在工单里又自动建了一遍。DeskcommCRM上线一个月后,重复率达到了12%左右,这个比例相当吓人。
我们的处理办法分三层。第一层是录入时就防:客户名称在创建时做精确匹配,完全一样的直接提示已有客户,不允许重复创建。第二层是同步时合并:从外部渠道同步客户数据时,按统一社会信用代码或域名后缀作为唯一标识,命中已有客户的自动合并,不新建记录。第三层是定期清理:每个月跑一次模糊匹配脚本,按客户名称相似度和联系人电话重合度两个维度计算重复指数,超过一定阈值的进入人工审核列表。
清理脚本的运行结果会生成一个合并报告,明确写出哪两个客户将被合并、合并后保留哪些字段、删除哪些字段。合并前必须由管理员确认,因为一旦合并,业务数据无法恢复。
4.2 销售口径与客服口径对不齐的坑
这个问题的典型表现是:月底开会,销售说“这个月新增了30个客户”,客服说“这个月新增了60个工单客户”,两个数字对不上,老板一脸疑惑。
根源在于“客户”的定义不一致。销售眼里的新客户是新录入系统的线索,客服眼里的新客户是第一次来咨询的陌生人。在DeskcommCRM里,我们统一了定义:新客户指客户表里创建时间在本月且来源不是“工单自动创建”的记录。客服创建的新客户归入“新线索”统计口径,不计入销售的新客户数。这样定义之后,两个部门报表终于能对上了。
实际上,对所有团队级数据指标的定义,都应该在系统上线前就定好,并写进操作手册。这个看似不痛不痒的细节,后续会节省大量的对账时间。
4.3 工单响应慢:SLA规则要设计成“反推”模式
很多团队设定SLA的时候会定成这样:普通工单必须在4小时内响应,加急工单必须在1小时内响应。这个设定本身没问题,但在实际操作中,客服经常是在工单创建后第3小时50分才点一下“已响应”,然后继续慢慢处理。
原因很简单:规则没有考虑处理时长,只看响应时长。我们把SLA重新设计成双指标:第一指标是响应时长,第二指标是解决时长。加急工单要求1小时内响应、4小时内解决,响应了但是没解决,系统依然标记为“处理中超时风险”,并定时提醒。
另外,SLA计时规则里有个容易忽略的点:工作时间怎么算。工作日9点到18点和全天24小时,计算出来的超时结果差别很大。我们最终采用按客户等级分策略:A级客户的SLA按自然时间计算,B级和C级客户按工作时间计算。这个策略是跟团队反复讨论后确认的,因为A级客户的工单一般来自大客户,大客户不满意是很要命的事。
4.4 客户数据里的字段垃圾化:如何防止“什么都不敢删”
系统用了半年之后,字段数量越来越多,销售提需求说“我想加一个字段记录客户喜欢喝什么咖啡”,市场说“我想加一个字段记录客户从哪个广告点进来的”,客服说“我想加一个字段标记客户脾气好不好”。
字段能解决单个问题,但字段多了以后,录入成本就高,录入质量就低。DeskcommCRM在这方面的经验是设立“字段准入规则”:新加字段必须回答三个问题——这个字段后续要用来做什么分析?如果永远不填会有什么影响?有没有可能用现有字段替代?
绝大多数情况下,问到第三个问题,提需求的人就会发现,他用现有字段做标签就能解决。比如“客户喜欢喝什么咖啡”完全可以做成标签系统,而不需要一个独立的字段。
4.5 导入历史数据时最容易忽略的关联问题
上线前的历史数据导入,看起来是个搬运活,实际是个技术活。我们导入的第一轮就出了问题:Excel里的五千条历史客户记录,有一千多条找不到对应的归属销售,因为原始Excel里根本没录这一列。
正确的导入流程是先做数据清洗,再做字段映射,最后做关联验证。清洗阶段要处理空值、重复值、格式不一致。映射阶段要把Excel列与系统字段一一对应。关联验证阶段要确认外键字段(如归属销售、客户等级)在原数据中能匹配到系统内的有效值。
有个建议:不要试图把历史数据里所有的东西都搬进新系统。历史数据中的有效信息留下,过时的、无法验证的、字段含义不明确的,宁可不要。带病导入的数据会持续污染新系统,清理成本远超重新录入成本。
5. 团队落地与持续运营的实用建议
5.1 上线不等于成功,关键是头一个月的使用习惯养成
很多人觉得系统部署完成、数据导入成功、培训做完,项目就算结束了。实际上,上线后的二到四周比开发阶段更关键。这一阶段最容易出现的情况是:销售觉得录入是负担,客服觉得工单是多余,系统里的数据越来越少,最后变成只有管理层在看的僵尸系统。
DeskcommCRM上线后的前三周,我们做了三件事来稳住使用率。第一是每天拉取“使用活跃度报表”,统计每个销售和客服的登录次数、录入跟进数量、工单处理量,发给团队负责人,让负责人对低活跃的人做单独沟通。第二是每周选一个系统里真实发生的案例,在周会上演示这套系统如何帮我们留住了一个客户或解决了一个复杂问题,让团队看见系统与工作的直接关联。第三是把一些之前在线下流转的流程硬性搬到系统里,比如报价审批。
其中效果最好的是第三件事。当团队发现线下审批流程被取消、不通过系统就无法完成报价时,系统的使用就从“可选的”变成了“必须的”。这个门槛一旦迈过,后面就顺了。
5.2 数据质量是持续运营的生命线
很多CRM项目半年后失败,不是软件不好用,而是数据越来越脏,信任崩塌。克制这一点的有效做法,是每周发一份《数据健康度报告》。报告包含几个指标:客户资料完整度,就是必填字段的填写完整比例;跟进记录新鲜度,就是最近7天内有跟进记录的客户占比;重复客户数量;工单超时率;数据更新时间距今天数。
不用太复杂,一张报表每周更新就够了。数据健康的维护不能指望销售自觉,也不能指望管理员天天盯着。它需要的是一个制度:把数据健康度纳入团队月考核,占10%的权重。这个权重不高,但是已经足以让大家在录入时多一点耐心。
5.3 后续功能演进的方向
DeskcommCRM的第一期核心目标是让“信息有留存、沟通有记录、流程有闭环”。如果这个基础打稳了,后续的功能演进有几个方向可以考虑。
一个是客户分群与自动化营销的结合。有了完整的客户标签和行为记录之后,可以按生命周期阶段做自动化的触达策略。比如客户超过30天无活跃,自动推送一条优惠信息或者定期回访任务。一个是移动端适配的加强。销售外勤看客户、更新跟进记录,如果必须开电脑才能操作,还是会有人想办法偷懒。还有一个是BI报表的深化。当前报表还停留在“发生了什么”的阶段,下一步可以往“预测什么将会发生”的方向走,比如根据历史商机转化率预测本季度的可能签单金额。
当然,这些方向在不同团队里的优先级不一样,判断标准只有一个:是否能降低一线人员的重复劳动、是否能帮助管理者更快发现风险。功能做多了反而是负担,这句话在CRM项目里尤其需要反复自我提醒。