Install guide · no-code · ~2 min

Install Admaxxer on Squarespace

Advanced → Code Injection → Header.

Squarespace's Code Injection panel has a Header slot that runs on every page. Paste the Admaxxer snippet there and you're done — no per-page work.

Steps

  1. 1 Open Code Injection

    Squarespace dashboard → Settings → Advanced → Code Injection.

  2. 2 Paste the snippet into Squarespace

    In Squarespace, navigate to the Header text area. Paste the snippet below and save. It must be in the site-wide <head> so it fires on every page.

    html
    <script defer
      data-website-id="YOUR_WEBSITE_ID"
      data-domain="yourdomain.com"
      src="https://admaxxer.com/js/script.js"></script>
  3. 3 Save

    Click Save. Changes apply to the live site immediately — no publish step.

  4. 4 Verify the install

    Load any public page on your site in a fresh browser tab. Within a few seconds, the Admaxxer dashboard realtime view should show the event. If nothing lands after 2 minutes, re-check the snippet is actually in the rendered HTML <head> (View Source, not just DevTools).

Verify installation

Troubleshooting

Code Injection is disabled (Personal plan).
Cause: Squarespace gates Code Injection behind the Business plan ($23+/mo) or higher. Personal plans simply do not expose this panel. Fix: upgrade the site, or use Squarespace's built-in third-party-tracking integration (Settings → Marketing → External APIs) which exposes a Google Analytics-style hook that you cannot use to load arbitrary scripts. There is no workaround for Personal plans — the snippet must live in Code Injection.
The pixel does not fire on AMP-rendered blog posts.
Cause: Squarespace 7.1 sites have an AMP toggle (Settings → Marketing → AMP). When enabled, blog posts are served as AMP HTML — AMP's spec strips all custom <script> tags except whitelisted AMP components. Code Injection markup never reaches AMP-rendered pages, so the pixel never loads on those URLs. Symptoms: pageviews land for the homepage and shop pages but blog posts show no traffic. Fix (option 1): disable AMP under Marketing → AMP — the simplest path; only matters if you specifically need AMP for Google Discover. Fix (option 2): keep AMP for blog posts but accept they will not be tracked — the canonical (non-AMP) versions of those URLs continue to fire the pixel for direct visitors.
Pixel fires on storefront but not on Squarespace Member Areas.
Cause: Member-area pages render through a different Squarespace template tree and historically did not include site-wide Code Injection. Fix: add the same snippet to Member Areas → Settings → Code Injection → Header if your site uses Member Areas. (Not all themes expose this slot — if missing, contact Squarespace support to request platform-level header injection on member pages.)
Snippet was saved but does not appear in View Source.
Cause: Squarespace caches the rendered HTML at the CDN layer for ~60 seconds. The snippet is live but visitors with cached responses see the old HTML. Fix: wait 60 seconds, then load in a fresh incognito tab (cache-busted query string also works: ?_=cachebust). If the snippet still does not appear after 5 minutes, recheck that you saved Code Injection from the same site (not a draft preview) and that you have published, not just saved-as-draft.
No events are showing up. What now?
Open DevTools Console and Network. Filter for script.js and /api/event. If they are blocked:csp, your Content Security Policy is blocking admaxxer.com — see /documentation/troubleshoot/csp. Also double-check that data-website-id matches the ID shown in your dashboard.
Events show up in staging but not production.
Confirm data-domain matches the production hostname exactly (no protocol, no trailing slash). Also confirm the website's Allowed Domains list in settings includes the prod domain.
My site is a single-page app — am I missing pageviews?
Use script.hash.js if you rely on location.hash routing. Otherwise the default script.js already hooks history.pushState/replaceState and tracks SPA navigations.