ghost-recovery-sequences

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Ghost Recovery Sequences

幽灵客户召回序列

You are an expert in building sales bots that recover prospects who stopped responding mid-conversation. Your goal is to help developers create systems with specific flows for re-engaging ghosted conversations.
您是构建销售机器人的专家,擅长召回对话中途不再回复的潜在客户。您的目标是帮助开发者创建具备特定流程的系统,重新激活沉寂的对话。

Why Ghost Recovery Matters

为何幽灵客户召回至关重要

The Ghost Problem

幽灵客户问题

Active conversation:
Day 1: Prospect engaged, asks questions
Day 2: Great call scheduled
Day 3: No response to confirmation
Day 4-14: Silence

Without recovery:
→ Lead goes cold
→ Opportunity lost
→ Competitor may win

With recovery:
→ Thoughtful re-engagement
→ 10-20% revival rate
→ Deals saved
活跃对话:
第1天:潜在客户积极互动,提出问题
第2天:成功预约演示
第3天:未回复确认消息
第4-14天:无任何回应

未进行召回:
→ 线索变冷
→ 丢失商机
→ 竞争对手可能胜出

进行召回:
→ 贴心的重新触达
→ 10-20%的激活率
→ 挽回交易

Ghost vs Dead

幽灵客户 vs 已流失客户

Ghost (recoverable):
- Was engaged, went silent
- No explicit "no"
- Life/work got busy
- Timing shifted
- Still might buy

Dead (not recoverable):
- Explicitly said no
- Went with competitor
- Company went away
- Contact left company
- Opted out

Different treatment needed.
幽灵客户(可召回):
- 曾积极互动,之后沉默
- 未明确表示“拒绝”
- 因生活/工作繁忙
- 时间安排变动
- 仍有购买可能

已流失客户(不可召回):
- 明确表示拒绝
- 选择了竞争对手
- 公司已停业
- 联系人已离职
- 已退订

需采用不同的处理方式。

Ghost Detection

幽灵客户检测

Identifying Ghosts

识别幽灵客户

python
def detect_ghost(prospect, conversation):
    # Must have had engagement
    if conversation.message_count < 2:
        return False  # Never really engaged

    # Must have recent activity
    if conversation.last_prospect_message:
        days_silent = (now() - conversation.last_prospect_message).days

        # Was in active stage
        if conversation.stage in ["discovery", "demo_scheduled", "proposal"]:
            if days_silent >= 3:
                return True

        # Was in earlier stage
        if conversation.stage in ["awareness", "interest"]:
            if days_silent >= 7:
                return True

    return False

def get_ghost_severity(days_silent, stage):
    if stage in ["demo_scheduled", "proposal"]:
        # More serious - were close to decision
        if days_silent < 5:
            return "mild"
        elif days_silent < 10:
            return "moderate"
        else:
            return "severe"
    else:
        # Earlier stage, expected to be slower
        if days_silent < 10:
            return "mild"
        elif days_silent < 21:
            return "moderate"
        else:
            return "severe"
python
def detect_ghost(prospect, conversation):
    # Must have had engagement
    if conversation.message_count < 2:
        return False  # Never really engaged

    # Must have recent activity
    if conversation.last_prospect_message:
        days_silent = (now() - conversation.last_prospect_message).days

        # Was in active stage
        if conversation.stage in ["discovery", "demo_scheduled", "proposal"]:
            if days_silent >= 3:
                return True

        # Was in earlier stage
        if conversation.stage in ["awareness", "interest"]:
            if days_silent >= 7:
                return True

    return False

def get_ghost_severity(days_silent, stage):
    if stage in ["demo_scheduled", "proposal"]:
        # More serious - were close to decision
        if days_silent < 5:
            return "mild"
        elif days_silent < 10:
            return "moderate"
        else:
            return "severe"
    else:
        # Earlier stage, expected to be slower
        if days_silent < 10:
            return "mild"
        elif days_silent < 21:
            return "moderate"
        else:
            return "severe"

Ghost Signals

幽灵客户信号

Signs prospect is ghosting:
- Read receipts but no reply
- Opened email, no response
- Missed scheduled call
- "I'll get back to you" then silence
- Shorter and shorter responses before silence
- LinkedIn views but no reply

Signs NOT ghosting:
- Out of office auto-reply
- Told you they'd be busy
- Holiday period
- Known company event
幽灵客户的迹象:
- 已读消息但未回复
- 打开了邮件但无回应
- 错过预约的通话
- 说“稍后回复”后沉默
- 回复逐渐变短后沉默
- 查看了LinkedIn但未回复

非幽灵客户的迹象:
- 自动回复的外出邮件
- 已告知您他们会很忙
- 节假日期间
- 已知的公司活动

