Choose from inline, popup, slide-in, floating button, or iframe embeds. Each method takes under a minute to set up.
Renders the form directly on your page as native HTML. Works everywhere, including strict CSP sites.
Opens your form in a modal overlay. Triggered by button click, page load, scroll position, or exit intent.
Slides up from the bottom-right corner. Less intrusive than a popup — great for lead capture and newsletter signups.
Adds a persistent button in the bottom-right corner. Clicking it opens a popup form.
Loads the form in an isolated frame with auto-resize. Simple but may be blocked by strict CSP sites.
Paste this where you want the form to appear on your page:
<!-- SimpleFormCRM Embed -->
<div id="simpleform-YOUR_FORM_ID"></div>
<script src="https://simpleformcrm.com/embed.js"></script>
<script>
SimpleFormCRM.init({ formId: 'YOUR_FORM_ID' });
</script>No JavaScript knowledge needed. Configure everything with HTML attributes:
<div data-sf-form="YOUR_FORM_ID" data-sf-type="inline"></div>
<script src="https://simpleformcrm.com/embed.js"></script>SimpleFormCRM.init({
formId: 'YOUR_FORM_ID',
container: '#my-container', // Custom container selector
redirectUrl: 'https://yoursite.com/thank-you',
hidden: { // UTM tracking & custom data
utm_source: 'auto', // 'auto' reads from URL params
utm_medium: 'auto',
utm_campaign: 'auto',
custom_field: 'value'
},
onReady: function(data) { }, // Form loaded
onSuccess: function(data) { },// Form submitted
onError: function(err) { } // Error occurred
});Opens your form in a centered modal overlay. Choose a trigger that fits your use case.
<div data-sf-form="YOUR_FORM_ID"
data-sf-type="popup"
data-sf-trigger="button"
data-sf-button-text="Contact Us"></div>
<script src="https://simpleformcrm.com/embed.js"></script><!-- Open on page load -->
<div data-sf-form="ID" data-sf-type="popup"
data-sf-trigger="load"></div>
<!-- Open after a time delay (3 seconds) -->
<div data-sf-form="ID" data-sf-type="popup"
data-sf-trigger="time" data-sf-delay="3000"></div>
<!-- Open when user scrolls 50% down the page -->
<div data-sf-form="ID" data-sf-type="popup"
data-sf-trigger="scroll" data-sf-scroll-percent="50"></div>
<!-- Open on exit intent (mouse leaves viewport) -->
<div data-sf-form="ID" data-sf-type="popup"
data-sf-trigger="exit"></div><script src="https://simpleformcrm.com/embed.js"></script>
<script>
SimpleFormCRM.popup({
formId: 'YOUR_FORM_ID',
trigger: 'button'
});
</script>
<button onclick="SimpleFormCRM.open('YOUR_FORM_ID')">
Contact Us
</button>A form panel that slides up from the bottom-right corner of the page. Less intrusive than a full-screen popup.
<div data-sf-form="YOUR_FORM_ID"
data-sf-type="slidein"
data-sf-trigger="button"
data-sf-button-text="Get in Touch"></div>
<script src="https://simpleformcrm.com/embed.js"></script><!-- Slide in after 5 seconds -->
<div data-sf-form="ID" data-sf-type="slidein"
data-sf-trigger="time" data-sf-delay="5000"></div>
<!-- Slide in when user scrolls 60% -->
<div data-sf-form="ID" data-sf-type="slidein"
data-sf-trigger="scroll" data-sf-scroll-percent="60"></div>
<!-- Slide in on exit intent -->
<div data-sf-form="ID" data-sf-type="slidein"
data-sf-trigger="exit"></div><script src="https://simpleformcrm.com/embed.js"></script>
<script>
SimpleFormCRM.slidein({
formId: 'YOUR_FORM_ID',
trigger: 'time',
delay: 5000
});
</script>
// Or open/close programmatically:
SimpleFormCRM.openSlideIn('YOUR_FORM_ID');
SimpleFormCRM.closeSlideIn('YOUR_FORM_ID');Adds a persistent floating action button (FAB) in the bottom-right corner of your page. When clicked, it opens a popup form.
<div data-sf-form="YOUR_FORM_ID"
data-sf-type="floating"
data-sf-button-color="#8400FF"></div>
<script src="https://simpleformcrm.com/embed.js"></script><div data-sf-form="YOUR_FORM_ID"
data-sf-type="floating"
data-sf-button-text="Contact Us"
data-sf-button-color="#8400FF"></div>
<script src="https://simpleformcrm.com/embed.js"></script><script src="https://simpleformcrm.com/embed.js"></script>
<script>
SimpleFormCRM.floating({
formId: 'YOUR_FORM_ID',
buttonColor: '#8400FF',
buttonText: 'Contact Us'
});
</script>The iframe automatically resizes to match your form's content height. Include our embed.js script to enable auto-resize.
<iframe
src="https://simpleformcrm.com/forms/YOUR_FORM_ID"
width="100%"
height="500px"
frameborder="0"
style="border: none; max-width: 100%;"
title="Contact Form"
></iframe>
<script src="https://simpleformcrm.com/embed.js"></script>Note: iFrames may be blocked by Content Security Policy (CSP) headers. If your form doesn't appear, switch to the inline or popup embed.
Pass marketing attribution data and custom values with every form submission. Set a value to "auto" to read it from the page URL automatically.
SimpleFormCRM.init({
formId: 'YOUR_FORM_ID',
hidden: {
utm_source: 'auto',
utm_medium: 'auto',
utm_campaign: 'auto',
utm_content: 'auto',
utm_term: 'auto',
landing_page: window.location.href
}
});Or with data attributes:
<div data-sf-form="YOUR_FORM_ID"
data-sf-type="inline"
data-sf-hidden='{"utm_source":"auto","utm_medium":"auto"}'></div>
<script src="https://simpleformcrm.com/embed.js"></script>Send users to a thank-you page, booking calendar, or any URL after they submit.
SimpleFormCRM.init({
formId: 'YOUR_FORM_ID',
redirectUrl: 'https://yoursite.com/thank-you'
});Or with data attributes:
<div data-sf-form="YOUR_FORM_ID"
data-sf-type="inline"
data-sf-redirect-url="https://yoursite.com/thank-you"></div>Automatically close popup, slide-in, or floating button forms after a successful submission. The success message shows briefly before closing.
<!-- Auto-close after 3 seconds (3000ms) -->
<div data-sf-form="YOUR_FORM_ID"
data-sf-type="popup"
data-sf-trigger="button"
data-sf-button-text="Contact Us"
data-sf-auto-close="3000"></div>
<script src="https://simpleformcrm.com/embed.js"></script>SimpleFormCRM.popup({
formId: 'YOUR_FORM_ID',
trigger: 'button',
autoClose: 3000 // ms delay before closing
});Pre-populate fields with known values. Useful for personalized links in emails or CRM integrations.
SimpleFormCRM.init({
formId: 'YOUR_FORM_ID',
prefill: {
field_abc123: 'John',
field_def456: '[email protected]'
}
});Any URL parameter matching a field name will auto-fill that field:
https://yoursite.com/contact?field_abc123=John&[email protected]<div data-sf-form="YOUR_FORM_ID"
data-sf-type="inline"
data-sf-prefill='{"field_abc123":"John"}'></div>
<script src="https://simpleformcrm.com/embed.js"></script>Save form progress so users don't lose their input if they accidentally close the form or navigate away. Uses browser session storage — data is cleared when the tab is closed.
<div data-sf-form="YOUR_FORM_ID"
data-sf-type="popup"
data-sf-trigger="button"
data-sf-button-text="Contact Us"
data-sf-keep-session></div>
<script src="https://simpleformcrm.com/embed.js"></script>SimpleFormCRM.popup({
formId: 'YOUR_FORM_ID',
trigger: 'button',
keepSession: true
});If using a security plugin (Wordfence, Sucuri), use the JavaScript embed — it works even with strict CSP.
Shopify has strict CSP — always use the JavaScript or popup embed, not iFrame.
Webflow has strict CSP — use the JavaScript or popup embed. iFrame will not work.
All embed methods work on HubSpot CMS. Use inline or popup for best results.
<body> tag)All embed methods work on static HTML sites. No special configuration needed.
Your site likely has a CSP that blocks iframes or external scripts.
Fix: Switch to the JavaScript inline embed.
Check browser console for errors. Your CSP may block API requests.
Fix: Add connect-src https://simpleformcrm.com to your CSP header.
Fix: Customize colors in the Form Builder's Style tab, or use iFrame embed for complete style isolation.
Fix: Ensure the embed.js script is loaded before calling SimpleFormCRM.open(). Check that the form ID matches.
To allow all embed methods on your site, add these CSP directives:
Content-Security-Policy:
frame-src https://simpleformcrm.com;
script-src https://simpleformcrm.com;
connect-src https://simpleformcrm.com;Still having trouble? Contact our support team