← Help & guides · Forms, magnets & automation

Embed a form on your website (and pop-ups)

Every signup form has a hosted page you can link to—but a form can also live inside your own website, the way you may be used to from MailerLite. Open the form under Signup forms, and the Put this form on your website card has three snippets ready to copy.

On WordPress? Skip the snippets—download the NewsletterScriv Forms plugin and install it under Plugins → Add New → Upload Plugin. You get a form block, a shortcode, and a site-wide pop-up, all from settings. Full instructions are in the On WordPress? Use the plugin section below.

Inline—the form on your page

Paste this where the form should appear (a sidebar, the end of a blog post, your About page):

  • The snippet is a placeholder plus one small script. The script replaces the placeholder with the form, sized to its content—no scrollbars, no clipped button.
  • The form wears the colors you set in its Customize editor, so it can match the site it lives on.
  • Use as many inline embeds as you like, on as many pages as you like—and different forms on different pages, each starting its own welcome automation.

Pop-up

Paste the pop-up snippet once, anywhere on the page (a site-wide footer block means it works across your whole site). The form appears in a centered overlay:

  • data-delay—seconds before it shows (default 4).
  • data-frequency—a visitor who closes it isn't asked again for this many days (default 14).
  • A visitor who subscribes is never shown the pop-up again on that device.
  • It closes on the ×, a click outside, or the Escape key—readers are never trapped.

The politeness rules aren't optional decoration: a pop-up that nags people who already said yes (or no) costs you goodwill with the exact readers you want to keep.

Plain iframe

Some site builders strip <script> tags from custom-code blocks. The plain iframe snippet works there—it's the same form at a fixed height. Adjust the height value until nothing is cut off.

Options

Add to any snippet:

  • data-theme="dark"—for dark websites (on the plain iframe it's ?theme=dark in the address instead).
  • data-heading="0"—hides the form's heading when your page already provides one.

The book cover shows automatically

If the form delivers a reader magnet, the book's cover appears in the embedded form and in the pop-up—the same cover your hosted page leads with. Readers decide with their eyes, so a giveaway form that shows the book converts better than one that only names it.

Nothing to switch on. If a particular placement would repeat a cover already on the page, untick Show the book cover on embedded forms and pop-ups in that form's settings.

The form sizes itself to fit the cover, so you don't need to change anything in your page.

On WordPress? Use the plugin

If your site runs WordPress, you don't need snippets at all—download the NewsletterScriv Forms plugin and install it under Plugins → Add New → Upload Plugin.

Connect it once and you never touch a form id. Create an API key under Account settings → API keys, paste it into Settings → NewsletterScriv, and press Save—you'll see "✓ Connected". Now the plugin knows your forms by name. It gives you:

  • A NewsletterScriv Form block—add it wherever the form should appear and pick your form from the menu. (Not connected yet? You can still paste a form id—it's the Form ID shown on this page.)
  • A shortcode, for everywhere the block editor isn't—a classic editor, a Text widget, a page builder's text module, a theme template. You don't have to find the id for this either: from version 1.4.0, Settings → NewsletterScriv lists every form in your account under Putting a form on a page, each with its shortcode already written out and a Copy button. Copy, paste, done.
  • A site-wide pop-up under Settings → NewsletterScriv—choose the form from a list, set the delay and the don't-re-ask period, and it runs on every page with the same politeness rules described above.

Your API key stays on your own server—the plugin uses it server-to-server to read your form list, and never writes it into a page. The plugin emits exactly the snippets on this page, so everything here about themes, consent, and pop-up behavior applies unchanged. (Prefer to paste by hand? A Custom HTML block works too.)

Updates arrive on their own. From version 1.2.0, new versions show up on your WordPress Plugins screen as a normal "Update available" notice—press Update now, or switch on Enable auto-updates and forget about it. You'll never download and re-upload the zip again.

If you installed version 1.0.0 or 1.1.0, those releases had no update channel yet, so upload the zip above once more (Plugins → Add New → Upload Plugin, and confirm when it offers to replace the current version). That's the last manual update.

Using a speed plugin? Leave "Combine JavaScript" switched off. Minifying and caching are both fine—combining is the one setting that breaks embedded forms. The plugin hands the form script its instructions as attributes on the script tag: which form to show, the pop-up delay, and the address the form itself is loaded from. Combining merges every script on the page into a single bundle and throws those tags away, so the form no longer knows where to load from and the pop-up loses its settings. The symptom is a form that renders as an empty gap, with nothing in the page to explain it. The option is worded differently from host to host—"Combine JavaScript Files" in SiteGround Optimizer, "Combine JavaScript files" in WP Rocket, "Aggregate JS-files" in Autoptimize—but it's the same switch, and this is the one plugin to exclude from it.

One related habit: optimizers serve a stored copy of your pages, so after changing a plugin setting, clear the cache before deciding whether it worked.

The consent trail is identical

An embedded form is the same form as the hosted page: same consent checkbox and wording, same double opt-in setting, same reader-magnet delivery, same bot defences. Every signup carries the same consent evidence no matter which face of the form the reader met.

Squarespace/Wix: use their embed/custom-code block; if scripts are stripped, use the plain iframe snippet.

Didn’t answer it? Email support@newsletterscriv.com. Already have an account? Open the help center in your dashboard.

NewsletterScriv—email for authors