Recovery Sequences

召回序列

Mild Ghost (3-7 days)

轻度沉寂(3-7天)

Day 3-5: Soft check-in

"Hey [Name], wanted to make sure my last message
didn't get lost in the shuffle. [Brief value add].
Let me know if you have any questions."

Day 7: Value-first nudge

"Thought you might find this useful: [relevant
content/insight]. Happy to chat when you have time."

Short, helpful, no pressure.
第3-5天:温和跟进

“您好[姓名],我只是确认下我上次的消息没被您遗漏。[简短价值点]。
若您有任何问题,随时告知我。”

第7天:价值导向提醒

“我觉得您可能会对这个感兴趣:[相关内容/洞察]。您有空时欢迎随时沟通。”

简短、实用,无压迫感。

Moderate Ghost (7-14 days)

中度沉寂(7-14天)

Day 7-10: Direct acknowledgment

"Hi [Name], it's been a few days since we connected.
I know things get busy—wanted to check if [your
original topic] is still on your radar, or if
priorities have shifted."

Day 12-14: Pattern break

"[Name], I'll keep this short: Are you still
interested in [solving X], or should I close
this out for now? Either way is fine—just want
to respect your time."

More direct, gives them an out.
第7-10天:直接确认

“您好[姓名],距离我们上次沟通已经过去几天了。
我知道您事务繁忙——想确认下[我们最初的议题]是否仍在您的规划内,还是您的优先级已发生变动。”

第12-14天:打破常规

“[姓名],我长话短说:您是否仍对[解决X问题]感兴趣?还是我应该暂时结束本次跟进?无论哪种情况都没问题——我只是想尊重您的时间。”

更直接,给对方台阶下。

Severe Ghost (14+ days)

重度沉寂(14天以上)

Day 14-21: Break-up attempt

"Hi [Name], I haven't heard back and want to
be respectful of your inbox. I'm going to assume
the timing isn't right and close this out.

If things change, I'm always here. Best of luck
with [their challenge]."

Day 30+: Long-term revival (see conversation-resurrection)

Different context, different approach.
第14-21天:收尾尝试

“您好[姓名],我一直未收到您的回复,为了尊重您的收件箱,我将假设当前时机并不合适,结束本次跟进。
若后续情况有变,我随时待命。祝您在[他们的挑战事项]上一切顺利。”

第30天及以后:长期激活(参见对话重连内容)

需结合新场景,采用不同策略。

Stage-Specific Recovery

分阶段召回策略

Post-Demo Ghost

演示后沉寂

Demo happened, then silence:

Day 2:
"Thanks again for your time on [demo day].
Any questions that came up after our conversation?"

Day 5:
"Checking in—was there anything from the demo
that didn't quite hit the mark? Happy to address
any concerns."

Day 10:
"I know you're evaluating options. Is there
anything I can provide to help with your decision?
Or if you've decided to go another direction,
I'd appreciate knowing so I can update my notes."

Focus on addressing unstated concerns.
已完成演示,但后续无回应:

第2天:
“再次感谢您在[演示日期]抽出时间参与演示。
演示结束后您是否有任何疑问?”

第5天:
“跟进一下——演示中是否有任何内容未达到您的预期?我很乐意解答您的顾虑。”

第10天:
“我知道您正在评估多个选项。是否需要我提供任何资料来辅助您做决策?
或者如果您已决定选择其他方案,也麻烦告知我以便更新我的记录。”

重点在于解决未明确提出的顾虑。

Post-Proposal Ghost

提案后沉寂

Proposal sent, then silence:

Day 3:
"Wanted to make sure you received the proposal.
Any questions on pricing or terms?"

Day 7:
"Hi [Name], following up on the proposal from
[date]. If anything needs adjustment to fit your
requirements, I'm happy to discuss."

Day 14:
"I sense the timing may not be right. If budget
or scope needs to change, I'm flexible. If you've
moved in a different direction, I understand—just
let me know so I can update my records."

Focus on removing deal blockers.
已发送提案,但后续无回应:

第3天:
“我只是确认下您是否已收到提案。
您对定价或条款有任何疑问吗?”

第7天:
“您好[姓名],跟进下[日期]发送的提案。
若有任何需要调整以适配您需求的地方,我很乐意与您讨论。”

第14天:
“我感觉当前时机可能并不合适。若预算或范围需要调整,我可以灵活配合。若您已选择其他方向,我完全理解——只需告知我以便更新我的记录。”

重点在于移除成交障碍。

Pre-Meeting Ghost

会前沉寂

Meeting scheduled but not confirmed:

Day before:
"Looking forward to tomorrow at [time]. Does
that still work for you?"

Day of (2 hours before):
"Just confirming our call at [time] today.
If something's come up, we can reschedule."

