Beginner~12 min setupProductivity & E-commerceVerified April 2026
Google Sheets logo
Shopify logo

How to Track Shopify Abandoned Carts to Google Sheets with Make

Log abandoned Shopify checkouts to Google Sheets with customer email, cart value, and products for manual follow-up or recovery campaigns.

Steps and UI details are based on platform versions at time of writing β€” check each platform for the latest interface.

Best for

E-commerce stores wanting automated abandoned cart logging without custom development

Not ideal for

Stores needing instant abandonment alerts or anonymous visitor tracking

Sync type

polling

Use case type

export

Real-World Example

πŸ’‘

A 12-person DTC skincare brand uses this to track 200+ monthly cart abandonments in Google Sheets. Before automation, they manually checked Shopify's abandoned checkout reports twice weekly and missed 60% of recovery opportunities. Now their email marketing specialist gets real-time abandonment data with customer details and can launch targeted recovery campaigns within hours instead of days.

What Will This Cost?

Drag the slider to your expected monthly volume.

/mo
505005K50K

Each platform counts differently β€” Zapier: 1 task per trigger. Make: 1 operation per module per record. n8n: 1 execution per run.

Prices shown for annual billing. Based on published pricing as of April 2026.

Estimated ROI

1000

min saved/mo

$583

labor value/mo

Free

no platform cost

Based on ~2 min manual effort per operation at $35/hr fully loaded labor cost.

Implementation

Skip the setup

Import this workflow directly into Make

Copy the pre-built Make blueprint and paste it straight into Make. All modules, filters, and field mappings are already configured β€” you just need to connect your accounts.

Before You Start

Make sure you have everything ready.

Active Shopify store with admin access to create private apps
Google account with Google Sheets access
Make account with available operations quota
Basic understanding of your abandoned cart follow-up process

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Customer Emailemail
Cart Totaltotal_price
Currencycurrency
Product Namesline_items.title
Quantitiesline_items.quantity
Abandonment Dateupdated_at
2 optional fieldsβ–Έ show
Checkout IDid
Recovery URLabandoned_checkout_url

Step-by-Step Setup

1

Dashboard > Create scenario > Shopify

Create New Make Scenario

Start a fresh scenario in Make to capture abandoned cart data from Shopify. This sets up the foundation for your tracking system.

  1. 1Click 'Create a new scenario' on your Make dashboard
  2. 2Select 'Shopify' from the apps list
  3. 3Choose 'Watch Abandoned Checkouts' as your trigger
βœ“ What you should see: You should see the Shopify module added as your first step with 'Watch Abandoned Checkouts' selected.
2

Shopify module > Connection > Add

Connect Your Shopify Store

Link your Shopify account to Make using API credentials. Make needs read access to your abandoned checkout data.

  1. 1Click 'Create a connection' in the Shopify module
  2. 2Enter your Shopify store URL (yourstore.myshopify.com)
  3. 3Paste your private app API key and password
  4. 4Click 'Save' to establish connection
βœ“ What you should see: Green 'Connected' status appears next to your Shopify connection name.
⚠
Common mistake β€” Use a private app, not the main admin login β€” public apps can get rate limited faster
3

Shopify module > Settings

Configure Abandoned Checkout Trigger

Set how often Make checks for new abandoned carts. Every 15 minutes catches most abandonment without hitting API limits.

  1. 1Set 'Limit' to 10 abandoned checkouts per execution
  2. 2Change interval to 'Every 15 minutes'
  3. 3Leave 'Start date' blank to capture all future abandonments
  4. 4Click 'OK' to save trigger settings
βœ“ What you should see: The trigger shows 'Every 15 minutes' and 'Limit: 10' in the module summary.
⚠
Common mistake β€” Don't set limit above 50 β€” Shopify's API will timeout on large batches
Make
+
click +
search apps
Google Sheets
GO
Google Sheets
Configure Abandoned Checkout…
Google Sheets
GO
module added
4

Modules > + > Google Sheets > Add a Row

Add Google Sheets Module

Connect the Google Sheets action that will log each abandoned cart. This creates your tracking spreadsheet automatically.

  1. 1Click the '+' button after your Shopify module
  2. 2Search and select 'Google Sheets'
  3. 3Choose 'Add a Row' as the action type
  4. 4Click 'Create a connection' and authorize with Google
