Connect Contact Form 7 to Klaviyo

Connect Contact Form 7 to Klaviyo

Connect Contact Form 7 to Klaviyo and every form submission becomes a profile in the list you choose. The free ClickSyncr for Klaviyo plugin adds a ClickSyncr Klaviyo tab right in the Contact Form 7 editor: connect your private API key once, pick a list, map your fields, save. So there is no code, and it takes about two minutes per form.

Before you begin

You need three things: the ClickSyncr for Klaviyo plugin activated, Contact Form 7 active, and a Klaviyo account (free accounts work) with permission to create a private API key. You store the key once, and every supported builder on the site then shares it.

Get your Klaviyo private API key

  1. Log in to Klaviyo and go to Account → Settings → API Keys.
  2. Create a private API key with lists:read, lists:write, profiles:write and subscriptions:write access.
  3. Copy it and paste it into any ClickSyncr Klaviyo panel. One key serves the whole site, and free Klaviyo accounts work.

Treat the key like a password. Anyone holding it can read and modify your Klaviyo lists and profiles.

Contact Form 7 setup, step by step

The ClickSyncr Klaviyo panel: key connected, list selected, fields mapped.
The ClickSyncr Klaviyo panel: key connected, list selected, fields mapped.
  1. Open your form and switch to the ClickSyncr Klaviyo tab. From Contact → Contact Forms, open a form. The plugin adds its own tab next to Form, Mail, Messages and Additional Settings. You can also jump straight there with /wp-admin/admin.php?page=wpcf7&post=YOUR_FORM_ID&active-tab=clicksyncr-kl-panel.
  2. Paste your Klaviyo private API key and connect. Additionally, you store the key once, and every other form and builder reuses it across every ClickSyncr Klaviyo surface on the site, so other forms and builders reuse the same connection.
  3. Choose the Klaviyo list. Moreover, the dropdown lists every list in your account and shows each one’s real opt-in mode and field count, for example “Weekly Digest (single opt-in, 5 fields)”.
  4. Map your form fields. Furthermore, Email is the required mapping; first name, last name, phone number, organization and title go to Klaviyo’s standard profile fields, and everything else becomes a custom property.
  5. Optional: set a consent field. Also, choose a checkbox, acceptance or radio field to drive opt-in. Ticked subscribes the visitor with marketing consent; unticked adds them as a non-marketing member. Leave it on None to use the form’s subscriber status setting.
  6. Save the form. In addition, the next submission syncs.

Standard fields and custom properties

Klaviyo identifies profiles by email, so Email is the one required mapping. First name, last name, phone number, organization and title map to Klaviyo’s standard profile fields; every other mapping is stored as a custom property on the profile. Also, ClickSyncr simply skips an unmapped field and never overwrites existing profile data with a blank value.

Subscriber status and double opt-in

Each form chooses a subscriber status: subscribe with marketing consent, add as a non-marketing member only, or Use list setting, which defers to the list’s own single or double opt-in mode. The list picker shows each list’s real opt-in mode, so you know before you choose. A consent field overrides it per submission: ticked subscribes, unticked stores a member without marketing consent. Klaviyo matches profiles by email, so it updates existing profiles instead of duplicating them.

Verify the sync

First, submit the form on the front end (not the admin preview) with a test address you can recognise, filling every mapped field. Then, in Klaviyo, open the list and confirm the profile exists with the mapped values and the consent state you expect. In short, that one minute catches almost every configuration mistake.

Troubleshooting

Symptom Cause and fix
The list dropdown is empty The key is missing, mistyped, or lacks the required scopes. Re-check that the private key carries lists:read, lists:write, profiles:write and subscriptions:write, then reconnect.
Submissions do not appear in Klaviyo Nine times out of ten the Email field is not mapped. It is the one required mapping. Fix it, then submit a fresh test.
A new list or property is not listed The catalog is cached briefly. Use the refresh control in the Contact Form 7 settings.
The profile syncs but a field is empty Either that field is unmapped, or it was blank on the submission. ClickSyncr skips empty values, so they never wipe existing Klaviyo data.
A profile is in the list but not subscribed The consent field was unticked, or the form’s status adds members without marketing consent. Check the consent mapping first, then the list’s own opt-in mode.

Does each Contact Form 7 form need its own Klaviyo key?

No. ClickSyncr for Klaviyo stores one private key for the whole site, so every form and every builder shares the same connection. Each form still chooses its own list and field map.

Can Contact Form 7 subscribe profiles with opt-in consent?

Yes. Point the consent control at an acceptance or checkbox field and only ticked submissions are subscribed with marketing consent; unticked ones are stored as non-marketing members.

Other form builders

ClickSyncr for Klaviyo also connects WPForms · Gravity Forms · Ninja Forms · Fluent Forms · Formidable Forms · Forminator. Overview, features and pricing: Klaviyo integration for WordPress. Browse all ClickSyncr integrations.

“Klaviyo” is a trademark of its respective owner. ClickSyncr for Klaviyo is an independent integration and is not affiliated with, endorsed by, or sponsored by Klaviyo.

Built by Renzo Johnson