Skip to content
formcrier Docs
Installing

Any website (script)

Add one script tag to your site and Formcrier finds the forms on it. It works on any website and on every plan, including Free.

Where to paste it

Copy your script from Sites → Install. It has your site's public key built in, so each site has its own.

Paste it just before the closing </body> tag on every page. If your site has one footer or layout file that every page uses, that one place covers them all.

HTML
<script src="https://cdn.formcrier.com/v1/formcrier.js"
  data-key="pk_live_7Hq2mX" async></script>
Good to know: The script is under 6KB compressed, loads without holding up your page, and sets no cookies. Adding it twice by mistake does no harm: the second copy does nothing.

Site builders

On a site builder, paste the script into its custom code setting, then publish:

  1. Webflow: Site settings → Custom code → Footer code
  2. Squarespace: Settings → Advanced → Code injection → Footer
  3. Wix: Settings → Custom code → Add custom code → Body, end
  4. Framer: Site settings → General → Custom code → End of <body>
  5. Shopify: Online Store → Themes → Edit code → theme.liquid, before </body>

Allowed domains

We only accept submissions from pages on the domains listed under Sites → Allowed domains, so nobody else can send alerts using your key. Your domain is added with and without www when you add the site.

Add any other address the site is served from, such as a staging site or a subdomain. Each one has to match exactly: shop.acmeplumbing.co.uk isn't covered by acmeplumbing.co.uk. A site can have up to 20.

While you build a site on your own computer, switch on "Allow localhost for testing".

Form plugins the script knows

Most forms are sent as the visitor submits them. For these form plugins the script waits until the plugin says the submission worked, so a form that fails its own checks doesn't alert you: Contact Form 7, Gravity Forms, WPForms, Ninja Forms, Fluent Forms, Elementor Pro forms, Formidable Forms, Formie, Freeform, HubSpot forms and Webflow forms.

If the plugin gives no answer within 10 seconds, or the page moves on first, the submission is sent anyway and its page in your dashboard says "success not confirmed". While the plugin shows a field to correct, it waits for the corrected form instead. That happens with forms that reload the page instead of submitting in the background, such as WPForms, Formidable and Gravity Forms without AJAX, and Webflow forms that redirect.

Contact Form 7 also tells the script when your site's own email failed to send. You still get the alert, unless you switch off "Alert when your site's email fails" in the site's settings.

Good to know: On WordPress or Craft CMS, our plugins send from your server instead, where ad blockers can't get in the way. See Installing → WordPress or Craft CMS.

Single-page apps

The script listens at the top of the page, so forms that appear later, after a route change or in a pop-up, are covered without any extra code. They show up under Sites → Forms like any other form.

Forms that are submitted in the background with JavaScript work too, as long as the browser fires the form's submit event.

Two cases need a line of code: a form your code submits by calling form.submit(), which fires no submit event, and a widget that isn't a <form> element at all. Use Formcrier.watch() or Formcrier.send() for those. See Developers → JavaScript API.

Checking it's installed

Open a page on your site that has a form, then go to Sites → Install. It shows when the script was last seen. A site connected by a plugin or the REST API shows as installed, with how, once it has sent its first submission or synced its forms.

If we haven't heard from the script, press Verify installation. It opens your homepage, looks for the tag and tells you what it found: the script is there but hasn't reported in yet, the key belongs to a different site, or the script isn't there.

It can only read the page as it arrives. If the script is added by Google Tag Manager or a plugin, open your site in a browser instead: we spot the script within a minute of a page loading.

Still nothing? Clear your site's cache. If your site sends a Content Security Policy, allow cdn.formcrier.com in script-src and api.formcrier.com in connect-src.

HTML
<script src="https://cdn.formcrier.com/v1/formcrier.js"
  data-key="pk_live_7Hq2mX" data-debug async></script>
Good to know: Add data-debug to the tag while you test. The script then logs what it finds and sends in the browser console, on lines starting [Formcrier].
Last updated 30 September 2026 Something unclear? Tell us

Can we use Google Analytics cookies to see which pages and ads bring people here? Say no and we'll only count visits without cookies. Cookies and privacy