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

How to Log Shopify Orders to Google Sheets with Make

Automatically add order number, customer details, email, total, and line items to Google Sheets every time a Shopify order is placed.

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

Best for

E-commerce teams needing real-time order tracking with detailed product information

Not ideal for

Stores wanting simple order notifications without data transformation

Sync type

polling

Use case type

sync

Real-World Example

💡

A 25-person direct-to-consumer brand uses this to track orders across multiple Shopify stores in one master Google Sheet. Their operations team builds daily fulfillment reports from the data and flags high-value orders for priority shipping. Before automation, they manually exported order CSVs twice daily and often missed rush orders that came in after the last export.

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
Shopify private app with Orders read permission or Partner API access
Google account with Google Sheets access
Google Sheet prepared with column headers for order data
Make account with available operations quota

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Order Numberorder_number
Customer Namecustomer.display_name
Customer Emailcustomer.email
Order Totaltotal_price
Line Itemsline_items.name
Order Datecreated_at
2 optional fields▸ show
Fulfillment Statusfulfillment_status
Financial Statusfinancial_status

Step-by-Step Setup

1

Scenarios > Create new scenario

Create New Scenario

Set up a new Make scenario to connect Shopify orders to your Google Sheets tracking. Make uses a visual builder where each app becomes a module.

  1. 1Click 'Create a new scenario' from your Make dashboard
  2. 2Click the + icon to add your first module
  3. 3Search for 'Shopify' in the app list
  4. 4Select 'Shopify' from the results
What you should see: You should see a Shopify module icon in your scenario canvas.
2

Shopify > Triggers > Watch Orders

Configure Shopify Trigger

Set up the trigger to fire when new orders come in. Choose 'Watch Orders' to catch orders in real-time as they're placed.

  1. 1Click on the Shopify module
  2. 2Select 'Watch Orders' from the trigger list
  3. 3Click 'Create a connection' to link your Shopify store
  4. 4Enter your Shopify store URL (yourstore.myshopify.com)
  5. 5Paste your Shopify admin API access token
What you should see: Green 'Connection successful' message appears and you see order trigger options.
Common mistake — Don't pick 'Watch Order Transactions' — that fires on payment events, not new orders
Make
+
click +
search apps
Google Sheets
GO
Google Sheets
Configure Shopify Trigger
Google Sheets
GO
module added
3

Shopify > Watch Orders > Settings

Set Order Filter

Configure which orders to track. For a complete order log, you want all paid orders regardless of fulfillment status.

  1. 1Set 'Status' dropdown to 'Any'
  2. 2Leave 'Financial Status' as 'Any'
  3. 3Set 'Limit' to 100 for initial testing
  4. 4Click 'OK' to save the trigger settings
What you should see: The Shopify module now shows 'Watch Orders' with a green connection indicator.
Common mistake — Setting limit too high on first run can trigger thousands of historical orders
Google Sheets
GO
trigger
filter
Condition
matches criteria?
yes — passes through
no — skipped
Shopify
SH
notified
4

Google Sheets > Actions > Add a row

Add Google Sheets Module

Connect Google Sheets as the destination for your order data. You'll add each new order as a row in your tracking spreadsheet.

  1. 1Click the + icon to the right of your Shopify module
  2. 2Search for 'Google Sheets' in the app selector
  3. 3Select 'Google Sheets' from results
  4. 4Choose 'Add a row' action
What you should see: A Google Sheets module appears connected to your Shopify trigger with an arrow between them.
5

Google Sheets > Connection

Connect Google Sheets

Authenticate with your Google account and select the specific spreadsheet where orders should be logged. Make needs permission to write to your sheets.

  1. 1Click 'Create a connection' in the Google Sheets module
  2. 2Select your Google account from the popup
  3. 3Grant Make permission to access Google Sheets
  4. 4Click 'Continue' to complete authentication
What you should see: Google Sheets connection shows green 'Connected' status.
Common mistake — Use a Google account that owns the target spreadsheet, not just has edit access
6

Google Sheets > Add a row > Spreadsheet selection

Select Target Spreadsheet

Choose which Google Sheet and worksheet tab will receive the order data. If you don't have a sheet ready, create one first with headers.

  1. 1Click the 'Spreadsheet' dropdown
  2. 2Select your order tracking spreadsheet from the list
  3. 3Choose the specific worksheet tab (usually 'Sheet1')
  4. 4Verify the correct sheet name appears in the field
What you should see: Your spreadsheet name and worksheet appear in the module configuration.
Common mistake — Don't select a sheet with existing data unless row 1 contains your headers
7

Google Sheets > Add a row > Column mapping

Map Order Number and Customer

Map Shopify order fields to your Google Sheets columns. Start with essential order identification and customer information.

  1. 1Click in the first column field (A)
  2. 2Select 'Order Number' from the Shopify data dropdown
  3. 3Click column B field and select 'Customer: Display Name'
  4. 4In column C, select 'Customer: Email'
What you should see: Columns A, B, C show mapped Shopify fields with dynamic data placeholders.
Common mistake — Order Number is different from Order ID — use Order Number for the human-readable format
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
8

Google Sheets > Add a row > Financial fields

Map Financial Data

Add the order total and currency information. This gives you the financial tracking needed for your dashboard.

  1. 1Click column D field
  2. 2Select 'Total Price' from Shopify order data
  3. 3Click column E field
  4. 4Select 'Currency' from the dropdown
  5. 5In column F, select 'Created At' for the order timestamp