βœ“ What you should see: Google Sheets module appears connected to your Shopify trigger with 'Add a Row' selected.
5

Google Sheets module > Spreadsheet selection

Create or Select Tracking Spreadsheet

Choose an existing sheet or let Make create one for abandoned cart data. The spreadsheet needs specific columns for cart information.

  1. 1Select 'Create a new spreadsheet' or choose existing one
  2. 2Name it 'Abandoned Cart Tracking' if creating new
  3. 3Select the worksheet tab (usually 'Sheet1')
  4. 4Choose 'User Entered' for value input option
βœ“ What you should see: Spreadsheet and worksheet fields show your selected or newly created sheet name.
⚠
Common mistake β€” If using existing sheet, make sure row 1 has headers β€” Make won't create them automatically
6

Google Sheets module > Column mappings

Map Customer Email Field

Connect the customer's email from Shopify to your spreadsheet. This is your primary identifier for follow-up campaigns.

  1. 1Click in the first column field (A)
  2. 2Select 'email' from the Shopify data dropdown
  3. 3Verify the mapping shows {{1.email}} in the field
  4. 4Add column header 'Customer Email' if creating new sheet
βœ“ What you should see: Column A shows the email mapping with {{1.email}} displayed in the field.
⚠
Common mistake β€” Some abandoned carts have null emails if customers didn't enter email yet β€” add a filter later to handle these
Google Sheets fields
Column A
Column B
Email
Status
Notes
available as variables:
1.props.Column A
1.props.Column B
1.props.Email
1.props.Status
1.props.Notes
7

Google Sheets module > Column mappings

Map Cart Value and Currency

Capture the total cart value and currency for prioritizing follow-up efforts. Higher values get immediate attention.

  1. 1Click in column B field
  2. 2Select 'total_price' from Shopify data
  3. 3Click column C and select 'currency' field
  4. 4Format will be like {{1.total_price}} and {{1.currency}}
βœ“ What you should see: Columns B and C show total_price and currency mappings from the abandoned checkout data.
⚠
Common mistake β€” total_price comes as string, not number β€” Google Sheets will auto-convert for calculations
8

Google Sheets module > Column mappings > line_items

Map Product Details

Extract product names and quantities so you know what customers almost bought. This helps personalize recovery emails.

  1. 1Click column D field
  2. 2Navigate to 'line_items' then select 'title' for product names
  3. 3Click column E field
  4. 4Map 'line_items' > 'quantity' for product quantities
βœ“ What you should see: Product title and quantity mappings appear in columns D and E with line_items array notation.
⚠
Common mistake β€” line_items is an array β€” if customers have multiple products, this creates separate rows for each item
9

Google Sheets module > Column mappings

Add Timestamp and Cart ID

Include when the abandonment happened and Shopify's internal ID for tracking. Essential for following up at the right time.

  1. 1Map column F to 'updated_at' for abandonment timestamp
  2. 2Map column G to 'id' for Shopify's checkout ID
  3. 3Map column H to 'abandoned_checkout_url' for direct cart recovery
  4. 4Verify all mappings show proper Shopify field references
βœ“ What you should see: Timestamp, ID, and recovery URL mappings are visible in the final three columns.
⚠
Common mistake β€” abandoned_checkout_url expires after 30 days β€” don't rely on it for long-term recovery campaigns
10

Scenario footer > Run once

Test the Workflow

Run a test to make sure abandoned cart data flows correctly into your spreadsheet. This catches mapping errors before going live.

  1. 1Click 'Run once' button at the bottom of the scenario
  2. 2Wait for execution to complete (30-60 seconds)
  3. 3Check your Google Sheet for new rows with test data
  4. 4Verify all columns populated correctly
βœ“ What you should see: Your Google Sheet shows new rows with abandoned cart data, including email, value, products, and timestamps.
⚠
Common mistake β€” If no recent abandoned carts exist, the test may return empty β€” create a test abandonment on your store first
Make
β–Ά Run once
executed
βœ“
Google Sheets
βœ“
Shopify
Shopify
πŸ”” notification
received
11

Module menu > Add error handler

Set Up Error Handling

Configure what happens when the workflow hits problems. Prevents silent failures that miss abandoned carts.

  1. 1Right-click the Google Sheets module
  2. 2Select 'Add error handler'
  3. 3Choose 'Resume' directive to continue processing
  4. 4Add email notification module to alert you of failures
