Home/Integrations/Shopify

Shopify and Google Sheets integration

Shopify's reports cover the basics, but most store owners end up exporting CSVs to answer their real questions. I connect Shopify to Google Sheets so orders, products and inventory come in on a schedule, and so changes like price updates can be made in a sheet and pushed back to the store.

Connect Shopify to my sheet

What it can do

Common Shopify jobs I set up. Yours will match how you use Shopify today.

Order import

New and updated orders, with line items, discounts, shipping and customer details, added to the sheet on a schedule.

Inventory and reorder report

Stock on hand per product and location next to recent sales, with items flagged when they'll run out within your lead time.

Bulk product updates

Edit prices, tags or inventory in a sheet, review the changes and push them to Shopify in one run.

Sales reports your way

Revenue by product, collection, discount code, channel or month, combined with costs or data that live only in your sheet.

Fulfillment lists

Today's unfulfilled orders as a pick list sorted by bin or product, ready to print.

Wholesale and custom orders

Orders taken outside the store, like wholesale or events, tracked next to Shopify orders in one view.

How it's built

The script connects to Shopify's Admin API with an access token from a custom app created in your store's admin, with only the permissions the job needs, such as reading orders or writing products. The token is kept in the script's properties.

Shopify signs webhooks with an HMAC header, which an Apps Script web app can't read, so I import on a time-driven trigger instead. Each run asks for orders updated since the last run and updates existing rows by order ID, so edited or refunded orders are corrected and nothing is counted twice.

Shopify limits how quickly an app can make requests. The script follows pagination, pauses when the API tells it to slow down and splits big jobs, like a first import of every past order, across several runs.

Good to know

  • Imports run on a schedule, so the sheet trails the store by however often the trigger runs.
  • Stores with very high order volume may outgrow a spreadsheet for reporting. I'll tell you if your store is at that point.
  • Bulk updates write to your live store, so they always go through a review step and a test on a few products first.
  • Customer personal data in the sheet needs the same care as in Shopify. I import only the fields you need.

Shopify questions

Is this different from a Shopify app that exports to Sheets?

Export apps work well for standard reports. A custom build makes sense when you need your own calculations, data from outside Shopify, or updates pushed back to the store.

Can it handle multiple locations?

Yes. Inventory is read per location, so reports can show stock at each warehouse or shop.

Will it slow down my store?

No. The script reads from Shopify's API on its own schedule and has no effect on your storefront.

Can I undo a bulk update?

The script saves the old values before writing new ones, so a bad change can be reversed from the sheet.

Tell me what your sheet needs to do

A few sentences is enough to start. I'll reply with questions, then a plan and a fixed quote.