Nearly three out of four people who add something to their online cart never finish the purchase. The Baymard Institute puts the average cart abandonment rate at roughly 70 per cent. For a Shopify store doing AUD 100,000 a month, that is AUD 70,000 in potential revenue walking out the virtual door.
Most stores send a single generic email: "You left something in your cart." It does not work very well, and for good reason. A template email cannot speak to why that specific person left or what it would take to bring them back.
AI changes that. With ChatGPT generating personalised recovery emails based on each customer's cart items, browsing history, and purchase patterns, you can turn abandoned carts into closed sales without hiring a copywriter or a developer. Here is how to set it up with Shopify and Klaviyo.
Why most cart recovery emails fail (and how much revenue you are losing)
Most cart recovery emails fail for the same reason most cold emails fail: they are generic. A message that says "complete your purchase" does not address why the customer left. Maybe they were comparing prices. Maybe they got distracted. Maybe the shipping cost was a surprise.
A one-size-fits-all email does not fix any of those problems. It also does not stand out in an inbox that already has dozens of promotional emails competing for attention.
According to Shopify's own research, roughly 53 per cent of merchants do not send any cart recovery emails at all. Even among those that do, Klaviyo's benchmarks show that multi-step sequences recover 12 to 18 per cent of lost revenue on average. The gap between 70 per cent abandonment and 12 per cent recovery is where AI personalisation makes its biggest impact.
When every email references the exact product the customer looked at, mentions how many times they viewed it, and offers something relevant to their browsing behaviour, the recovery rate climbs. It is not magic. It is context.
Prerequisites: What you need before starting
You need a Shopify store with products and active traffic, a Klaviyo account connected to that store, and access to ChatGPT (the Plus plan works, but any version that accepts API calls will do). You also need a way to connect ChatGPT to Klaviyo. An n8n workflow, a Zapier connection, or Klaviyo's own webhook triggers all get the job done.
The full setup takes about an hour. If you already have Shopify and Klaviyo connected, it is closer to 30 minutes.
Step 1: Set up the Shopify-Klaviyo sync for real-time cart tracking
Connect and enable cart tracking
Klaviyo has a native Shopify integration. Go to your Klaviyo account, navigate to Integrations, and select Shopify. Enter your Shopify store URL and authorise the connection. Once connected, Klaviyo automatically tracks a range of events: placed orders, abandoned carts, product views, and more.
The event you care about most is Abandoned Cart. This fires whenever someone adds items to their cart but does not complete checkout within a set time window (Klaviyo triggers this at the 60-minute mark by default). Each event carries the customer's email, the product IDs and quantities, the total cart value, and the URL used to resume checkout.
Verify the integration is working by placing a test order on your Shopify store, then abandoning the cart. Within a few minutes, the abandoned cart event should appear in Klaviyo's analytics dashboard under Events.
Step 2: Build the AI personalisation prompt for ChatGPT
Create the prompt that turns cart data into email copy
This is where the personalisation happens. You need a ChatGPT prompt that takes the cart data as input and returns a ready-to-send email.
Here is a working prompt pattern:
You are an ecommerce email copywriter for a Shopify store. Write a friendly, personalised recovery email for a customer who abandoned their cart. Use only the data provided below. Do not invent product names or prices. The goal is to encourage the customer to complete the purchase. Cart items: [list of product names, quantities, prices] Total cart value: [amount] Customer name: [first name] Product categories browsed: [categories] Number of visits to the product pages: [count] Write a subject line and a 3-paragraph email body. The tone should be helpful, not pushy. If the customer visited the same product more than twice, acknowledge their interest naturally.
This prompt produces a different email for every customer. Someone who browsed running shoes three times gets "we noticed you have been looking at the X Trail Runners" instead of "you left items in your cart." The difference matters.
Test the prompt with a few sample carts before automating it. Adjust the tone to match your brand voice. Some stores want playful, some want professional. The prompt is your lever.
Step 3: Connect ChatGPT to Klaviyo for automated email generation
Wire the data pipeline
You need a bridge that takes the abandoned cart data from Klaviyo, sends it to ChatGPT, and returns the generated email content back into Klaviyo. An n8n workflow or a Zapier connection handles this in a few clicks.
In n8n, the workflow looks like this:
- Trigger: Klaviyo webhook fires when an abandoned cart event occurs
- Extract: Pull the customer name, email, cart items, and total value from the event payload
- Send to ChatGPT: Call the OpenAI API with the prompt from Step 2, injecting the cart data into the prompt template
- Capture response: Extract the subject line and email body from ChatGPT's response
- Store in Klaviyo: Write the personalised subject line and body into Klaviyo custom properties on the contact profile
Once the data is stored on the contact profile, your Klaviyo email templates can reference it using Klaviyo's template syntax: {{ person|lookup:'ai_subject_line' }} and {{ person|lookup:'ai_email_body' }}. This keeps the generation and the sending separate. You can review generated emails in the contact profile before they go out.
If you prefer a simpler setup, Zapier has a ChatGPT + Klaviyo integration that handles the same pipeline without any configuration files. The tradeoff is less control over the prompt structure and timing.
Step 4: Set up the multi-step recovery sequence in Klaviyo
Build the flow that sends at the right time
A single email recovers some sales. A sequence of three well-timed emails recovers more. Klaviyo flows make this straightforward.
Create a new Klaviyo flow triggered by the Abandoned Cart event. Add three email steps:
- Email 1 (1 hour after abandonment): Friendly reminder. Subject line generated by ChatGPT. Simple: "Your [product] is still waiting." No discount, no urgency. Just a nudge.
- Email 2 (24 hours after abandonment): Personalised recommendation. Reference the customer's specific browsing pattern. If they viewed the same product multiple times, acknowledge the research phase. "We see you have been comparing [product A] and [product B]. Here is a quick comparison."
- Email 3 (72 hours after abandonment): Offer or alternative. If the first two emails did not convert, offer a small incentive or suggest a complementary product. The AI prompt can generate a personalised offer based on the cart value and product category.
Set the flow to suppress customers who complete a purchase during the sequence. Klaviyo handles this automatically: if someone buys between email 1 and email 2, they do not receive emails 2 or 3.
Step 5: Track performance and iterate with AI
Measure what works and feed it back into the prompt
Klaviyo's analytics show open rates, click rates, and recovered revenue for each flow. Track these metrics weekly. Compare your AI-generated sequence against your previous template-based sequence.
If certain product categories have higher recovery rates, adjust the prompt to be more confident with those categories. If the click rate drops on email 3, the offer tone might be too aggressive. Feed these observations back into the ChatGPT prompt as instructions.
Over time, the prompt becomes a tuned copy of your brand voice, product range, and customer behaviour. That is the compounding effect. The AI does not just send better emails today. It sends better emails next week because you improved the instructions based on real data.
What Changes When It Is Done
Before this setup, your cart recovery was either non-existent or based on static templates that every customer received. After this setup:
- Every abandoned cart email is unique to the customer who triggered it
- The recovery sequence runs on autopilot, 24 hours a day, seven days a week
- Each email references the specific products, browsing behaviour, and purchase history of the recipient
- The system improves over time as you feed performance data back into the AI prompt
- Your team spends zero hours per week writing or scheduling recovery emails
We wrote about a similar approach using Claude and n8n for cart recovery if you prefer that tool stack. The email nurture workflow we built with Claude and HubSpot also follows the same AI-personalisation principles, just applied to lifecycle emails instead of recovery.
Frequently Asked Questions
How much revenue can AI cart recovery actually recover?
Industry benchmarks from Klaviyo show that multi-step cart recovery flows recover 12 to 18 per cent of abandoned revenue on average. Adding AI personalisation can push that higher by tailoring the offer and tone to each customer's browsing behaviour.
Do I need a developer to set this up?
Not at all. The Shopify-Klaviyo integration is native and requires no code. ChatGPT integration can be done through Klaviyo's webhook triggers or a simple no-code tool like n8n. Most of the setup takes about an hour.
Is AI-generated email content better than templates?
AI-generated content adapts to each shopper's specific cart items, browsing history, and purchase patterns. A template says "you left something behind." AI says "those running shoes you looked at three times are still waiting." Context matters, and AI brings it.
Can I start with AI-generated emails on a free plan?
Yes. Klaviyo has a free tier up to 250 contacts, ChatGPT has a free plan, and Shopify starts at roughly AUD 39 a month. You can test the full workflow before upgrading any plan.
What happens if the AI generates wrong information?
The AI prompt should include strict instructions about only using the provided cart data and not inventing details. Test the first batch of generated emails manually before turning on automated sending. Most errors are caught in the first week.