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

How to Track Daily Shopify Sales in Google Sheets with Make

Automatically calculate total revenue, order count, and average order value from Shopify and append a daily summary row to Google Sheets.

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

Best for

Store owners who want automated daily sales tracking without manual Shopify dashboard checking

Not ideal for

Businesses needing real-time sales data or stores processing 500+ orders per day

Sync type

scheduled

Use case type

sync

Real-World Example

💡

A 12-person e-commerce team selling home goods uses this to track daily performance in a shared Google Sheet that feeds their Monday morning sales review. Before automation, their ops manager logged into Shopify every morning and manually calculated revenue, order count, and average order value — taking 15 minutes and sometimes getting skipped on busy days. Now the data appears automatically at 8 AM with perfect accuracy.

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.

A Shopify store with orders to track
Shopify private app created with Orders read permission
Google Sheets spreadsheet with headers: Date, Revenue, Orders, Average Order
Make account (free tier works for daily runs)

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Dateformatted_date
Total Revenuetotal_price_sum
Order Countorder_count
Average Order Valueaov_calculated
1 optional field▸ show
Currencycurrency

Step-by-Step Setup

1

Scenarios > Create new scenario > Schedule

Create New Scenario

Start a new scenario in Make to build your daily sales tracker. This will run on a schedule to pull yesterday's sales data and calculate summary metrics.

  1. 1Click 'Create a new scenario' from Make dashboard
  2. 2Click the large + icon in the center
  3. 3Search for 'Schedule' in the app list
  4. 4Select 'Schedule' > 'Every day'
What you should see: You should see a clock icon module with scheduling options displayed on the canvas.
2

Schedule module settings

Set Daily Schedule

Configure the schedule to run every morning at 8 AM to process the previous day's sales. This timing ensures all orders from the previous day are captured.

  1. 1Set 'Repeat' to 'Every day'
  2. 2Set 'Time' to '08:00'
  3. 3Leave 'Timezone' as your business timezone
  4. 4Click 'OK' to save the schedule
What you should see: The schedule module shows '08:00 Every day' in the module header.
Common mistake — Don't set this too early (like 6 AM) — late-night orders might not sync to Shopify's API immediately
3

Add module > Shopify > Search Orders

Connect Shopify Module

Add the Shopify module to fetch yesterday's orders. You'll use the 'Search Orders' action to filter by date range.

  1. 1Click the + icon to the right of Schedule
  2. 2Search for 'Shopify' and select it
  3. 3Choose 'Search Orders' from the action list
  4. 4Click 'Add' to create connection if first time
What you should see: Shopify module appears connected to Schedule with a connection dialog open.
4

Shopify connection settings

Configure Shopify Connection

Connect your Shopify store by providing your store URL and private app credentials. This creates the API connection Make needs.

  1. 1Enter your shop name (just the name, not full URL)
  2. 2Paste your Admin API access token
  3. 3Paste your Admin API secret key
  4. 4Click 'Save' to test connection
What you should see: Connection shows green 'Verified' status with your store name displayed.
Common mistake — Use a private app token, not the basic API key — the basic key lacks order read permissions
5

Shopify Search Orders settings

Set Date Filter for Orders

Configure Shopify to only fetch orders from yesterday. Use Make's date functions to dynamically calculate the previous day's date range.

  1. 1Set 'Created at min' to {{formatDate(addDays(now; -1); "YYYY-MM-DD")}}
  2. 2Set 'Created at max' to {{formatDate(now; "YYYY-MM-DD")}}
  3. 3Set 'Limit' to 250
  4. 4Leave 'Status' as 'any'
What you should see: Date fields show dynamic formulas that will calculate yesterday's range when scenario runs.
Common mistake — Don't hardcode dates — the scenario needs to calculate yesterday dynamically each time it runs
Google Sheets
GO
trigger
filter
Condition
matches criteria?
yes — passes through
no — skipped
Shopify
SH
notified
6

Add module > Tools > Numeric aggregator

Add Aggregator Module

Add a numeric aggregator to sum total revenue and count orders from all the individual order records Shopify returns.

  1. 1Click + after the Shopify module
  2. 2Search for 'Tools' and select it
  3. 3Choose 'Numeric aggregator'
  4. 4Set 'Source Module' to the Shopify module
What you should see: Numeric aggregator module appears with Shopify set as the data source.
Common mistake — If you skip the aggregator, Google Sheets will get one row per order instead of a daily summary
7

Numeric aggregator settings

Configure Revenue Calculation

Set up the aggregator to sum the total_price field from all orders and count the number of orders processed.

  1. 1Set 'Target field' to 'total_price' from Shopify data
  2. 2Set 'Aggregation function' to 'SUM'
  3. 3Check 'Also aggregate' and select 'COUNT'
  4. 4Leave 'Group by field' empty
What you should see: Aggregator shows SUM(total_price) and COUNT as the two calculations it will perform.
Common mistake — Map 'total_price' not 'subtotal_price' — you want the final amount including tax and shipping
8

Add module > Tools > Math

Add Math Module for Average

Calculate average order value by dividing total revenue by order count. Make doesn't calculate this automatically in the aggregator.

  1. 1Add Tools > Math module after the aggregator
  2. 2Set 'Operation' to 'divide'
  3. 3Map first number to aggregator 'sum' result
  4. 4Map second number to aggregator 'count' result
