nod.

Install the pixel on other storefronts and funnels

Add the nod. snippet to any non-Shopify site and send purchase and lead events manually.

Updated July 12, 2026

If your store or funnel doesn't run on Shopify, you install the same pixel by hand and send it your conversions with a couple of lines of code. This covers site builders, tag managers, and lead-gen funnel tools (ClickFunnels, GoHighLevel, Webflow, WordPress, custom sites).

tl;dr

  • Paste the nod. snippet into the global <head> of every page — your template, or your tag manager's custom-HTML head slot.
  • Purchases aren't automatic without Shopify. Fire nod('track', 'Purchase', { value, currency, order_id }) on the thank-you page.
  • Always pass order_id — it's what makes the purchase call safe to fire twice (a reload won't double-count it).
  • Fire nod('track', 'Lead', { value }) wherever a lead converts (form submit, booking confirmation, thank-you page).
  • Purchase is matched case-insensitively, so Purchase and purchase both land correctly.

1. Paste the snippet in your global head

Copy your pixel snippet from Settings → Tracking and paste it into the <head> of every page you want tracked — once. In practice that means:

  • A site builder or CMS: the site-wide head/custom-code field.
  • A tag manager: the head/custom-HTML container that fires on all pages.
  • A funnel tool (ClickFunnels, GoHighLevel, Webflow, WordPress): the head tracking-code slot for the whole funnel.

Make sure the thank-you page is included — that's where your Purchase and Lead calls fire.

Once it's in place, the pixel loads on every page automatically. Page views and session data start flowing immediately; no further setup is needed for basic traffic tracking.

2. Send purchases manually

Without Shopify, nod. has no order to stitch together on its own — there's no webhook to read from. The purchase event has to come from the pixel itself, fired from your thank-you page:

nod('track', 'Purchase', {
  value: 99,
  currency: 'EUR',
  order_id: 'YOUR-ORDER-ID',
});

Always include order_id. nod. uses it to make the call idempotent, so if the customer refreshes the thank-you page (or it double-loads), you still get one purchase, not two.

3. Send leads manually

For a lead — a form submit, a call booked, a quote requested — fire it wherever that conversion happens, typically right after the form succeeds or on the resulting thank-you page:

nod('track', 'Lead', { value: 50 });

value is optional but recommended: even a flat estimated value per lead lets attribution report something more useful than a raw count.

What not to expect without Shopify

  • No automatic order import. Every purchase you want counted has to come from a nod('track', 'Purchase', …) call you add yourself.
  • No cart-level data feeding attribution before checkout — nod. only knows about a purchase once your snippet fires it.
  • Everything else — page views, sessions, click-id and UTM capture, consent handling — works the same as on Shopify, since it's the same pixel.

What happens next

Page views and sessions typically show up within a few minutes of the snippet going live. Purchase and lead events show up as soon as your thank-you page fires them — test one end to end (place a test order or submit a test lead) and confirm it appears before you trust the numbers.

Common pitfalls

  • Snippet only on some pages. If it's missing from the thank-you page, purchases never fire. Check every step of the funnel, not just the landing page.
  • Missing order_id. Without it, a page reload can send the same purchase twice.
  • Snippet in a page-specific block instead of the global head. If your builder lets you add code per page, it's easy to add it once and forget the thank-you page.