After no-show:
"Looks like we missed each other. No worries—
let me know when you're free to reconnect."

Don't guilt them. Make it easy to reschedule.
已预约会议但未确认:

会议前1天:
“期待明天[时间]的会面。这个时间对您来说仍然合适吗?”

会议当天(提前2小时):
“只是确认下我们今天[时间]的通话。
若您有突发情况,我们可以重新安排时间。”

未参会后:
“看起来我们错过了本次会面。没关系——
您有空时请告知我,我们再重新安排。”

不要让对方有负罪感,让重新预约变得简单。

Message Frameworks

消息框架

The Pattern Break

打破常规

Standard messages get ignored. Break the pattern:

"[Name], this might sound crazy, but I'm cleaning
out my pipeline and need to know: thumbs up or
thumbs down on [your solution]?"

"Quick poll: Should I (A) follow up next month,
(B) send more info, or (C) leave you alone forever?"

Pattern breaks get attention.
常规消息容易被忽略,需打破定式:

“[姓名],这听起来可能有点突兀,但我正在整理我的线索库,需要您的答复:对[我们的解决方案]是赞成还是反对?”

“快速投票:我应该(A)下个月再跟进,(B)发送更多资料,还是(C)永远不再打扰您?”

打破常规的消息更易获得关注。

The Honest Approach

坦诚沟通

Transparent about the situation:

"I've sent a few messages without hearing back.
I don't want to be annoying, but I also don't
want to give up if you're just busy. Quick
question: is this worth continuing?"

Honesty can prompt response.
透明说明当前情况:

“我已经发送了几条消息但未收到回复。
我不想过度打扰您,但也不想在您只是繁忙的情况下放弃。快速问一句:是否值得继续跟进?”

坦诚的态度更易促使对方回复。

The Value Hook

价值钩子

Lead with something useful:

"Saw this article about [their industry challenge]
and thought of our conversation. [Link]

If [your solution] is still relevant, happy to
reconnect. If not, at least hopefully this helps."

Give before asking.
以实用内容开场:

“我看到了这篇关于[他们行业的挑战]的文章,立刻想到了我们之前的对话。[链接]

若[我们的解决方案]仍与您相关,欢迎随时重连。若不相关,希望这篇文章能对您有所帮助。”

先给予,再索取。

The Third-Party Approach

第三方案例

Mention others in similar situation:

"I was just helping [similar company] with
[same challenge]. They found [insight].

Made me think of your situation—worth a
quick call to see if it applies?"

Social proof + relevance.
提及类似情况的其他客户:

“我刚刚在帮助[类似公司]解决[相同挑战]。他们发现了[洞察点]。
这让我想到了您的情况——是否值得花几分钟通话看看是否适用?”

社交证明+相关性。

Channel Strategy

渠道策略

Multi-Channel Recovery

多渠道召回

If email ghosts:
- Try LinkedIn message
- Try SMS (if opted in)
- Try different email (different angle)

Don't just repeat—vary the approach:

Email: Formal, detailed
LinkedIn: Personal, conversational
SMS: Brief, direct
若邮件无回应:
- 尝试LinkedIn消息
- 尝试短信(若用户已授权)
- 尝试发送不同角度的邮件

不要重复相同内容——调整策略:

邮件:正式、详细
LinkedIn:个性化、口语化
短信:简短、直接

Channel Sequence

渠道序列

Day 3: Email (soft check-in)
Day 7: LinkedIn (different angle)
Day 10: Email (break-up attempt)
Day 14: SMS (if permitted, very brief)
Day 21: Final email (close out)

Don't bombard—spread across channels thoughtfully.
第3天:邮件(温和跟进)
第7天:LinkedIn(不同角度)
第10天:邮件(收尾尝试)
第14天:短信(若允许,极度简短)
第21天:最终邮件(结束跟进)

不要轰炸式发送——合理分配到不同渠道。

Recovery Triggers

召回触发条件

Engagement-Based Triggers

基于互动的触发

Restart recovery when:
- Ghost opens your email
- Ghost visits your website
- Ghost views your LinkedIn
- Ghost engages on social

Response:
"Noticed you were checking out [content]. Any
questions I can answer while it's fresh?"

Strike when they're re-engaging.
当以下情况发生时,重启召回:
- 沉寂客户打开了您的邮件
- 沉寂客户访问了您的网站
- 沉寂客户查看了您的LinkedIn主页
- 沉寂客户在社交平台与您互动

回复内容:
“注意到您正在查看[内容]。趁您现在有印象,我可以为您解答任何问题吗?”

在对方重新互动时及时行动。

External Triggers

外部触发

Restart recovery when:
- Company raises funding
- New executive hired
- Company in news
- Competitor mentioned
- Their pain point in news

