nod.

Install the nod. pixel on Shopify

Switch on the nod. pixel app embed and verify events arrive.

Updated July 12, 2026

The nod. pixel is what lets nod. see traffic on your storefront: page views, sessions, and the click ids and campaign parameters that later tie an order back to an ad. On Shopify, installing it also turns on an automatic bridge that attaches that data to the order itself, so you don't need a separate purchase snippet.

tl;dr

  • Nothing to paste. Installing nod. from the Shopify App Store is the whole setup.
  • Turn on the nod. pixel app embed in your theme editor — one toggle.
  • The pixel writes visitor and campaign data into cart attributes. Orders join server-side, so there is no purchase snippet.
  • Confirm with the "events · last 7 days" count and "last event" stamp on the Tracking page.

1. Turn on the app embed

Installing the app does not switch the pixel on by itself — Shopify lets you decide which theme it runs in. In nod., go to Settings → Tracking and click Enable the app embed. That opens your theme editor with the nod. block ready; flip it on and save.

Doing it by hand instead: Shopify admin → Online Store → Themes → Customize → App embeds, find nod. pixel, toggle it on, save.

There is nothing to configure on the block. nod. already knows which store you are on from the install, so the pixel id resolves by itself — no id to look up or paste. The Tracking domain field stays empty unless support gave you a custom tracking domain.

2. Why there is no code to paste

Earlier versions of this guide had you open layout/theme.liquid and add a script tag by hand. That is gone. Editing theme code means the pixel disappears when you switch or update your theme, and leaves a dead tag behind if you uninstall nod. The app embed has neither problem: it is not part of your theme, and turning the app off removes it.

3. What happens automatically on Shopify

Once the snippet is live, the pixel does two things without any further setup:

  • It tracks page views and sessions the moment a visitor lands, capturing click ids (like fbclid or gclid) and any utm_* or nod_* campaign parameters in the URL.
  • On a Shopify storefront specifically, it also writes that visitor and campaign data into the cart as attributes. When the order is placed, those attributes ride along on the order and nod. reads them back server-side to join the order to the visit.

This is why Shopify doesn't need a purchase snippet on the thank-you page: the join happens through the order itself, not through a browser-side conversion event firing at checkout.

If you also want custom events elsewhere on your site — a lead form, an account signup — you can send those with window.nod('track', 'EventName', { value: 50 }). For a Shopify order specifically, stick with the automatic bridge above rather than firing your own purchase event.

4. Verify it's working

Back on the Tracking page, the pixel overview card shows two things worth checking after you save your theme:

  • Events · last 7 days — a rolling count of events received for this pixel. It should start climbing within a few minutes of a real storefront visit.
  • Last event — a relative timestamp ("just now", "3d ago"). If it says "never," no event has arrived yet.

Open your storefront in a new tab and browse a page or two. Then reload the Tracking page — the count and timestamp should update.

Pitfalls

  • Consent is read from Shopify. The pixel stays dormant until Shopify.customerPrivacy.analyticsProcessingAllowed() grants analytics and updates when visitorConsentCollected fires. Do not add a competing host adapter unless you intentionally want it to be authoritative. See Consent and cookie banners (CMPs) for the contract.
  • An empty domain allowlist accepts events from anywhere. That's the default and it's fine for most stores. If you later lock the allowlist down under Settings → Tracking, make sure your actual storefront domain is on it — an allowlist that's too tight silently drops events with no error on your page, so "last event" going stale is often the first sign.