Install nod. from the Shopify App Store so your orders become attributed revenue.
Connecting Shopify lets nod. read your orders and match each one back to the full path of ads and sessions behind it, not just the click that closed it. Without this, the pixel can see traffic but not revenue.
tl;dr
Open the nod. listing on the Shopify App Store and click Install. Shopify takes you straight to its own permission screen — no store domain to type, no token to copy, no custom app to build.
You will be asked to approve read_orders, read_all_orders, read_products and
read_customers. Two of these are worth understanding: read_all_orders and
read_customers are Protected Customer Data scopes Shopify approves separately
from the app listing itself, on its own timeline. Your store connects either way —
nod. never blocks the connection on either of these being approved yet — but each
one missing narrows what nod. can show until Shopify grants it:
read_all_orders, order reads are capped at the trailing 60 days, so full
order history, cohort and LTV views stay empty beyond that window.read_customers, new-customer metrics are unavailable.If either is still pending, the Shopify card in Data Sources says so directly — check there rather than assuming something is broken. Once Shopify approves a scope, click Recheck permissions on the note to pick it up — the card doesn't poll Shopify on its own, so a stale note stays until you ask it to re-check.
After you approve, nod. holds your store's authorisation and sends you to sign in. If you do not have an account yet, create one and finish the short workspace setup — the store is waiting and attaches itself the moment your workspace exists.
Only workspace admins can complete this step. If you are a member rather than an admin, nod. says so and an admin can finish it from Data Sources.
One workspace holds one store. If your workspace is already connected to a different store, nod. refuses rather than swapping it — silently repointing would attach your existing conversion history to a different shop. Disconnect the old store first, then install again.
If the token is ever revoked (you uninstalled the app, or changed permissions), the Shopify card in Data Sources shows Reconnect. That re-runs the same approval against the store already on file. There is still nothing to type.
On connect, nod. registers five webhook topics: order created, order paid, order updated, refund created, and order cancelled. It then backfills up to a year of past orders, capped at 1,000 orders total and newest first, so your dashboard isn't empty on day one. If your store had more than about 1,000 orders in that year, the oldest of them stay out and everything from connect time onward arrives as live orders come in. Reaching past 60 days needs the read_all_orders scope, which Shopify has approved for nod.
nod. also captures your store's IANA timezone (e.g. Europe/Berlin) during connect, so reporting days in nod. line up with the days you see in Shopify admin, not UTC.
Check the Shopify card after connecting:
read_all_orders approval. Until Shopify approves that scope for the app, nod. only sees the trailing 60 days of orders. This does not block the connection — check the Shopify card in Data Sources for the exact status.read_customers approval. Same mechanism as above. Neither note clears itself the moment Shopify approves the scope — click Recheck permissions on the Shopify card to re-run the connection and pick up the newly granted scope.