Email lists: Mailchimp, Klaviyo, Brevo, MailerLite and Kit

Last updated

A form can add the person who sent it to a list in your own email-marketing account. Formgong sends their email address and, if you want, their name. You keep the list, the emails and the unsubscribes in your own tool.

What you need

  • An account with one of the five services and a list in it (Mailchimp calls it an audience, MailerLite a group; in Kit you pick a form or a tag).
  • An API key from that account. Where to make one:
  • Mailchimp: Profile → Extras → API keys → Create A Key. The key ends with your data centre, for example -us21.
  • Klaviyo: Settings → API keys → Create Private API Key, with full access to Lists, Profiles and Subscriptions.
  • Brevo: SMTP & API → API keys → Generate a new API key.
  • MailerLite: Integrations → MailerLite API → Generate new token.
  • Kit: Settings → Developer → API keys → Add a new key (a v4 key).

It works on every plan, Free included. One list per form.

Connect a form

  • Open the form in the dashboard, then Settings → Email lists.
  • Pick the service, paste the key and press Connect. Formgong makes one request to the service to check the key, then stores it encrypted. The key is never shown again; the page shows its last four characters.
  • Choose the list, the email field (email unless your form calls it something else) and, if you want names, the first and last name fields. Kit keeps a first name only.
  • Choose who gets added (next section) and press Save.

Check connection asks the service again with the saved key. Disconnect stops new contacts and deletes the key; people already added stay in your list.

Who gets added

You pick one of two rules.

  • Only when this checkbox is ticked (the default). Formgong looks for a field with the name you give, such as newsletter. It counts as ticked when the field is there and is not empty, 0, no, false or off. An unticked checkbox sends nothing, so the person is not added.
  • Everyone who sends the form, for a form whose only job is signing people up. Make that clear next to the button.

A checkbox for the first rule:

<label>
  <input type="checkbox" name="newsletter" value="yes">
  Send me news and offers by email
</label>

People in the EU and the UK have to agree before you send them marketing email, and a box that is ticked in advance is not agreement. Use the checkbox rule on contact and order forms.

Double opt-in

With double opt-in the service emails the person a link and adds them only after they click it, so nobody can sign up someone else's address. Where the API can ask for it, Formgong does by default:

  • Mailchimp: on by default. A new member is added as pending and Mailchimp sends its confirmation email. With it off, the member is subscribed at once.
  • Brevo: on by default. Brevo sends a double opt-in template you pick (create one in Brevo under Templates) and adds the contact after the click. After the click Brevo opens the page you give, or the page the form was on.
  • Klaviyo: the list decides. In Klaviyo, open the list → Settings → Opt-in process.
  • MailerLite: your account decides. In MailerLite, Account settings → Subscribe settings → Double opt-in for API and integrations.
  • Kit: pick a form and Kit sends that form's confirmation email when the form uses double opt-in. Pick a tag and people are added at once, without being asked.

Existing contacts

Every request adds or updates, so a person who sends the form twice is still one contact. Formgong never changes the status of someone already on the list: a person who unsubscribed stays unsubscribed, and a confirmed one is not asked again by Mailchimp. Mailchimp and MailerLite keep an existing status by themselves. On a single opt-in list Klaviyo's subscribe call lifts an unsubscribe, and Brevo's double opt-in call tries to email a blocked contact, so for Klaviyo, Brevo and Kit Formgong first looks the person up and sends nothing if they unsubscribed, marked you as spam, bounced or were blocked. To come back, they sign up again through the service's own form or preference page. Names are sent only when the form has them, so an empty field does not wipe a name the list already holds.

What is never added

  • Spam, and submissions that are held (for example over your monthly limit) until they are released.
  • Imported submissions and test submissions: the installation test, and any submission with your own account email.
  • A submission without a valid email address, or with a known misspelling of a big provider such as gmial.com.
  • A submission that fails the consent rule.
  • On Klaviyo, Brevo and Kit, a person the service already holds as unsubscribed or blocked.

Each of these shows as Skipped, with the reason, in the list of recent submissions on the Email lists panel and on the submission page.

When the service says no

A timeout, a 5xx answer or a rate limit is tried again, up to 5 times over about 43 minutes. An answer that says the request is wrong (the key was revoked, the list was deleted, or the service refused that address) is not retried. Either way the submission is marked Failed with the service's own words, the panel shows the last error, and you get one alert by email or Telegram, at most once a day for that form. You can turn the email off under Account → Email preferences. Fix the cause, then press Retry delivery on the submission.

Your data

Only the email address and the name fields you map go to the service, with your key. The service is your processor under your own agreement with it, not a Formgong sub-processor. Formgong keeps the key encrypted in its EU database and deletes it when you disconnect or delete the form.

Questions: support@formgong.com.