Skip to content

Shopify integration

The Shopify integration reads your shop through the Shopify Admin API and lands the result in your own data warehouse. It is read-only: the connector asks for four read scopes and holds no permission that could change an order, a price or a customer record.

What the Shopify integration pulls

Every field is requested explicitly. Shopify returns exactly what the request asks for, so a customer name or a postal address never crosses the wire in the first place.

ObjectFields landedRefresh
OrdersOrder number, timestamps, currency, total, subtotal, discounts, tax, financial and fulfilment status, source, landing site, referring site, locale, tags, test flagIncremental, by update time
Order line itemsProduct, variant, title, SKU, quantity, price, vendor, line discount, discount allocations, tax linesWith the order
RefundsRefund id, creation and processing date, refunded line items, quantity, subtotal, tax, order adjustmentsWith the order
ProductsId, title, handle, product type, status, vendor, tags, publish dates, variantsDaily full refresh
InventoryInventory item id, SKU, price, quantity per variantDaily
Discount codesCode and amount per orderWith the order
Attribution attributesSession id, click ids, UTM source, medium and campaign, and the originating marketplace order id when there is oneWith the order

What never lands: the customer object, name, phone, billing and shipping address, browser IP, client details, free-text order notes and payment details. The shipping address is requested for one reason only, the ISO country code, and the object itself is discarded before a row exists. The email address is consumed by a one-way hash and dropped.

What the Shopify integration can be used for

Shopify can be used for channel-level revenue reporting. Every order carries its source, landing page and referring site, so revenue splits by channel from the order record itself rather than from a platform's own self-reported figure.

Shopify can be used for true return on ad spend. Shopify orders carry the click id that brought the visitor in. Joined to ad spend, that produces a revenue number the ad platform never sees, because the ad platform does not know about refunds.

Shopify can be used for refund-aware margin. Refunds land on their processing date, not on the original order date, which is the difference between a monthly report that ties out to the bank and one that does not.

Shopify can be used for product and brand mix analysis. Line items carry vendor, SKU, line-level discount and tax allocation, so mix by brand, category and net price is computed rather than estimated.

Shopify can be used for inventory-aware content planning. The content pipeline can be told not to write or promote an article about a product that is out of stock.

Shopify can be used for cohort and repeat-purchase analysis without holding a single customer name, because orders resolve to a stable pseudonymous person id on the identity graph.

Shopify can be used as a grounding source for the company brain, so an assistant answering a question about bestsellers or delivery times answers from your order history instead of guessing.

Shopify combined with other integrations

CombinationWhat it gives you
Shopify + KlaviyoCampaign revenue attribution. Which flow, which segment, which subject line produced orders, not just opens
Shopify + Google AdsReturn on ad spend net of refunds, on your own numbers
Shopify + Bol.comMarketplace versus own-shop margin, with the twin order matched on both sides
Shopify + Search ConsoleWhich search queries lead to revenue, not just to sessions
Shopify + first-party trackerThe full path from first anonymous visit to paid order, deterministically joined
Shopify + company brainProduct answers in chat that are grounded in real catalogue and stock data
Shopify + SlackA daily revenue and refund digest in the channel your team already reads

What you need to connect Shopify

  • A custom app in your Shopify admin with the read scopes for orders, all orders, products and inventory
  • The app's client id and client secret. Studio exchanges these for a short-lived token on every run and never stores an access token
  • Your shop domain

The first run backfills history as far as the read-all-orders scope allows. After that the connector runs incrementally on update time, with an overlap window so an order edited after the fact is picked up again.

Frequently asked

Can I connect Shopify to my own data warehouse? Yes. That is what this integration does. The warehouse is yours, in your own cloud project, in the EU.

Does the Shopify integration write anything back to my shop? No. The credential has read scopes only.

How is Shopify order data joined to marketing data? Through the identity graph. Orders contribute hashed identifiers and session and click ids, which resolve against the same identifiers contributed by email, ads and the tracker.

What about refunds and returns? Refunds land separately with their own processing date, so a return in March against a January order lands in March.