skills/marketing-growth/email-marketing-automation/SKILL.md
Build automated email flows for welcome series, post-purchase follow-ups, win-back campaigns, and browse abandonment to drive repeat revenue
npx skillsauth add finsilabs/awesome-ecommerce-skills email-marketing-automationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Triggered email flows automatically send personalized messages based on customer behavior and lifecycle stage, achieving 3–5x higher open rates than broadcast campaigns. Klaviyo (for Shopify/BigCommerce) and AutomateWoo or Klaviyo plugin (for WooCommerce) provide pre-built flow templates for the four critical flows: welcome series, post-purchase nurture, win-back campaigns, and browse abandonment. Most merchants can set these up without writing any code.
| Platform | Recommended Tool | Why | |----------|-----------------|-----| | Shopify | Klaviyo | Pre-built flow templates, deep Shopify integration, automatic event tracking (Viewed Product, Added to Cart, Checkout Started, Placed Order), predictive analytics | | WooCommerce | AutomateWoo ($99/yr) or Klaviyo (WooCommerce plugin) | AutomateWoo has native WooCommerce triggers and hooks; Klaviyo plugin syncs WooCommerce events | | BigCommerce | Klaviyo or Omnisend | Both have native BigCommerce integrations and pre-built lifecycle flow templates | | Custom / Headless | Klaviyo (via Track API) or SendGrid | Send events to Klaviyo's API; build flows in their visual editor |
Install Klaviyo from the Shopify App Store. Klaviyo automatically tracks Shopify events — no additional setup required for event capture.
Flow 1: Welcome Series
Flow 2: Post-Purchase Series
Flow 3: Browse Abandonment
Flow 4: Win-Back / At-Risk
Welcome Series:
Post-Purchase Series:
Browse Abandonment:
Win-Back:
Send behavioral events to Klaviyo's API, then build flows in Klaviyo's visual editor:
// Track key events via Klaviyo's Events API
async function trackKlaviyoEvent(email: string, eventName: string, properties: object) {
await fetch('https://a.klaviyo.com/api/events/', {
method: 'POST',
headers: {
'Authorization': `Klaviyo-API-Key ${process.env.KLAVIYO_PRIVATE_KEY}`,
'Content-Type': 'application/json',
'revision': '2024-10-15',
},
body: JSON.stringify({
data: {
type: 'event',
attributes: {
metric: { data: { type: 'metric', attributes: { name: eventName } } },
profile: { data: { type: 'profile', attributes: { email } } },
properties,
time: new Date().toISOString(),
},
},
}),
});
}
// Usage:
await trackKlaviyoEvent(customer.email, 'Viewed Product', {
ProductName: product.name, ProductID: product.id,
ImageURL: product.imageUrl, URL: product.url, Price: product.price,
});
await trackKlaviyoEvent(customer.email, 'Placed Order', {
$value: order.subtotal, OrderId: order.id,
Items: order.lineItems.map(i => ({ ProductName: i.name, ItemPrice: i.price })),
});
Once events are flowing into Klaviyo, build the flows in Klaviyo's visual editor using the same instructions as the Shopify section.
In Klaviyo:
In AutomateWoo:
| Flow | Key Metric | Target | |------|-----------|--------| | Welcome Series | Revenue per recipient | $1–$5 for first 30 days | | Post-Purchase | Review submission rate (email 4) | 5–15% | | Browse Abandonment | Recovered revenue per trigger | $2–$8 | | Win-Back | Re-activation rate | 5–10% of at-risk contacts |
In Klaviyo: go to Flows → [Flow name] → Analytics to see revenue, open rate, and click rate per email step.
| Problem | Solution | |---------|----------| | Win-back emails sent after customer just placed an order | Add flow filter: "Has NOT placed order since starting flow" — Klaviyo exits the contact from the flow immediately | | Browse abandonment fires for anonymous visitors | Gate the Viewed Product event on having a known email (logged-in user or cookie-captured email); Klaviyo only tracks identified profiles | | Duplicate emails sent when Shopify webhooks fire twice | Klaviyo's flow deduplication prevents this automatically — each profile enters a flow only once per trigger period | | High unsubscribe rate on win-back step 3 | 120-day lapsed customers are cold; lead with value (new arrivals, social proof) before the discount | | Email renders broken on Outlook | Use Klaviyo's email templates — they are pre-tested across clients; avoid custom HTML in Outlook without Litmus testing |
tools
Let shoppers save products to a wishlist, share it with friends, and get notified when saved items come back in stock or drop in price
development
Build a themeable storefront with design tokens and CSS custom properties that supports white-labeling, multi-brand variants, and dark mode
development
Speed up product discovery with instant search suggestions, fuzzy typo matching, and category-aware results powered by Algolia or Elasticsearch
development
Build a mobile-first storefront with thumb-friendly navigation, sticky add-to-cart buttons, and touch-optimized components for high mobile conversion