Install the Loader
The Supreme Loader is served by your own Node. It creates the browser-side window.supremeSend bridge, gathers first-party page context, and delivers events to the Node's ingestion path.
Before you start
The Loader URL requires the numeric id of an active Property:
- Create the Property in the Console first, and register every domain that will send events in that Property's domains list. A fresh Node has no Property until you create one.
- Note the Property's numeric id — the first one is usually
1.
Without a valid, active Property id in the URL, the Node serves a fail-safe stub that discards every event. The stub still defines window.supremeSend as a function, so a page can look wired while sending nothing.
Copy the snippet
Use the exact Node domain that was deployed for tracking, plus the Property id in ?pid=:
<script src="https://<your-node-domain>/lib/supreme.js?pid=<property-id>"></script>
The ?pid= parameter is required. Do not use the Console domain or the Supreme System domain in this URL. The script belongs to your Node.
Place it in the page head
Add the snippet inside <head> on every page that should send events. Load it before GTM event tags, WooCommerce listeners, Shopify bridges, or custom code that calls window.supremeSend.
For a direct website installation:
- Add the snippet to the shared site head or layout.
- Publish the website change.
- Open a public page in a private browser window.
- In developer tools, confirm that the request to
/lib/supreme.js?pid=<property-id>completes with HTTP status200. A400or404on this request means the Property id is missing, unknown, or inactive. - In the browser console, confirm that
window.SupremeTracking.propertyIdreturns your Property id. Anullhere means the page received the rejecting stub — fix the?pid=before anything else. Checkingtypeof window.supremeSendis not enough, because the stub also defines it.
Other installation surfaces
- Google Tag Manager: if GTM is your only script-injection surface, use a Custom HTML tag for the Loader and fire it on an Initialization trigger. Event tags must run after it. The official event template still depends on
window.supremeSend. - WooCommerce: the Supreme WooCommerce plugin can enqueue its configured Loader URL before its event listener. Confirm the Node URL and Ingest Token in the plugin settings.
- Shopify: install the Loader in the storefront's top-frame theme surface when your selected Shopify event transport requires the browser bridge. A sandboxed Custom Pixel cannot assume direct access to the top-frame
window.supremeSend.
Choose one intentional Loader installation per page. Multiple copies add noise and make ordering problems harder to diagnose.
Verify from the Console
Log into the Console and open Loader Configuration. Under Verify Installation:
- Enter the Node/Uplink host that serves the Loader, with no page path.
- Select Check Installation.
- Look for Installation verified successfully!
The green result only means the browser completed the modal's network probe to the constructed https://<entered-host>/lib/supreme.js URL. Because the probe uses a no-cors HEAD request, does not inspect response status or body, and carries no ?pid=, it does not prove valid Loader JavaScript, a working Property id, snippet placement, or ingestion. Confirm the rendered website and its real script response separately, then send an event and verify your first event to prove ingestion.
If verification fails
Check these in order:
- The Node hostname is correct and uses HTTPS.
https://<your-node-domain>/lib/supreme.js?pid=<property-id>opens with HTTP200and without a certificate error. A400or404means the?pid=value is missing, unknown, or inactive — confirm the Property id and its active state in the Console.- The page's domain — including the exact
www.or subdomain variant — is registered in that Property's domains list. - The snippet is present in the rendered page, not only in an unpublished theme or GTM workspace.
- A consent rule, content-security policy, ad blocker, or tag sequencing rule is not preventing the script from loading.
- The value entered in Verify Installation is the Node host, not a website page URL or a URL with a path.
Once the Loader is present, continue with Connect Google Tag Manager or another supported event source.