Klaviyo integration

Connect Drupal Webform. Send every lead to Klaviyo.

ClickSyncr sends Drupal Webform submissions to a Klaviyo list. Connect your account inside the webform, match its fields, and save the handler to prepare new submissions for delivery.

Drupal Webform
Klaviyo
Direct connection supported

A clear setup path

Connect, map, test, publish.

Keep the existing form and configure the destination beside the workflow you already use.

01 / FORM

Prepare the fields

Complete this step in the ClickSyncr interface and save the configuration.

02 / API

Connect the account

Complete this step in the ClickSyncr interface and save the configuration.

03 / LIST

Choose the destination

Complete this step in the ClickSyncr interface and save the configuration.

04 / MAP

Match the fields

Complete this step in the ClickSyncr interface and save the configuration.

05 / TEST

Submit and verify

Complete this step in the ClickSyncr interface and save the configuration.

Connect Drupal Webform to Klaviyo

ClickSyncr sends Drupal Webform submissions to a Klaviyo list. Connect your account inside the webform, match its fields, and save the handler to prepare new submissions for delivery.

What you need

Use Drupal 10.3 or Drupal 11, Webform 6, and PHP 8.3 or later with OpenSSL. You also need a Klaviyo account, an API key, and a list to receive subscribers. Keep Webform submission storage enabled and Drupal cron running: the module sends saved delivery requests when cron runs.

Install and open the handler

Install and enable Webform Integration for Klaviyo from Drupal.org. Open Structure > Webforms, choose your form, and select its Klaviyo tab. The tab opens the handler configuration. If more than one matching handler exists, choose the handler you want to edit.

Connect your API key

Paste your key into Klaviyo API key and select Connect. Then choose the Klaviyo list. The field mapping options load for that destination. To replace a saved key, paste the replacement and connect it before saving the configuration.

Map the fields you collect

Map Email, then choose from First name, Last name, Organization, Title, Phone number, Address, Address line 2, City, State or region, Postal code, and Country. Under Additional profile properties, enter a Property name and choose its Property type to add another property for mapping.

For each destination field, select the matching element from your webform. Start with Email, then review the optional mappings. Check the displayed field types as well as their names so that a date or number is connected to the intended value.

Set consent and subscriber status

Under Consent and delivery, select a Consent checkbox if your form uses one. Once selected, that checkbox must be checked for a submission to be sent to Klaviyo. Leaving it unselected allows valid submissions through without a checkbox condition. The current handler offers Active as its subscriber status. Confirmation email behavior depends on your Klaviyo settings; do not treat the consent checkbox as a promise that a confirmation email will be sent.

Test a completed submission

Submit the public form using a test contact you control, with the configured consent checkbox checked. After cron runs, open the saved submission’s Klaviyo tab and inspect its delivery result. Check the contact in your selected list, including each mapped value. If you configured consent, submit another test with it unchecked and confirm that it is not sent.

Resolve connection and mapping errors

“Could not connect to Klaviyo.” Check the API key and reconnect; the error message confirms that the saved mapping has not changed. “Could not load this list.” Reconnect and select the destination again. If the account has no lists, create one in Klaviyo, then reconnect.

If saving asks you to refresh fields and lists, reload them and review the selected sources. A saved submission is not proof of delivery. Read its result before trying again, then correct the reported value or setting. An authorized administrator can use Send again from the submission’s delivery screen.

See the Klaviyo integration overview for the destination’s ClickSyncr page.

Frequently asked questions

What happens to the saved Klaviyo API key if Drupal’s hash salt changes?

The module encrypts the saved Klaviyo credential with a key derived from Drupal’s hash salt. Changing that salt means the old encrypted value cannot be opened with the new key. Reconnect the Klaviyo API key after the change, then test the handler again. A copied database alone does not recreate the encryption context needed to read the saved credential.

Does Send again use the original Klaviyo mapping or the current one?

Send again rebuilds the delivery from the submission’s current saved values and the current handler mapping. The consent rule and handler conditions must still pass. It does not replay the original request unchanged. Review the earlier Klaviyo result before confirming: an unresolved earlier delivery may still complete, and the retry form rejects deliveries already marked accepted or still pending.

How can I tell which mapped fields Klaviyo accepted or dropped?

Open the saved submission’s Klaviyo tab and read the Fields column alongside Delivery state and Reason. When the service returns field details, the module shows how many fields were kept and names dropped fields with their reported reasons. An empty Fields cell means no field summary is available; it does not establish that every mapped value was accepted.

Your next subscriber is one connection away

Connect your next form to Klaviyo.

Install ClickSyncr, connect your platform, and publish your first tested sync in about two minutes.

Built by