What you should see: Financial columns show Total Price, Currency, and Created At mappings.
Common mistake — Total Price includes tax and shipping — use Subtotal Price if you need pre-tax amounts
9

Google Sheets > Add a row > Line items

Map Line Items

Handle multiple products per order by mapping line item data. This creates a text summary of all items purchased in the order.

  1. 1Click column G field
  2. 2Select 'Line Items' from the Shopify data
  3. 3Choose 'Name' from the line items array
  4. 4Add 'Line Items: Quantity' to column H
What you should see: Line item fields appear with array indicators showing Make will handle multiple products.
Common mistake — Line Items creates one row per product — add an aggregator module first if you want one row per order
10

Google Sheets > Add a row > Status fields

Add Order Status Tracking

Include fulfillment and financial status to track order progress. This helps identify which orders need attention in your dashboard.

  1. 1Map 'Fulfillment Status' to column I
  2. 2Map 'Financial Status' to column J
  3. 3Add 'Tags' to column K for any order categorization
  4. 4Save the module configuration
What you should see: Status tracking fields are mapped and the Google Sheets module shows all column assignments.
11

Scenario > Run once

Test the Scenario

Run a test to verify data flows correctly from Shopify to Google Sheets. This catches mapping errors before you activate the automation.

  1. 1Click 'Run once' at the bottom of the scenario
  2. 2Wait for Make to fetch a recent Shopify order
  3. 3Check that data appears in your Google Sheet
  4. 4Verify all columns contain the expected information
What you should see: Your Google Sheet shows a new row with actual order data from Shopify.
Common mistake — Test pulls real order data — don't test on your live customer spreadsheet
Make
▶ Run once
executed
Google Sheets
Shopify
Shopify
🔔 notification
received
12

Scenario > Schedule settings

Activate Automation

Turn on the scenario to start logging orders automatically. Set the scheduling to run frequently enough for real-time tracking.

  1. 1Click the 'ON' toggle in the bottom left
  2. 2Set schedule to 'Every 5 minutes' for near real-time logging
  3. 3Click 'OK' to save and activate
  4. 4Monitor the first few runs for any errors
What you should see: Scenario shows 'ON' status and begins checking for new orders every 5 minutes.
Common mistake — Every 5 minutes uses more operations but gives faster updates — adjust based on your order volume

Drop this into a Make custom function.

Copy this template{{join(map(1.line_items; "name" + " (" + "quantity" + ")"); ", ")}}
▸ Show code
{{join(map(1.line_items; "name" + " (" + "quantity" + ")"); ", ")}}

... expand to see full code

{{join(map(1.line_items; "name" + " (" + "quantity" + ")"); ", ")}}

Scaling Beyond 500+ orders/day+ Records

If your volume exceeds 500+ orders/day records, apply these adjustments.

1

Batch Process Large Orders

Orders with 10+ line items can hit Google Sheets' cell limit. Use Make's array aggregator to group line items into a single formatted text field instead of individual rows.

2

Add API Rate Limiting

Shopify allows 2 calls per second for private apps. Insert a 1-second sleep module between operations when processing order backlogs to avoid 429 errors that break the scenario.

3

Split by Order Priority

Create separate scenarios for high-value orders (over $500) and regular orders. Priority orders can run every minute while standard orders check every 5 minutes, optimizing operation usage.

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 need real-time order logging with complex data transformation. Make handles Shopify's nested line items better than most platforms — you can aggregate multiple products into readable text or split them into separate rows. The visual scenario builder makes it easy to add filters for specific order types or customer segments. Skip Make if you just want basic order notifications — Zapier's Shopify integration is simpler for straightforward alerts.

Cost

This workflow uses 2 operations per order (1 Shopify trigger + 1 Google Sheets action). At 300 orders/month, that's 600 operations total. That fits Make's Core plan at $9/month which includes 10,000 operations. Zapier would need the Starter plan at $20/month for the same volume since Shopify is a premium app. N8n cloud costs $20/month for equivalent reliability. Make saves you $11/month compared to Zapier.

Tradeoffs

Zapier wins on Shopify trigger speed — their webhook fires within 30 seconds while Make's polling checks every 5 minutes minimum. N8n offers better data transformation with JavaScript expressions if you need complex order calculations. But Make's visual aggregator modules handle Shopify's product arrays without coding. Most e-commerce teams prefer seeing the data flow graphically rather than writing JSON transforms.

You'll hit Shopify's API rate limits at 500+ orders per day — add a 2-second delay between operations using Make's sleep module. Google Sheets caps at 100 cell updates per request, so orders with 10+ line items might need batch processing. Make's error handling restarts failed scenarios automatically, but you'll want email alerts for connection failures since order logging can't afford gaps.

Ideas for what to build next

  • Add Inventory AlertsCreate a follow-up scenario that checks product inventory levels after each order and sends Slack alerts when items fall below reorder thresholds.
  • Build Customer Lifetime Value TrackingConnect order data to a customer analysis sheet that calculates total spend, order frequency, and identifies VIP customers for special treatment.
  • Set Up Order Fulfillment AutomationTrigger shipping label creation in ShipStation or similar apps when high-priority orders appear in your Google Sheet, fully automating the fulfillment workflow.

Related guides

Was this guide helpful?
Google Sheets + Shopify overviewMake profile →