Skip to main content

Shopify permissions we ask for, and why

Merchant Sheets asks for eight read-only Shopify scopes. See what each one reads, why older orders need read_all_orders, what we don't ask for, and what to do if a scope is missing.

B
Written by Bradley Taylor

Merchant Sheets asks for eight Shopify permissions, called scopes, and every one is read-only. Each scope name starts with read_, so the app you create can read your store data but can never create, change, or delete anything.

What each scope reads

Scope

What Merchant Sheets reads with it

read_orders

Orders, order lines, refunds, transactions, and fulfillments

read_all_orders

Orders older than 60 days. Without it, Shopify only shares the last 60 days.

read_products

Products, variants, and collections

read_inventory

Inventory levels and cost per item, which COGS and gross profit use

read_locations

Your inventory and fulfillment locations

read_discounts

Discount codes and how often each one was used

read_price_rules

The rules behind each discount, such as the amount and what it applies to

read_shopify_payments_payouts

Shopify Payments fees and payouts. It only returns data if you use Shopify Payments.

Why we ask for older orders

Shopify limits apps to the last 60 days of orders unless they have read_all_orders. With it, your first sync reaches past that 60-day window, so year-over-year and trailing-12-month reports work from day one. How far back your data goes gives the exact start date.

What we don't ask for

Merchant Sheets doesn't request scopes for customers, abandoned checkouts, draft orders, or metafields. Those hold shopper names, emails, and other personal details we don't collect.

The only customer details we keep are an ID number and each order's shipping country and state or province. Data we do not collect lists everything we leave out.

If a scope is missing

If the app is missing a scope, your keys still save, and Data Connectors shows Missing permissions with the scopes to add. Add them to the app's Scopes, release a new version, and install the app on your store again so Shopify applies them. Then select Retry sync.

Scope changes in a new version don't reach your store until you approve them through Install app, which is why the reinstall step matters. Connect your Shopify store has the full steps.

Did this answer your question?