- Install
- Website tools, Code Injection, Header field
- Needs
- A Core, Plus or Advanced plan, or a legacy plan that includes Code Injection
- Covered pages
- Every site page through the Header or Footer field
- Not covered
- Checkout pages, where Squarespace does not allow custom code
- Order pages
- Add the snippet to the Order confirmation and Order status fields too
- Consent
- Injected scripts follow your Squarespace cookie banner when it is in opt-in mode
- Custom events
- sb_track() for anything the script does not detect
- Not included
- Refund, cancellation and fulfilment events, which need order data from Squarespace
How it works
Code Injection loads the script
Squarespace adds the Header field to every page on your site. The script starts as the page loads, stores the visitor's landing page, campaign parameters and ad click IDs, and sends a page view.
Forms and storefront activity are read
Form submissions are classified as leads, contacts, sign-ups, subscriptions or bookings, and product and cart activity is inferred from the pages and your existing pixels.
Checkout is invisible to the script
Squarespace does not run custom code on checkout pages, so there is no checkout-start event from the script on a native Squarespace checkout.
The order pages report the purchase
After payment Squarespace shows an order confirmation or order status page. Each has its own injection field. When the snippet is in those fields, the script runs there and can report the purchase.
The server delivers it
Consent is applied, then each connected platform receives the event through its own queue with retries, matched back to the ad click captured on arrival.
Which Code Injection field to use
Squarespace keeps separate fields for separate pages. The snippet belongs in all three of these.
| Field | Runs on | What it is for |
|---|---|---|
| Header | Every page of the site except checkout | The main install. It starts the script on every ordinary page. |
| Order confirmation | The confirmation page shown after checkout | Captures the purchase for orders that land on this page. |
| Order status | The order status page | Captures the purchase for orders that land on this page. |
What the script captures on a Squarespace site
Events are inferred from pages and forms, so the table also shows where each one comes from.
| Event | Detected from | Notes |
|---|---|---|
| PageView | Every page with the snippet | Includes the page type where it can be inferred. |
| Lead, Contact, Subscribe, SignUp | Form submissions | The form type is inferred from the fields, labels and wording. |
| ViewContent, AddToCart | Product pages and your pixels | Inferred from page content, or mirrored from your Meta Pixel or Google tag. |
| InitiateCheckout | Not available from the script | Native Squarespace checkout pages do not run injected code. |
| Purchase | The order confirmation or order status page | Needs the snippet in those fields, and the order total to be readable there. |
| Anything else | sb_track() | Send your own events with values and user data. |
Requirements
- A Squarespace plan that includes Code Injection: Core, Plus or Advanced, or a legacy plan that has it. The Basic plan does not.
- Permission to edit Code Injection for the site.
- A SignalBridge pixel and the ad platforms you want to connect.
- A private browser window for testing, because Squarespace can disable injected code in your own logged-in preview.
Set up Squarespace
Copy the snippet
Open your pixel in SignalBridge, choose Install and copy the snippet. It uses your custom domain automatically when one is active.
Add it to the Header field
In Squarespace open Website tools, then Code Injection, paste the snippet into Header and save.
Add it to the order pages
Paste the same snippet into the Order confirmation field and the Order status field, then save. Without this, the script does not run where the purchase happens.
Connect your ad platforms
In the pixel's settings connect Meta, Google Ads, TikTok or any other destination you use.
Place a test order and verify
Complete an order in a private window and check the event stream for one Purchase with the correct value and currency. If the value is missing, send the order with sb_track and Squarespace's order merge tags.
Verify it works
Check a normal page
Open your live site in a private window and confirm that a PageView appears in the event stream.
Check a form
Submit a form with a test email and check that a lead-type event appears with the form ID.
Check the Purchase
Place a test order. One Purchase should appear with the order number, value and currency. If none appears, the order pages probably do not have the snippet.
Troubleshooting
The Code Injection panel is missing
Your plan does not include it. Code Injection needs Core, Plus or Advanced, or a legacy plan that includes it.
Nothing appears when you test
Test in a private window on the live domain. Squarespace can disable injected code in your own logged-in preview.
Page views work but purchases never appear
The Header field does not reach the order pages. Paste the snippet into the Order confirmation and Order status fields as well.
The Purchase has no value
Add a script to the order confirmation field that calls sb_track with Purchase and uses Squarespace's order merge tags for the order ID and grand total, together with your store currency.
Visitors who decline cookies are missing
When the Squarespace cookie banner is in opt-in mode, injected scripts load only for visitors who accept. This is expected.
The same order is counted twice
Do not add the snippet twice to the same page type, and do not combine it with a second tool that also reports purchases without sharing event IDs.
What to know before you rely on it
Where this integration stops, so the numbers you see are read correctly.
- Squarespace does not allow custom code on checkout pages, so checkout-start events cannot come from the script.
- Purchases depend on the snippet being in the order confirmation and order status fields, and on the page exposing the order total.
- There is no Squarespace order feed. Refunds, cancellations and orders created in the admin are not seen.
- Code Injection is not available on every plan, and Squarespace support does not troubleshoot custom code.
- Visitors who have not agreed to marketing tracking are not sent to ad platforms where consent applies.
Questions about this integration
Which Squarespace plan do I need?
Code Injection is available on Core, Plus and Advanced, and on some legacy plans. It is not available on the Basic plan.
Why does the purchase need a separate field?
Squarespace gives the order confirmation and order status pages their own injection fields. The Header and Footer fields do not run there, so the snippet has to be added to both order fields too.
Can SignalBridge track the Squarespace checkout?
No. Squarespace does not allow custom code on checkout pages. You get page views, forms and the purchase on the order pages, not checkout steps.
How do I send the purchase myself?
In the Order confirmation field add a script that calls sb_track with Purchase, passing the order ID and grand total from Squarespace's merge tags and your store currency. A guard that runs it only on the first view of the page avoids repeat events.
Does my cookie banner affect it?
Yes. When the Squarespace banner is in opt-in mode, injected scripts load only for visitors who accept, which also means no tracking for those who decline.
Can I use it alongside my Meta Pixel and Google tag?
Yes. SignalBridge mirrors the events they fire and shares the event IDs, so ad platforms count each conversion once.
Will Squarespace help if the code breaks something?
No. Squarespace treats custom code as outside its support, so keep the snippet to the documented fields and test in a private window.
Can I track refunds and cancellations?
Not automatically. SignalBridge sees what happens in the browser, and Squarespace does not provide an order feed to it. You can send a custom event if you need one.