AI PLAY玩法更新持续收录
← 回到更新流

2026-10-06 · 原文发布日

本地Llama 3.2连写三封递进邮件追回Shopify弃单

弃单挽回的完整节奏:Shopify结账和订单webhook进来后先记进Google Sheets,新结账一小时后用本地Ollama跑的Llama 3.2写提醒邮件经Gmail发出;再过24小时若未成交,生成带CART10折扣码的跟进邮件;又过24小时发最后的紧迫感邮件,每一步都先查表格状态避免重复打扰。下单成功则标记已挽回并写感谢信加随机推荐品。每周一早上汇总挽回金额和比率发邮件给店主。全程用本地模型,不用OpenAI也能跑。

原文要点

原模板为免费n8n工作流:接收Shopify的checkout创建/更新与order创建两类webhook;结账事件把email、商品、价格、挽回链接、cart token写入Google Sheets,仅对新结账启动跟进序列;1小时后按cart token查表,状态非Recovered则用HTTP请求调用本地Ollama的llama3.2聊天端点生成提醒邮件经Gmail发出;再过24小时复查仍未成交则生成含CART10折扣码的跟进邮件并把状态更新为Discount Sent;又过24小时发最后紧迫感邮件并更新为Urgency Sent,每步发信前都查表跳过已挽回订单。下单事件把对应行标记Recovered,从内置目录随机选推荐品生成感谢信;每周一9点汇总表格计算挽回金额与挽回率发邮件给店主。原文给出Ollama端点示例http://host.docker.internal:11434/api/chat,提示可换GPT-4o或Claude,折扣码需在Shopify自行创建。

这次做成什么

用本地Ollama的llama3.2搭建三封递进弃单挽回邮件流程,并用一条虚构结账与一条虚构下单事件分别走完“发出三封邮件”和“中途挽回跳过后续”两条路径。

准备什么

  • 有管理员权限的Shopify测试店铺,可创建checkout与order两类webhook
  • 本地或局域网可用的Ollama服务并已拉取llama3.2模型
  • Google Sheets与Gmail的OAuth2凭证,以及一个含规定列的跟踪表格
  • 已在Shopify创建CART10折扣码(或改用自有折扣码并同步改提示词)

具体怎么做

  1. 建跟踪表与webhook

    按下方配置建Google Sheet列:Checkout Token、Email、Product、Price、Status、Recovery Link、Created At、Last Updated;在n8n加webhook节点,把URL填进Shopify后台的checkout创建/更新与order创建webhook;结账事件节点把字段写入表格,仅当表中无此token时启动后续等待序列。

  2. 三封递进邮件

    用Wait节点分别等1小时、24小时、24小时;每个等待后先用Google Sheets查找节点按Checkout Token读当前行,IF判断Status为Recovered则直接结束分支;否则用HTTP请求节点POST到Ollama端点,body用下方对应阶段提示词(提醒/折扣/紧迫),把返回文案交给Gmail节点发出,并在第二、三封发出后分别把Status更新为Discount Sent、Urgency Sent。

  3. 下单挽回与感谢信

    order创建webhook进来后按cart token找到表格行,把Status更新为Recovered;用一个含几款商品的内置列表随机挑一件推荐品;再调Ollama用感谢信提示词生成正文经Gmail发给客户。用于练习时可用Shopify后台手动下一笔测试单触发。

  4. 每周汇总邮件

    加每周一9点定时触发,读取表格全部行,用代码节点统计Status为Recovered的行数与Price合计、总结账数,算出挽回率,拼成中文摘要经Gmail发给店主测试邮箱;先用三行手工数据验证公式正确再放开。

可直接复制的材料

三封递进邮件的Ollama提示词(本站独立编写)

三段分别用于三个HTTP请求节点;店铺名、折扣码、语气按你的品牌改;llama3.2中文能力有限,可改英文提示词。

你是独立站客服文案助手,店铺名“晨风小铺”,语气友好简短,输出中文邮件正文不超过120字,不要输出主题行之外的多余内容。
【第1封·1小时提醒】顾客 {{email}} 选购了 {{product}}({{price}}元)未完成付款,请提醒订单还为他保留,并附上结算链接 {{recovery_link}}。
【第2封·24小时折扣】同一订单仍未付款,请告知使用折扣码 CART10 可享九折,链接 {{recovery_link}},语气不催促。
【第3封·48小时紧迫感】同一订单最后一次提醒,说明折扣码 CART10 将于24小时后失效,链接 {{recovery_link}},语气克制不夸张。

Ollama请求体与表格列配置(本站独立编写)

端点地址沿用原文示例,自托管n8n容器内访问宿主机Ollama才用host.docker.internal;其他环境改为实际地址。

{
  "ollama_url": "http://host.docker.internal:11434/api/chat",
  "ollama_body": {"model": "llama3.2", "stream": false, "messages": [{"role": "user", "content": "此处放入对应阶段提示词"}]},
  "sheet_columns": ["Checkout Token", "Email", "Product", "Price", "Status", "Recovery Link", "Created At", "Last Updated"],
  "status_values": ["New", "Reminder Sent", "Discount Sent", "Urgency Sent", "Recovered"],
  "wait_hours": [1, 24, 24],
  "weekly_summary": {"day": "Monday", "hour": 9}
}

输入与输出示例

本站虚构演示,邮件正文为示意截断、汇总数字与两行示例自洽,未真实运行Ollama或Shopify。

输入

练习A:webhook收到checkout事件,token=ct_demo_001,email=demo@example.com,商品=手工陶杯,Price=129,Recovery Link=https://shop.example.com/recover/ct_demo_001,之后不下单。练习B:同样事件token=ct_demo_002,40分钟后收到对应order创建事件。

对应输出

练习A:1小时后Status为New,Ollama返回提醒邮件正文“您的手工陶杯还在等您,点击链接即可完成结算……”,Gmail发出后Status=Reminder Sent;24小时后发出含CART10的折扣邮件,Status=Discount Sent;再过24小时发出紧迫感邮件,Status=Urgency Sent。练习B:order事件把ct_demo_002行更新为Recovered并发出含随机推荐品(如杯垫套装)的感谢信;1小时与24小时检查点读到Recovered后跳过,不再发任何挽回邮件。周一汇总:总结账2、挽回1、挽回率50%、挽回金额129元。

做完检查这些

  • 同一token重复收到checkout更新事件不会重复启动跟进序列或重复写入多行
  • 下单后Status变为Recovered的行,后续1小时与24小时检查点均不再发信
  • 三封邮件按顺序各只发一次,且第二、三封发出后Status正确更新
  • 周一汇总邮件中的挽回金额等于所有Recovered行Price之和,挽回率分母为全部结账行数

容易卡住的地方

  • 自托管n8n容器内localhost指向容器自身,连宿主机Ollama需用host.docker.internal或实际IP
  • CART10折扣码必须先在Shopify后台创建,否则邮件里的码无法核销
  • webhook需公网可达,Shopify测试单建议在测试店铺操作,避免给真实客户发练习邮件
  • llama3.2小模型输出可能带多余前后缀,Gmail节点取值前建议用代码节点截取正文
  • 等待节点总时长近49小时,中间重启或停用工作流会影响在途序列,测试期可先把等待改短

原文与作者资料 ↗

本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。

原文标题
Recover abandoned Shopify carts with Llama 3.2, Gmail, and Google Sheets
原作者
Shaharuk Anik
原始发布日期
2026-10-06T05:20:17.739Z
来源
https://n8n.io/workflows/20509