Recover Shopify abandoned carts and send weekly reports via Gmail and Sheets
Ready for 3.0Ready for 3.0. This template uses no nodes that n8n 3.0 removes. No removed nodes, versions or helpers found. Static check, last run 2026-10-19.
Nodes used (8)
- Schedule Trigger
n8n-nodes-base.scheduleTrigger - Google Sheets
n8n-nodes-base.googleSheets - Code
n8n-nodes-base.code - Gmail
n8n-nodes-base.gmail - Webhook
n8n-nodes-base.webhook - If
n8n-nodes-base.if - Wait
n8n-nodes-base.wait - HTTP Request
n8n-nodes-base.httpRequest
What it does
Quick overview This template automates Shopify abandoned cart recovery with a 3-email Gmail sequence, tracks recoveries in Google Sheets via Shopify “order paid” webhooks, and sends a weekly HTML performance report every Monday using data aggregated from the same spreadsheet. How it works 1. Receives a Shopify “checkout created” webhook, verifies the checkout includes an email address, and skips customers who already have an active recovery sequence logged in Google Sheets. 2. Logs the abandoned checkout details to Google Sheets and waits one hour before checking Shopify Orders for a paid purchase by the same email. 3. If no paid order exists, sends the first recovery email via Gmail and updates the Google Sheets row to mark Email 1 as sent. 4. After another 23 hours, checks Shopify Orders again and, if still unpaid, sends the second recovery email via Gmail and updates Google Sheets. 5. After another 48 hours, checks Shopify Orders again and, if still unpaid, creates a unique one-time Shopify discount (price rule + discount code) and sends the third email via Gmail, then stores the discount code and Email 3 status in Google Sheets. 6. Receives a Shopify “order paid” webhook, looks up the customer in Google Sheets, and if an unrecovered cart exists it marks the row as recovered with revenue, timestamp, and which email likely triggered the purchase. 7. Runs every Monday at 9:00 AM, reads all Google Sheets rows, calculates last-7-days recovery and revenue stats, and emails the merchant a formatted weekly report via Gmail. Setup 1. Create a Shopify Admin API connection (including writediscounts scope) and add Shopify webhooks for “Checkout creation” and “Order payment” pointing to the two n8n webhook URLs. 2. Create a Google Sheets OAuth2 connection and ensure your spreadsheet’s Sheet1 contains the required columns (checkouttoken, customeremail, email1sent/email2sent/email3sent, recovered, recoveryrevenue, recoveredvia, recoveredat, and related cart fields). 3. Create a Gmail OAuth2 connection for sending customer emails and the weekly report. 4. Update the Google Sheets document ID/sheet reference if you are not using the included spreadsheet, and replace REPLACEWITHMERCHANTEMAIL in the weekly report email node with the merchant’s address. 5. Verify the Shopify shop domain/API base URL used in the Shopify Orders and discounts HTTP requests matches your store, then activate all workflows.