How to create an opt-in form in ConvertKit and embed it on your website.

What’s an opt-in form?

An opt-in form is something you’ve probably seen a thousand times before; they’re widely used and look similar to the example shown below, taken from my website;

In their simplest form, they collect subscribers’ email addresses, however, you can request additional information, if you wish. I collect my subscribers’ first names to make my emails more personalised by referencing each subscriber by name.

It’s worth noting, as a general rule of thumb, that the more information you request, the less likely people are to complete the form and subscribe – I prefer to collect first name + email address only, and then collect more personal data later when they’ve been on my list for a while.

Creating your opt-in form

To create an opt-in form in ConvertKit, navigate to the menu option ‘Grow‘ > ‘Landing Pages & Forms‘;

Click the ‘+ Create new‘ button;

Select the left-hand option, ‘Form‘;

Select the left-most option, the ‘inline‘ form;

You’ll now be presented with a grid of form templates to choose from; which one you choose doesn’t matter – they all do the same thing, it’s purely a personal preference;

I prefer to use the least populated option, ‘Clare‘, meaning I can add any other elements to it using my web page builder (e.g. images, text etc) – I use Elementor on WordPress.

Once you’ve selected the form template, you need to configure how you want it to behave when subscribers submit their details; we do this using the ‘Settings‘ option.

Configuring your opt-in form

Start by clicking on the ‘Settings‘ button at the top-right of the desktop;

This will pop up a form with several options to configure (down the left-hand side); there are just two that we need to focus on for the basic use of an opt-in form – ‘General‘ and ‘Incentive‘; let’s look at each one;

The ‘General’ button

You’ll see two radio buttons (the little round clickable dots), one entitled ‘Show a success message‘ and the other entitled ‘Redirect to an external page‘.

As you’d imagine, selecting the first one allows you to type a message you’d like your subscribers to see whenever they submit their details. The message can be anything you want, typically something like this…

“Success! Thanks for subscribing to my email list. Please check your inbox for an email I just sent you and click the link inside to confirm your email address.”

Alternatively, and the option I prefer, is to redirect subscribers to a web page that you’ve created specifically for this purpose. I tend to display a simple thank-you message and ask them to check their emails and confirm their email address.

If you wanted to, you could also add other content to this web page that gives more value to the subscriber, e.g. a video message or access to more information to help them with their current problem or challenge – however, just be aware that whatever you give on this page, they get for free even if the email address they supplied is fake (and yes, people do that!).

The ‘Incentive’ button

This is where all the magic happens. It’s the choices you make inside this section that will determine what happens after a subscriber submits and confirms their email address.

The checkbox ‘Send incentive email‘ should be ticked to enable a double opt-in policy. A double opt-in policy means subscribers must confirm they have access to the email address they supplied and that it’s not fake.

If you want more info on opt-in policy, check out this article below;

In this article, I explain what an ‘opt-in’ policy is, the two main options you have, and the pros and cons of adopting each one.

With the tickbox checked, you can now click the button entitled ‘Edit Email Contents’ – this will let you craft the email you want your unconfirmed subscribers to receive, asking them to click the confirmation link.

ConvertKit will provide you with templated text and a button (that you must NOT remove) that you can edit to make it look and feel how you want it.

Below is a screenshot of one of my incentive emails to give you an idea of what I do… (Pro tip: include an image of the ‘thing’ subscribers requested – this gives them a visual connection to what they asked for when confirming their email address – in my example, I share an image of the downloadable document they requested);

The bottom half of the ‘Incentive‘ form gives you two options for what happens AFTER your subscribers confirm their email address by clicking the button inside your incentive email;

  • Option 1: Nominate a web page for them to be directed to (the ‘URL’ option)
  • Option 2: Upload the document you want to share with the subscriber to ConvertKit, and it’ll automatically be shared with them after they confirm.

That’s it – your opt-in form has now been configured and will behave as you’ve designed it for every subscriber who submits their details.

Publishing and embedding your opt-in form

With your configuration complete, it’s now time to copy a snippet of code that ConvertKit generates for you and insert it into whichever page(s) you want it to appear on your website.

To publish your opt-in form, click the ‘Publish‘ button at the top-right of the screen;

This will pop up a form that looks something like the one shown below;

ConvertKit provides 5 ways to embed your form, the most commonly used being ‘Javascript‘, ‘HTML‘, and ‘WordPress‘.

What’s the difference and which one should I use?

If you’re not technical, and someone else looks after your website, just ask them which one they’d like and then copy and paste the relevant snippet into an email for them.

However, if you’re proficient in adding code snippets then here are your options;

  • Javascript: If you use this snippet and make any updates to your opt-in form in ConvertKit, they’ll automatically be reflected on your website.
  • HTML: Works just like the Javascript option, however, any opt-in form updates will NOT automatically be reflected – you need to re-copy the code snippet with each form update you make.
  • WordPress: If you have a WordPress website and use the ConvertKit plugin, you can reference the form directly using the unique form ID that both ConvertKit and WordPress know about, and just like the Javascript option, opt-in form edits are automatically reflected on your website.

I use the WordPress option because that works best for my setup.

Why am I not covering the ‘Domain Name’ or ‘Advanced’ buttons?

The ‘Domain Name‘ button allows you to create a unique URL for your opt-in form, however, as it’s going to be embedded on your website, assigning it a URL would be a waste of time.

The ‘Advanced‘ button gives options that are beyond the scope of this article, and the default selection will work perfectly for our needs in creating our first opt-in form.


If you want to embed subscriber opt-in forms on your website, create a new ‘Inline’ form and configure it to accommodate your needs.

ConvertKit provides 5 ways to embed your form, select the one that makes the most sense for your circumstances – they all produce the same outcome, i.e. subscribers join your email list.

If you aren’t yet using ConvertKit, you can create a free account here and get a free 14-day trial of their premium features.

Everything I shared in this article can be done using ConvertKit’s free plan.


Share your love
John Bellingham
John Bellingham

Starting out as a software engineer over 30 years ago, I began working for large corporates before realising solopreneurship was my 'thing'. I've had many businesses over the years, which have taught me many lessons.

I now spend my time helping other solopreneurs to implement the strategies and tactics that worked for me, whilst avoiding all my expensive mistakes.

If you're a solopreneur who's either starting or running a business, then connect with me and let's have a chat.

I love Formula 1® so that's always a good conversation starter if you need one! 🏁 🏎

Articles: 176