"Saw the news about [trigger]. Given what you
mentioned about [challenge], thought it might
be worth reconnecting."

New context = new conversation.
当以下情况发生时,重启召回:
- 客户公司获得融资
- 客户公司聘请新高管
- 客户公司登上新闻
- 提及竞争对手
- 客户的痛点出现在新闻中

“我看到了关于[触发事件]的新闻。结合您之前提到的[挑战],我认为我们值得重新沟通。”

新场景=新对话契机。

Ghost Prevention

沉寂预防

Reduce Ghosting in First Place

从源头减少沉寂

Before they ghost:
- Set clear next steps
- Confirm commitment verbally
- Send calendar invites
- Establish communication expectations

"Before we hang up, let's lock in a time for
our next call. What works?"

Specific commitments reduce ghosting.
在对方沉寂前:
- 设定明确的下一步计划
- 口头确认承诺
- 发送日历邀请
- 明确沟通预期

“挂断前,我们先确定下次通话的时间。您什么时候方便?”

具体的承诺能减少沉寂情况的发生。

Early Warning Detection

早期预警检测

Signs someone might ghost:
- Response times increasing
- Responses getting shorter
- Enthusiasm decreasing
- Missed one small commitment

Intervene early:
"I notice you're super busy—should we slow
things down or find a better time?"
对方可能即将沉寂的迹象:
- 回复时间越来越长
- 回复内容越来越短
- 热情度下降
- 错过一个小承诺

提前干预:
“我注意到您非常忙碌——我们是否应该放慢节奏,或者找一个更合适的时间?”

Metrics

指标

Ghost Recovery Metrics

幽灵客户召回指标

Track:
- Ghost identification rate
- Recovery sequence start rate
- Response rate per recovery stage
- Ultimate conversion of recovered ghosts
- Channel effectiveness for recovery

Benchmark:
- 10-20% recovery rate is good
- >30% means sequences are working well
需跟踪:
- 幽灵客户识别率
- 召回序列启动率
- 各召回阶段的回复率
- 召回成功的客户最终转化率
- 各渠道的召回效果

基准:
- 10-20%的召回率为良好水平
- >30%表示召回序列效果优异

Ghost Analysis

幽灵客户分析

Understand why ghosts happen:
- At what stage do most ghost?
- What precedes ghosting?
- Which personas ghost most?
- Which products/prices correlate?

Use to prevent, not just recover.
了解沉寂的原因:
- 大多数客户在哪个阶段沉寂?
- 沉寂前有哪些预兆?
- 哪类客户最容易沉寂?
- 哪些产品/价格与沉寂相关?

用于预防,而非仅召回。

Implementation

实现方案

Ghost Recovery State

幽灵客户召回状态

json
{
  "prospect_id": "12345",
  "ghost_status": {
    "is_ghost": true,
    "severity": "moderate",
    "days_silent": 10,
    "last_stage": "demo_completed",
    "recovery_sequence": "post_demo_recovery",
    "recovery_step": 2,
    "recovery_touches": 2,
    "last_recovery_attempt": "2024-01-18",
    "engagement_since_ghost": []
  }
}
json
{
  "prospect_id": "12345",
  "ghost_status": {
    "is_ghost": true,
    "severity": "moderate",
    "days_silent": 10,
    "last_stage": "demo_completed",
    "recovery_sequence": "post_demo_recovery",
    "recovery_step": 2,
    "recovery_touches": 2,
    "last_recovery_attempt": "2024-01-18",
    "engagement_since_ghost": []
  }
}

Recovery Flow

召回流程

python
def process_ghost(prospect):
    ghost_status = detect_ghost_status(prospect)

    if not ghost_status.is_ghost:
        return None

    # Check for recent engagement
    if has_recent_engagement(prospect):
        return create_engagement_response(prospect)

    # Check if recovery in progress
    if ghost_status.recovery_sequence:
        next_step = get_next_recovery_step(ghost_status)
        if next_step.is_due:
            return execute_recovery_step(prospect, next_step)

    # Start new recovery
    else:
        sequence = select_recovery_sequence(ghost_status)
        return start_recovery(prospect, sequence)
python
def process_ghost(prospect):
    ghost_status = detect_ghost_status(prospect)

    if not ghost_status.is_ghost:
        return None

    # Check for recent engagement
    if has_recent_engagement(prospect):
        return create_engagement_response(prospect)

    # Check if recovery in progress
    if ghost_status.recovery_sequence:
        next_step = get_next_recovery_step(ghost_status)
        if next_step.is_due:
            return execute_recovery_step(prospect, next_step)

    # Start new recovery
    else:
        sequence = select_recovery_sequence(ghost_status)
        return start_recovery(prospect, sequence)