

How to Sync Shopify Inventory to Google Sheets with Make
Automatically update your inventory tracking spreadsheet whenever product stock levels change in your Shopify store.
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 with 50-500 products that need automated inventory tracking
Not ideal for
Simple stores with under 20 products or those needing real-time second-by-second updates
Sync type
pollingUse case type
syncReal-World Example
A 25-person fashion retailer uses this to track inventory across 300 products with multiple size/color variants. Before automation, their inventory manager manually updated the tracking spreadsheet twice daily, often missing stockouts that lasted hours. Now inventory levels sync automatically every 15 minutes, and they've eliminated 90% of overselling incidents.
What Will This Cost?
Drag the slider to your expected monthly volume.
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
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.
Field Mapping
Map these fields between your apps.
| Field | API Name | |
|---|---|---|
| Required | ||
| Product SKU | handle | |
| Current Stock | inventory_quantity | |
5 optional fields▸ show
| Product Title | title |
| Inventory Policy | inventory_policy |
| Inventory Tracking | inventory_management |
| Variant SKU | variants[].sku |
| Last Modified | updated_at |
Step-by-Step Setup
Scenarios > Create new scenario > +
Create a New Scenario
Start by setting up a new Make scenario to connect Shopify inventory changes to your Google Sheet. This creates the foundation for your automated inventory sync.
- 1Log into Make and click 'Create a new scenario'
- 2Click the large '+' button in the center of the canvas
- 3Search for 'Shopify' in the app search box
- 4Select 'Shopify' from the results list
Shopify module > Watch Products
Configure Shopify Trigger
Set up the 'Watch Products' trigger to monitor inventory changes. This trigger fires whenever a product's inventory level updates in your store.
- 1Select 'Watch Products' from the Shopify trigger options
- 2Click 'Create a connection' and enter your Shopify store URL
- 3Install the Make app in your Shopify admin when prompted
- 4Set the trigger to run 'Every 15 minutes'
Shopify module > Advanced settings
Set Product Filters
Configure the trigger to only fire for products with actual inventory changes. This prevents unnecessary runs when other product fields update.
- 1Click 'Show advanced settings' in the Shopify module
- 2Toggle on 'Only updated products'
- 3Set 'Fields to watch' to 'inventory_quantity'
- 4Click 'OK' to save the trigger settings
Scenario canvas > Run once
Test Shopify Connection
Run a test to pull sample product data from your store. This verifies the connection works and shows you the data structure you'll map to Google Sheets.
- 1Click 'Run once' at the bottom of the scenario
- 2Wait for the test to complete (usually 10-30 seconds)
- 3Click on the Shopify module to view the returned data
- 4Verify you can see product titles, SKUs, and inventory_quantity fields
+ > Google Sheets > Update a Row
Add Google Sheets Module
Connect your Google Sheets account and select the spreadsheet where you track inventory. This module will update rows when Shopify inventory changes.
- 1Click the '+' button to the right of the Shopify module
- 2Search for 'Google Sheets' and select it
- 3Choose 'Update a Row' from the action list
- 4Click 'Create a connection' and authenticate with Google
Google Sheets module > Spreadsheet selection
Select Your Inventory Spreadsheet
Choose the specific spreadsheet and worksheet where you maintain your inventory data. Make needs to know exactly which sheet to update.
- 1Select your inventory tracking spreadsheet from the dropdown
- 2Choose the correct worksheet tab (usually 'Sheet1' or 'Inventory')
- 3Set 'Table contains headers' to 'Yes'
- 4Click 'Choose' to confirm your selection
Google Sheets module > Row selection
Configure Row Search Method
Set up how Make will find the correct row to update in your spreadsheet. Usually this matches by SKU or product title.
- 1Set 'Row number' to 'Select by filter'
- 2Choose your identifier column (typically 'SKU' or 'Product Name')
- 3Click in the value field and map it to Shopify's corresponding field
- 4Select 'handle' for SKU or 'title' for product name from the Shopify data
Google Sheets module > Field mapping
Map Inventory Fields
Connect the Shopify inventory data to your spreadsheet columns. This determines which inventory information gets updated and where.
- 1Find your 'Quantity' or 'Stock' column in the field list
- 2Click in the value box next to it
- 3Select 'inventory_quantity' from the Shopify data dropdown
- 4Map any other relevant fields like 'Last Updated' or 'Product Title'
+ > Flow Control > Iterator
Handle Variant Products
Configure how to handle products with multiple variants since each variant has its own inventory level. Most stores need to sum variants or pick the main one.
- 1Add an 'Iterator' module between Shopify and Google Sheets if you have variants
- 2Connect it to the 'variants' array from Shopify
- 3Update your Google Sheets mapping to use the iterator's inventory_quantity
- 4Set up a filter to skip variants with zero inventory if needed
Right-click module > Add error handler
Add Error Handling
Set up what happens when a product exists in Shopify but not in your spreadsheet, or when the Google Sheets API fails.
- 1Right-click the Google Sheets module and select 'Add error handler'
- 2Choose 'Ignore' for the error handler route
- 3Add a 'Create Row' module to the error handler
- 4Map the same fields to create new inventory entries for missing products
Scenario canvas > Run once
Test the Complete Flow
Run the full scenario to verify inventory data flows correctly from Shopify to your spreadsheet and updates the right rows.
- 1Click 'Run once' to test the complete scenario
- 2Check your Google Sheet to confirm a row was updated
- 3Verify the inventory quantity matches what's shown in Shopify admin
- 4Look for any error messages or failed modules
Scenario controls > Scheduling
Schedule and Activate
Turn on the scenario to run automatically and set how frequently it checks for inventory changes. Most stores check every 15-30 minutes.
- 1Click the 'Scheduling' toggle at the bottom left
- 2Set interval to 'Every 15 minutes' for active stores
- 3Click 'OK' to save the schedule
- 4Toggle the scenario to 'ON' to activate it
Drop this into a Make custom function.
JavaScript — Custom Function{{if(1.inventory_quantity > 0; 1.inventory_quantity; "Out of Stock")}}▸ Show code
{{if(1.inventory_quantity > 0; 1.inventory_quantity; "Out of Stock")}}... expand to see full code
{{if(1.inventory_quantity > 0; 1.inventory_quantity; "Out of Stock")}}Scaling Beyond 500+ products or 50+ updates per hour+ Records
If your volume exceeds 500+ products or 50+ updates per hour records, apply these adjustments.
Batch Updates with Aggregator
Use Make's aggregator module to collect multiple inventory changes and update your sheet in batches of 10-20 rows. This reduces API calls and avoids rate limits.
Implement Smart Filtering
Add filters to only sync products with inventory changes above a threshold (like 5+ unit changes) or focus on high-value items. This cuts unnecessary operations by 60-70%.
Use Data Store for Caching
Store previous inventory levels in Make's data store and only update Google Sheets when values actually change. Prevents redundant spreadsheet writes that eat your quota.
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
Use Make for this if you need real-time inventory sync and have products with variants or complex inventory rules. Make's iterator handles variant-level inventory better than other platforms, and its visual interface makes it easy to add filters for low stock alerts or inventory value calculations. Pick Zapier instead if you have under 50 products and want the simplest setup — their Shopify integration is more plug-and-play for basic inventory tracking.
This workflow uses 2 operations per product update — one for the Shopify trigger and one for the Google Sheets update. At 200 inventory changes per month, that's 400 operations total. That fits Make's free tier of 1,000 ops/month. Zapier's free tier only gives you 100 tasks, so you'd need their $20/month Starter plan. N8N self-hosted is free but requires server management. Make wins on cost until you hit 500+ inventory changes monthly.
Zapier's Shopify trigger includes a built-in 'Inventory Level Changed' option that's more precise than Make's generic product watcher. N8N has better bulk operations for initial spreadsheet setup if you're syncing 500+ existing products. But Make's error handling is superior — when a product exists in Shopify but not your sheet, Make can automatically create new rows while Zapier just fails. Make's iterator also processes variant inventory correctly without complex filters.
Google Sheets API rate limits hit hard with frequent updates — you'll get 429 errors if you sync more than 100 products within a few minutes. Make's scenario queue helps but doesn't eliminate the bottleneck. Shopify's webhook system is inconsistent for inventory changes, so polling every 15 minutes often catches updates that webhooks miss. Product variants complicate everything — you need the iterator or you'll only sync the first variant's inventory, missing size/color-specific stock levels.
Ideas for what to build next
- →Add Low Stock Notifications — Connect a Slack or email module to alert your team when inventory drops below specified thresholds during the sync process.
- →Create Purchase Order Automation — Set up a follow-up scenario that generates purchase orders in Google Docs or emails suppliers when specific products hit reorder points.
- →Build Inventory Value Tracking — Extend the sync to include product costs and calculate total inventory value, updating a separate dashboard sheet with financial metrics.
Related guides
How to Share Notion Meeting Notes to Slack with Pipedream
~15 min setup
How to Share Notion Meeting Notes to Slack with Power Automate
~15 min setup
How to Share Notion Meeting Notes to Slack with n8n
~20 min setup
How to Send Notion Meeting Notes to Slack with Zapier
~8 min setup
How to Share Notion Meeting Notes to Slack with Make
~12 min setup
How to Create Notion Tasks from Slack with Pipedream
~15 min setup