Skip to content
Docs

Type to search. Arrow keys to move, Enter to open, Escape to close.

Reference

Tracking guides

Connect a form or calendar on another platform so a submission joins the visitor who was already browsing your site.

11 platforms

Forms on your own site

With the pixel installed, a form on your own pages is captured when it is submitted. What it keeps, what it never reads, and how to keep a field out:

  • Any form on the page is captured on submit — including forms in a modal, and forms your site renders after load.
  • Name, email and phone become the lead's identity, and every other answer — budget, role, revenue, "biggest challenge" — arrives with the lead, up to 50 answers of 1,000 characters each (longer answers are cut and marked).
  • Passwords, hidden fields, file uploads, card and bank details, card expiry dates, ID and tax numbers, dates of birth, verification codes and API keys are never read, even if the form is on a page the pixel should not be on. Nor is any field you have marked data-sensitive, or already excluded from Hotjar, PostHog, FullStory, LogRocket or Clarity.
  • To keep any single field out, add data-sensitive to it, or to a <fieldset> around several: <input name="diagnosis" data-sensitive>. data-signl="off" on a field does the same. Use this for anything personal the automatic rules cannot recognise by name — health, religion, finances, anything you would not want in a lead record.
  • Answers are stored exactly as the visitor typed them — the only edits are card numbers and US social security numbers inside an answer, which become [redacted], and IBANs and National Insurance numbers, which are dropped. You are the data controller for what your forms ask and what SIGNL keeps from them.
  • Nothing is read at all for a visitor who has not given consent, where your install asks for it (data-gdpr).
  • A form in a cross-origin embed (Typeform, Calendly, an iframe from another domain) cannot be read by any script — that is a browser rule, not a SIGNL limit. Point that platform at your SIGNL inbound webhook instead.
  • To exclude one form, add data-signl="off" to the <form> tag. To turn capture off site-wide, add data-autocapture="off" to the script tag.

Clicks and form fields

The pixel can also record clicks, rage clicks and which form fields a visitor starts, with the script tag's data-capture attribute:

  • Off unless you ask for it: add data-capture="clicks,rage,fields" to the script tag, or any one or two of the three. SIGNL's own forms, booking pages, webinars and VSL pages have all three on.
  • clicks: a click on a link or button is recorded with the words on it (up to 80 characters), its tag, a link's path without its domain, query string or fragment, and a short code for where it sits on the page. Email and phone links never send their address. At most 20 clicks are recorded on one page.
  • rage: three or more clicks within 700 milliseconds in the same spot are recorded once, as a rage click — usually a button that looks clickable and is not.
  • fields: the first time a visitor types in a field, and when they leave it filled in, are recorded with the field's name or label. What they typed is never read or sent. Passwords, hidden fields, card and payment fields, verification codes, and any field marked data-sensitive or data-signl-sensitive (or inside an element marked so) are skipped.
  • All three wait for consent exactly as page views do, where your install asks for it (data-gdpr).

With the pixel installed, any published SIGNL form can open as a popup on your own pages. Turn it on in the form's Settings, under Show as popup on your site. It uses the form's own look, sits above the page without moving anything, and closes with its close button, the Escape key or a click outside it.

Exit intent
When the pointer leaves through the top of the window. On phones, a fast scroll back up after reading at least a screen.
Scroll depth
Once the visitor has scrolled this far down the page.
Time on page
After the visitor has been on the page this long, counted from when it loaded.
Custom event
When your site calls signl.track() with this name.
  • Page rules match the address as contains, starts with or is exactly, ignoring case. A path like /pricing works as well as a full address. With no “show on” rules it can open on every page; a “never show on” match always wins.
  • Each visitor sees it at most once every N days (7 by default) and never again after submitting it. “Only anonymous visitors” skips anyone who has already given you an email or phone number in that browser.
  • If your pixel asks for consent (data-gdpr="opt-in"), no popup is loaded or triggered until the visitor accepts.
  • Each one shows on the lead's journey as Popup shown, Popup dismissed or Popup submitted.
  • To test it, add ?signl_popup=preview to any page. The how-often rules are skipped so it shows every time; the trigger and page rules still apply.

The popup loads your form from SIGNL. By default it finds SIGNL from where the pixel was loaded, which is right for the standard install. If you serve track.js from your own CDN or through a proxy, tell it where your forms live:

<script src="https://cdn.yoursite.com/track.js"
        data-client-id="YOUR_CLIENT_ID"
        data-gdpr="opt-in"
        data-form-origin="https://www.trysignl.app" async></script>
  • data-form-origin must be an https address with nothing after the domain (no path or query). Anything else is ignored.
  • Without it, the pixel uses the address in data-endpoint if you set one, and otherwise the address the pixel itself was loaded from.
  • The popup only accepts messages from that same address, so a wrong value means the popup never records a submission. It never means it trusts another site.

This page is generated from the same list the product runs on, so it is never out of date. Something missing or unclear? Get help.