What you should see: Math module shows division formula using the aggregator's sum and count outputs.
Common mistake — Add error handling here — if count is 0 (no orders), division will fail and break the scenario
9

Add module > Google Sheets > Add a Row

Connect Google Sheets

Add Google Sheets module to append the daily summary as a new row to your tracking spreadsheet.

  1. 1Click + after the Math module
  2. 2Search for 'Google Sheets' and select it
  3. 3Choose 'Add a Row'
  4. 4Click 'Add' to create Google connection
What you should see: Google Sheets module appears with authentication dialog open.
10

Google Sheets connection dialog

Authenticate Google Account

Grant Make permission to access your Google Sheets. Choose the Google account that owns your sales tracking spreadsheet.

  1. 1Click 'Sign in with Google'
  2. 2Select your Google account
  3. 3Click 'Allow' to grant permissions
  4. 4Verify connection shows 'Success'
What you should see: Google Sheets connection established with green checkmark and your email displayed.
Common mistake — Use the same Google account that owns the spreadsheet — shared sheets often have permission issues
11

Google Sheets Add a Row settings

Select Target Spreadsheet

Choose the specific Google Sheet and worksheet where daily summaries will be added. Create the sheet first if it doesn't exist.

  1. 1Click 'Spreadsheet' dropdown and select your tracking sheet
  2. 2Choose the worksheet tab (usually 'Sheet1')
  3. 3Set 'Table contains headers' to 'Yes'
  4. 4Select 'Row' as 'Bottom'
What you should see: Spreadsheet and worksheet are selected with column headers detected from your sheet.
Common mistake — If your sheet isn't in the dropdown, check that it's owned by the connected Google account, not just shared with it
12

Google Sheets field mapping section

Map Summary Data Fields

Map the calculated values to the appropriate columns in your Google Sheet. This creates your daily sales summary row.

  1. 1Map 'Date' column to {{formatDate(addDays(now; -1); "MM/DD/YYYY")}}
  2. 2Map 'Revenue' to aggregator sum result
  3. 3Map 'Orders' to aggregator count result
  4. 4Map 'Average Order' to math module result
What you should see: All four columns show mapped data from previous modules with proper formatting applied.
Common mistake — Round the average order value to 2 decimals using {{round(math.result; 2)}} or you'll get long decimal strings

Drop this into a Make custom function.

Copy this template{{round(1.value / 2.value; 2)}}
▸ Show code
{{round(1.value / 2.value; 2)}}

... expand to see full code

{{round(1.value / 2.value; 2)}}
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

Scaling Beyond 250+ orders/day+ Records

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

1

Add Iterator for Pagination

Shopify's API returns max 250 orders per request. Add an iterator module after the Shopify search to process multiple pages of results. Set the Shopify module limit to 250 and let the iterator handle pagination automatically.

2

Switch to Webhook Trigger

For stores with 500+ daily orders, replace the scheduled trigger with a Shopify webhook that fires when orders are created. This spreads API calls throughout the day instead of hitting rate limits during the morning batch run.

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 reliable daily calculations without checking Shopify manually. Make's numeric aggregator handles the math automatically and the visual builder makes date filtering simple to set up. The scenario runs every morning at 8 AM and processes yesterday's complete sales data. Skip Make if you need real-time updates throughout the day — this is designed for end-of-day summaries only. For live dashboards, connect Shopify directly to Google Sheets via Zapier's instant triggers instead.

Cost

This workflow uses about 15 operations per day: 1 for the schedule trigger, 10-12 for processing orders (depends on volume), and 2-3 for the calculation modules. At 30 runs per month, you're looking at 450 operations total. That fits comfortably in Make's free tier (1,000 operations/month). Zapier would need their $20 Starter plan since they count each order as a separate task. N8N self-hosted is free but requires server maintenance you probably don't want.

Tradeoffs

Zapier handles high-order-volume days better because their Shopify trigger processes orders in real-time throughout the day, while Make fetches them all at once in the morning. N8N has cleaner date manipulation functions — Make's formatDate syntax is clunky compared to N8N's DateTime node. But Make's numeric aggregator is purpose-built for this exact calculation, while Zapier requires multiple steps and N8N needs custom JavaScript. The visual debugging in Make also makes it easier to troubleshoot when your revenue numbers look wrong.

You'll hit Shopify's API pagination if you process 250+ orders per day — you need to add an iterator module to handle multiple pages of results. Google Sheets occasionally throws 'too many requests' errors if you run multiple scenarios writing to the same sheet simultaneously. The biggest gotcha is timezone handling: Shopify stores order timestamps in UTC, but your 'yesterday' calculation uses your local timezone, so orders from late evening might get double-counted or missed depending on your store's timezone settings.

Ideas for what to build next

  • Add Product Performance TrackingExtend the scenario to break down sales by product category or top-selling items. Use Shopify's line_items data to track which products drive the most revenue.
  • Create Weekly Summary ReportsBuild a second scenario that runs weekly to calculate 7-day averages and growth percentages. Pull data from your daily Google Sheet to create weekly rollup reports.
  • Set Up Low Sales AlertsAdd a filter that sends Slack notifications when daily revenue falls below your target threshold. Helps you catch slow sales days immediately.

Related guides

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