- Install
- Site settings, Custom code, Head code, then publish
- Needs
- Custom code access: an active Site plan, or a Core, Growth, Agency or Freelancer Workspace
- Native Pixel events
- Product view, add to cart and purchase, once Ecommerce is enabled
- Added by SignalBridge
- Form Leads from the browser and the server with one event ID, and server copies of Pixel events
- Lead rule
- Any form with an email field, at most once per browser each hour
- Purchase page
- Recognised by /order-confirmation in the URL
- Consent
- Needs sb_consent(). Webflow's banner recipe only talks to Meta
- Not sent
- Refunds, cancellations and orders created in the Webflow dashboard
What Webflow's own Meta Pixel setting does
In Site settings, under Apps and Integrations, the Meta Pixel tab takes a Pixel ID. Webflow's guidance is to remove any Pixel you embedded as custom code before you add the ID, because two copies will each fire. With Ecommerce enabled, Webflow passes viewed product, added product to cart and purchased product events to Meta Events Manager.
That list is why forms need extra work. A Webflow site that sells nothing has no ecommerce events to send, and a store has none for a quote request, a booking or a newsletter sign-up. Webflow's help article points you to custom code for anything else.
SignalBridge works with the native setting, not against it. Keep the Pixel ID in Site settings, add the SignalBridge snippet to the head code, and leave the rest alone. SignalBridge wraps the Pixel on the page, so the events Webflow sends are copied to the Conversions API with the event ID the call carries, or with one SignalBridge adds to the call.
What happens when someone submits a form
Webflow forms are the most common conversion on a Webflow site, so this is the path to understand first.
| Stage | What SignalBridge does | What to keep in mind |
|---|---|---|
| The visitor presses submit | The script sees the submit and checks whether the form has an email field. Webflow forms have no action URL to classify, so the email field decides. | A form with no email field, such as a phone-only callback request, is not reported. |
| A Lead is created | The event gets a stable submission ID, the email, phone and name from the form, the ad click IDs and the Meta cookies. | Email and phone are hashed before they are sent to Meta. |
| Meta receives it twice | The Pixel on the page fires Lead and SignalBridge sends the same Lead from the server, with the same event ID, so Meta merges them. | If no Pixel is on the page, only the server copy exists. |
| The visitor submits again | A second Lead from the same browser within the hour is dropped. | A visitor who fills in two different forms in one session counts once. |
| Webflow rejects the submission | Nothing is reversed. The Lead has already been sent. | A failed spam check or a server error can leave a Lead in Meta that is not in your Webflow form list. |
Where the order value comes from on a Webflow store
The order confirmation page lives at /order-confirmation, which SignalBridge recognises. The value is read in this order.
| Source | Notes |
|---|---|
| The Purchase call from the native Pixel | The best source. SignalBridge copies its value and currency as sent. |
| A data layer purchase event or order structured data | Used when a tag manager or custom code provides one. |
| An element marked data-order-total | If you add a custom attribute called data-order-total to the element that shows only the order amount, SignalBridge reads that text. |
| The text next to a label such as Order total | A last resort. Formats with both a thousands separator and a decimal mark, such as 1,234.56, can be misread, so prefer the Pixel call. |
Consent: Webflow's recipe does not reach SignalBridge
Webflow's Meta Pixel article includes a cookie banner recipe and a Delay for cookie consent switch. The recipe calls fbq consent grant when a visitor accepts, and nothing else. SignalBridge does not read that call. It has its own consent switch, sb_consent(true) and sb_consent(false), and it ignores banners unless you call it.
Add sb_consent(true) to the same click handler that grants Meta consent, and sb_consent(false) to the decline button. If a visitor must choose before any tracking, set window.SB_REQUIRE_MARKETING_CONSENT = true above the SignalBridge snippet in the head code.
If you use Delay for cookie consent, the Pixel loads only after a visitor accepts. SignalBridge looks for the Pixel for about six seconds after the page loads. A Pixel that starts later on that same page view is not wrapped, which affects only the very first page a visitor accepts on, not later pages.
Set it up
You need permission to edit Site settings and to publish the site.
Install the Pixel the Webflow way
If it is not already in place, go to Site settings, Apps and Integrations, Meta Pixel and paste your Pixel ID. If a Pixel is embedded in custom code, remove that copy first.
Copy the SignalBridge snippet
Open the pixel in SignalBridge, choose Install and select the Webflow tab. If you serve SignalBridge from a custom domain, the snippet already uses it.
Paste it into the head code
In Site settings, open the Custom code tab, paste the snippet into Head code and save. Put it in the site-wide head code rather than a page, so it runs on every page.
Connect Meta in SignalBridge
In the pixel's settings connect Facebook with the same Pixel ID that Webflow uses and add a Test Events code if you want to watch the first events.
Wire your cookie banner
Call sb_consent(true) on acceptance and sb_consent(false) on refusal from the same handler that talks to Meta. Add window.SB_REQUIRE_MARKETING_CONSENT = true above the snippet if you need a choice first.
Publish the site
Webflow shows custom code in preview, but it only goes live on your domain once you publish. Publish to every domain you serve the site from.
Test a lead and an order
Submit a form on the live site
On the published domain, in a browser that accepts marketing cookies, fill in a form with a test email and submit it. In the SignalBridge event stream a Lead should appear with Meta listed as delivered.
Look at it in Meta Test Events
With the Test Events tab open and the same code set in SignalBridge, submit the form again from a fresh browser session. You should see the browser and server Lead reported as one event.
Place a test order if you sell on Webflow
Complete a low-value order. Check that one Purchase appears with the right value and currency and the order confirmation URL as the source page.
Reload the confirmation page
Reload /order-confirmation and check that no second Purchase appears. SignalBridge recognises a reload by the order number. If your confirmation URL carries none, it has nothing to match on, so test this on your own site.
Problems that are specific to Webflow
Every event appears twice in Meta
The Pixel is installed twice, once by the Webflow setting and once through custom code. Remove the custom code copy, as Webflow's own guidance says.
Form submissions are higher in Webflow than Leads in Meta
Forms without an email field are not reported, only one Lead is sent per browser each hour, and Meta counts a Lead once per event ID. Compare with fresh sessions and an email field on every form.
Leads in Meta exceed the form entries in Webflow
A Lead is sent when the visitor submits, before Webflow has accepted the entry. Failed spam checks and rejected entries can add Leads that never reach Webflow.
A form from an embedded service is not tracked
A form inside an iframe, such as an embedded Typeform or HubSpot form, is a separate page to the browser, so SignalBridge cannot see it submit. Call sb_track from the embed's success callback.
The order value is wrong or missing
Check that the Webflow Pixel's Purchase carries the value. If it does not, mark the total element with data-order-total and make sure the element contains only the amount.
Nothing works in the Designer's expand canvas view
Custom code does not run there. Test on the published domain.
Limits and responsibilities
- Refunds, cancellations and orders created in the Webflow dashboard are never sent, because there is no order feed from Webflow.
- The script only sees buyers who reach the order confirmation page in a browser that runs it.
- Webflow notes that on an Ecommerce site, scripts you add are outside its control and can create PCI DSS obligations of your own. Assess that for your store.
- Webflow support does not help with custom code setup or troubleshooting, so a script conflict is for you or your developer to resolve.
- Meta decides attribution. Counts in Events Manager and in Webflow will differ.
Questions about this setup
Do I need Webflow's native Meta Pixel to use SignalBridge?
No. Without a Pixel, SignalBridge sends only the server events. The Pixel is the better setup, because the browser event carries the browser's own match data and gives Meta something to merge the server copy with.
Will it send InitiateCheckout for a Webflow store?
Webflow's help article lists viewed product, added to cart and purchased product, not a checkout start. SignalBridge can recognise the checkout page by its path and send InitiateCheckout from the server only, which means it has no browser event to merge with.
Why is a form without an email field ignored?
A Webflow form has no action URL, so SignalBridge decides from the fields, and an email field is what marks a form as a lead. A form without one is not reported. You can report it yourself with sb_track and whatever user data you have.
Does it work on the webflow.io staging domain?
It works wherever the published site loads the script, including staging. Treat staging data as test data and remove or filter it before you read the numbers.
Can I use the Pixel's Delay for cookie consent switch?
Yes, and also call sb_consent so SignalBridge knows the choice. Because SignalBridge only watches for the Pixel for the first few seconds of a page view, the very first page on which a visitor accepts can be missed.
Does it need a paid Webflow plan?
Yes. Custom code is available with an active Site plan or a Core, Growth, Agency or Freelancer Workspace, according to Webflow.
Sources
The vendor documents this guide relies on. Statements about SignalBridge come from the product itself.
- Webflow Help Center: Embed Meta Pixel on your Webflow siteThe native Pixel setting, the Ecommerce events it passes and the Delay for cookie consent option.
- Webflow Help Center: Custom code in head and body tagsPlan requirements, where head code runs and the PCI note for Ecommerce sites.
- Meta for Developers: Handling duplicate eventsThe event name and event ID rule for merging browser and server events.
- Meta Business Help Center: About event match qualityThe customer information that improves matching.