Connecting your online shop

Connect your WooCommerce or Shopify store to bring orders, sales and refunds into your dashboard and attribution.

I'm using the platform as a
All help topics

Connecting your online shop brings your orders, sales and refunds into the dashboard, and credits each order to the marketing channel it came from - so ad spend can be set against the money it actually brought in.

Supported shops

  • WooCommerce
  • Shopify

You can connect one online shop per account.

How to connect WooCommerce

In WordPress, go to WooCommerce -> Settings -> Advanced -> REST API -> Add key:

  1. Give the key a description you'll recognise.
  2. Choose a user who can view WooCommerce reports - a Shop Manager or an Administrator.
  3. Set Permissions to Read. Nothing is ever written to your shop.
  4. Click Generate API key, then copy the Consumer key (starts ck_) and Consumer secret (starts cs_). The secret is only shown once.

Then, in the Online shop section of the Setup tab, paste your Store URL (your shop's https:// address, including any sub-folder it lives in) and both keys, and click Save & test. Your keys are encrypted at rest.

You connect each client's shop from their connection screen using keys the client generates for you. Ask for a key with Read permission for a Shop Manager user - it can see orders and reports but change nothing.

How to connect Shopify

You connect Shopify with an app you create for your own store. It takes about five minutes and needs the store owner, or a staff member who can manage apps. Everything it can do is read-only.

  1. Go to the Shopify Dev Dashboard at dev.shopify.com and sign in with the account that owns your store.
  2. Click Create app, and give it a name you'll recognise.
  3. On the app's version, under Access scopes, choose read_orders, read_products and read_customers. If read_all_orders is offered, add it too - without it Shopify only shares the last 60 days of orders (see below).
  4. Release the version, then install the app on your store.
  5. Open the app's Settings and copy the Client ID and Client secret.

Then, in the Online shop section of the Setup tab, enter your store's myshopify.com address (in Shopify admin it's under Settings -> Domains), the Client ID and the Client secret, and click Save & test. The secret is encrypted at rest.

We never read your customers' names, emails or addresses - only order totals, products, and whether an order was a customer's first.

Orders older than 60 days. Without read_all_orders, Shopify shares only the last 60 days of orders. Your 7 and 30 day sales are complete, though a refund on an order older than 60 days isn't visible. The 90 day figures start 60 days back, with a note saying so, and there's no comparison with the previous 90 days. Every day we read is kept, so after a month connected your daily chart covers the full 90 days.

The store owner creates the app in their own Dev Dashboard - it must belong to the same Shopify organisation as the store - and sends you the store address, Client ID and Client secret to enter on their connection screen. If you see Connect with Shopify on the card, that installs the app in one step instead.

What it powers

  • The Online shop tab - net sales set against your ad spend (sales per 1 of ads, cost per new customer, each channel's return), then orders, average order value, new vs returning customers, refunds and your top products. See Online shop tab.
  • Your revenue figures - net sales join the revenue tile on Today and Overview, and blended ROAS counts the sales your ads brought in.
  • Attribution - your shop gets its own view of the funnel, from ad impression to order.
  • Reports and AI - an Online shop performance report (see Report types), weekly insights on the Online shop tab, and the same figures - with the same caveats - for any AI tool you've connected through Connected AI.

How the figures are worked out

The figures match the ones in your own WooCommerce Analytics screen:

  • Gross sales - what your products sold for, before discounts and refunds. Shipping and tax are never included.
  • Net sales - gross sales, less discounts and refunds. This is the figure used for revenue and for ROAS.
  • Refunds count on the day they're processed, including refunds of older orders. A quiet week with a large refund can show low net sales, or even below zero - that's the refund, not a fault.
  • Orders your store excludes from its own Analytics (by default pending, failed and cancelled orders) are left out here too.
  • Each order is credited to the source your shop recorded for it. WooCommerce 8.5 and later records where each order came from; on older versions, or with order attribution switched off, orders show as Other.

We never read your customers' names, emails or addresses - only order totals, and whether an order came from a new or returning customer.

If you also have a CRM

Some CRMs copy every online order in as a deal. If you connect a CRM and a shop, we compare the two on every refresh: when your CRM's deals are clearly separate sales (far bigger than your orders, none named like an order) they're added together, and otherwise your CRM's revenue is shown beside your shop's until you tell us - so nothing is ever counted twice. You can give or change the answer on the Attribution tab or in the Online shop section of Setup. See Attribution.

When it won't connect

After Save & test, a failure says what to fix:

Shopify connection errors

"Shopify did not accept this Client ID and secret for this store."

  • Copy both again from the app's Settings in the Dev Dashboard, and check the app is installed on this store - releasing a version isn't enough on its own.

"That doesn't look like a Shopify store address."

  • Use the store's myshopify.com address, not its own domain. In Shopify admin it's under Settings -> Domains.

"Shopify found no store at that address."

  • Check the spelling of the myshopify.com address.

"The app is installed but missing a permission it needs."

  • Add read_orders, read_products and read_customers to a new version of the app, release it, and test again.
WooCommerce connection errors

"WooCommerce did not accept these keys."

  • The key or secret is wrong, or the key was revoked. Generate a new key and paste both parts again.

"The keys work but their user cannot view WooCommerce reports."

  • Create the key for a Shop Manager or Administrator user.

"WooCommerce Analytics is switched off or unavailable on this store."

  • Turn it on in WooCommerce -> Settings -> Advanced -> Features -> Analytics, then test again.

"Your site answered with a web page instead of data."

  • Usually a security plugin, a firewall or maintenance mode blocking the WooCommerce API. Allow requests to /wp-json/wc/ and /wp-json/wc-analytics/, then test again.

"Nothing was found at that address."

  • Check the Store URL, including any sub-folder your shop lives in (for example https://example.com/shop).

"WooCommerce only accepts API keys over https."

  • Use your store's https:// address.

"The consumer key starts with ck_ and the secret with cs_."

  • The two keys have been pasted into each other's boxes.

For anything else, see Error messages explained.