βœ“ What you should see: Error handler route appears branching from your Google Sheets module with resume directive set.
⚠
Common mistake β€” Don't use 'Ignore' directive β€” you'll lose abandoned cart data without knowing it failed
12

Scenario header > Status toggle

Activate Scenario

Turn on the automation to start capturing abandoned carts continuously. Your tracking system is now live and monitoring.

  1. 1Click the 'OFF' toggle in the top left to switch to 'ON'
  2. 2Confirm activation in the popup dialog
  3. 3Verify the scenario shows 'ON' status and next execution time
  4. 4Monitor the first few runs in the execution history
βœ“ What you should see: Scenario status shows 'ON' with next scheduled execution time displayed in the header.
⚠
Common mistake β€” First execution starts immediately β€” make sure your Google Sheet is ready and accessible

Drop this into a Make custom function.

JavaScript β€” Custom Function{{formatDate(1.updated_at; "YYYY-MM-DD HH:mm"; "America/New_York")}}
β–Έ Show code
{{formatDate(1.updated_at; "YYYY-MM-DD HH:mm"; "America/New_York")}}

... expand to see full code

{{formatDate(1.updated_at; "YYYY-MM-DD HH:mm"; "America/New_York")}}

Scaling Beyond 300+ abandoned carts per month+ Records

If your volume exceeds 300+ abandoned carts per month records, apply these adjustments.

1

Batch Google Sheets Operations

Add an Array Aggregator before Google Sheets to combine multiple abandonments into single API calls. Reduces operations by 60% and avoids Google's write rate limits.

2

Filter Out Test Orders

Add a filter to exclude abandoned carts with email patterns like test@, admin@, or your company domain. Prevents cluttering production data with internal testing.

3

Split by Cart Value

Create separate routes for high-value abandonments ($100+) vs low-value ones. Route expensive carts to immediate Slack notifications while logging cheaper ones to sheets only.

Going live

Production Checklist

Before you turn this on for real, confirm each item.

Troubleshooting

Common errors and how to fix them.

Frequently Asked Questions

Common questions about this workflow.

Analysis

VerdictWhy Make for this workflow

Use Make for this if you want real-time abandoned cart tracking without touching code. Make's Shopify trigger fires within 15 minutes of abandonment and handles the API pagination automatically. The visual mapper makes it simple to pull customer email, cart value, and product details into organized spreadsheet columns. Skip Make if you need sub-5-minute tracking speed β€” use Shopify webhooks with a custom script instead.

Cost

This workflow uses 2-4 operations per abandoned cart (1 for trigger, 1+ for Google Sheets depending on line items). At 100 abandonments per month, that's 300 operations total. Fits comfortably in Make's free tier (1,000 ops/month). The $9 Core plan handles 10,000 operations for stores with heavy abandonment. Zapier's free tier only covers 100 tasks monthly, so you'd need their $20 Starter plan. Make saves you $11/month here.

Tradeoffs

Zapier's Shopify integration includes a pre-built 'Cart Abandonment' template that sets up faster than Make's manual field mapping. N8N offers more granular control over the Shopify API calls and can batch multiple abandonments into single Google Sheets operations for efficiency. But Make's error handling is more robust for this workflow β€” both competitors tend to fail silently when Google Sheets hits write limits, while Make's resume directive keeps retrying.

You'll discover that Shopify's abandoned_checkouts endpoint only captures customers who entered email addresses. Anonymous browsers who add products but never provide contact info won't appear in your tracking. The API also has a 1-hour delay before marking carts as abandoned, so immediate remarketing isn't possible. Google Sheets occasionally returns 429 errors during high-traffic periods β€” add a retry handler or your data gets skipped permanently.

Ideas for what to build next

  • β†’
    Add Automated Email Recovery β€” Connect your email platform (Klaviyo, Mailchimp) to send personalized cart recovery emails based on abandonment triggers. Creates closed-loop recovery system.
  • β†’
    Build Value-Based Alert System β€” Add conditional routing to send Slack notifications for high-value abandonments ($200+) while logging smaller carts silently. Focuses team attention on biggest opportunities.
  • β†’
    Create Recovery Performance Dashboard β€” Use Google Sheets formulas or Data Studio to track recovery rates, average cart values, and email campaign performance. Measures ROI of your abandonment system.

Related guides

Was this guide helpful?
← Google Sheets + Shopify overviewMake profile β†’