一键导入
winback-engine
Find dormant subscribers, segment by historical value, draft personalized winback emails per tier, and identify suppression candidates
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Find dormant subscribers, segment by historical value, draft personalized winback emails per tier, and identify suppression candidates
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Submit an AI agent to the agentlaunch directory and upvote agents via a public no-auth REST API
Comprehensive Google Ads account audit — campaign structure, budget pacing, conversion tracking, wasted spend — across every campaign type, ranked by estimated $ impact
Google Ads Demand Gen audit — audience strategy, creative format diversity, creative freshness, placements, CPA vs goal
Google Analytics 4 configuration and data-quality audit — key events, data streams, custom dimensions, attribution, retention, PII, Ads link, BigQuery export
Build a GA4 measurement plan from a site URL — event taxonomy, parameters, custom dimensions, and key events to mark as conversions
Weekly GA4 check — sessions, users, key-event conversions, revenue, channel mix — with week-over-week deltas and tracking-break alerts
| name | winback-engine |
| description | Find dormant subscribers, segment by historical value, draft personalized winback emails per tier, and identify suppression candidates |
| version | 1.0.0 |
| author | Cogny AI |
| requires | cogny-mcp |
| platforms | ["klaviyo","mailchimp","rule","get-a-newsletter"] |
| user-invocable | true |
| argument-hint | [aggressive|standard|conservative] |
| allowed-tools | ["mcp__cogny__klaviyo__*","mcp__cogny__mailchimp__*","mcp__cogny__rule__*","mcp__cogny__get_a_newsletter__*","mcp__cogny__create_finding","mcp__cogny__write_context_node","mcp__klaviyo__*","mcp__mailchimp__*","mcp__rule__*","mcp__get_a_newsletter__*","Bash","Read","Write"] |
Turn dormant subscribers back into customers. This skill scans your connected ESP for inactive subscribers, segments them by historical value, drafts a personalized winback series per tier, and flags who you should suppress before they tank your deliverability.
Requires: Cogny MCP + a connected ESP. Sign up
The output is a complete, ready-to-run winback campaign — not a report.
/winback-engine — standard mode (60-day dormancy threshold)
/winback-engine aggressive — 30-day threshold (acts earlier, bigger list)
/winback-engine conservative — 90-day threshold (only chronic dormants)
Detect connected ESP (same pattern as subject-line-lab). If none, prompt user to connect at cogny.com.
| Mode | Dormant | Deep dormant | Suppress candidate |
|---|---|---|---|
| aggressive | 30+ days no open | 90+ days no open | 180+ days no open/click, no purchase |
| standard | 60+ days | 180+ days | 365+ days no engagement |
| conservative | 90+ days | 270+ days | 540+ days |
From the connected ESP, pull every active subscriber with:
Purchase / LTV data — Klaviyo only. The cogny-mcp-proxy currently exposes purchase data for Klaviyo (via list_events filtered to the "Placed Order" metric, summing the value field per profile). Mailchimp, Rule, and Get a Newsletter in this proxy are engagement-only — they do not expose:
Per-ESP tool adapter:
| ESP | Subscriber list | Purchase history | Suppression write |
|---|---|---|---|
| Klaviyo | list_profiles (+ get_profile for detail) | list_events with metric="Placed Order" — use value field per profile for LTV | unsubscribe_profiles |
| Mailchimp | tool_list_members (filter status=subscribed) | Not available | tool_update_member (status=unsubscribed) |
| Rule | tool_list_subscribers | Not available | tool_update_subscriber / tool_list_suppressions |
| Get a Newsletter | tool_list_contacts | Not available | tool_delete_contact or tool_update_contact |
If Klaviyo (has purchase data): cross-cut by engagement recency × historical value:
| Tier | Criteria | Tone | Offer |
|---|---|---|---|
| A — High value dormant | Dormant + LTV ≥ top quartile OR past purchaser | Personal, apologetic, premium | Strong (20% off, free shipping, exclusive access). This is real money. |
| B — Medium value dormant | Dormant + some past engagement or 1 purchase | Warm, value-forward | Moderate (10–15% off, bundle, content) |
| C — Low engagement dormant | Dormant + never purchased + low engagement history | Direct, honest | Last-chance offer or content-only |
| D — Suppression candidates | Deep dormant + no purchase + no recent engagement | Final email only | "We're removing you unless..." |
If Mailchimp / Rule / Get a Newsletter (engagement-only): tier by engagement depth instead. No purchase data is available from the proxy for these ESPs — LTV-based tiering falls back to:
| Tier | Criteria | Tone | Offer |
|---|---|---|---|
| A — Deep engaged dormant | Dormant now, but historically high open+click rate (top quartile of clicks) | Personal, "we miss you" | Strong offer or exclusive content |
| B — Casual dormant | Dormant, moderate historical engagement | Warm, value-forward | Modest offer |
| C — Low engagement dormant | Dormant, few lifetime opens/clicks | Direct, honest | Content-only or re-opt-in ask |
| D — Suppression candidates | Deep dormant, minimal lifetime engagement | Final email only | Goodbye |
Revenue estimates in the output should be omitted for engagement-only ESPs, or marked estimated_impact_usd: null on findings with a note that the user can pair with their own LTV data to size the opportunity.
Output the tier sizes before drafting:
Winback candidates: <total>
├─ Tier A (high-value dormant): <count> subscribers (est. revenue: $<X>)
├─ Tier B (medium): <count>
├─ Tier C (low engagement): <count>
└─ Tier D (suppression): <count> ← do not keep sending to these
Revenue estimate for Tier A/B: count × historical AOV × expected reactivation rate (use 3-5% for Tier A, 1-2% for Tier B).
For each tier (A, B, C), generate 3 emails with cadence:
Tone by tier:
Tier A (high-value):
Tier B (medium):
Tier C (low engagement):
For every email produce: subject, preheader, body, CTA. Same format as /welcome-series.
Output a block the user can act on:
Suppression recommendation: <count> subscribers
These haven't opened, clicked, or purchased in <threshold> days. Keeping
them on the list:
• Hurts deliverability (low engagement = more spam placement for everyone)
• Inflates list size → higher ESP costs
• Distorts reporting baselines
Recommended action:
1. Send ONE final "goodbye" email offering resubscribe
2. After 7 days, suppress non-responders
Sample suppression email is included below.
Then include the goodbye email draft.
After presenting the plan, ask:
I can push this into your ESP as:
[A] Drafts only (you review + launch)
[B] Full flow installed but paused (you activate when ready)
[C] Just give me the copy, I'll handle it
Which?
If the user picks A or B and the ESP MCP has write tools available, follow the Write Action Protocol (same as the /cogny skill — present the action plan, wait for approval, then execute one step at a time).
For each significant tier (A, B with >100 subscribers):
{
"title": "Tier A winback: <N> high-value dormant subscribers, est. $<X> recoverable",
"body": "Identified <N> past purchasers with LTV in top quartile who haven't engaged in <days> days. Avg historical AOV: $<Y>. At 4% reactivation, estimated winback revenue = $<X>. 3-email series drafted and ready to install.",
"action_type": "winback_campaign",
"expected_outcome": "Reactivate 3-5% of Tier A dormant, generate $<X> over 30 days",
"estimated_impact_usd": <X>,
"priority": "high"
}
And one for suppression:
{
"title": "<N> subscribers recommended for suppression",
"body": "Deep dormant (<threshold>+ days) with no purchases. Keeping them hurts deliverability and inflates ESP cost. Recommend goodbye email + suppression after 7 days.",
"action_type": "list_hygiene",
"expected_outcome": "Improve overall open rate by 1-3 pp, lower ESP tier cost",
"estimated_impact_usd": <monthly_esp_savings>,
"priority": "medium"
}
tool_send_draft with time_to_send. For Klaviyo, flows install via the Klaviyo UI (the MCP exposes list_flows/get_flow for reads only, not create). For Mailchimp/Rule, automations/journeys are read-only too — so "install" means drafting campaigns and scheduling them, not creating a native automation.