Using Forms to Collect SMS Consent on WooCommerce

Last updated at:


In order to send SMS messages to your subscribers, the first thing you’ll have to do is collect phone numbers. It’s important to include clear language that explicitly states that by inputting their number, the customer is opting into SMS. Additionally, you’ll need their consent to sync from your WooCommerce store to your Klaviyo account in order to contact your customers via text messaging.

In this article, we will run through collecting SMS consent from your WooCommerce store so you can send SMS messages in Klaviyo.

With WooCommerce, you can also gather subscribers during checkout. See this article on how to collect SMS consent at checkout.

Language for SMS Consent

When gathering phone numbers for SMS marketing, you must include language that explicitly informs people they are consenting to receive text messages from your business, according to compliance laws in your country. Messaging that only says that they are opting in for general marking, and does not mention SMS specifically, is generally not seen as sufficient. While Klaviyo cannot provide legal advice about compliance and you should always check with legal counsel, the following is an example of language that clearly indicates the person will be consenting to SMS marketing.

When you add a phone number block to any Klaviyo signup form, this language is added automatically: "By clicking SIGN UP NOW, you agree to receive marketing text messages from (your organization's name) at the number provided, including messages sent by autodialer. Consent is not a condition of any purchase. Message and data rates may apply. Message frequency varies. Reply HELP for help or STOP to cancel. View our Privacy Policy and Terms of Service."

Following that, there's an additional, highlighted sentence that reminds you to link to your privacy policy and terms of service. Once you do so, delete that sentence.

Methods for Gathering SMS Consent in WooCommerce

If you haven’t already, make sure that your Klaviyo plug-in in WooCommerce is running. If you’re unsure if you’re able, head to our article on Integrating with WooCommerce.

Additionally, you should have the option to publish Klaviyo signup forms on your site through your integration. If you are not currently using Klaviyo signup forms or are unsure if you can, head to our article on installing Klaviyo signup forms.

Below, we discuss how to gather SMS consent via: 

Collecting Consent Using a Popout or Flyout

A simple way to gather SMS consent is through a Klaviyo popup or flyout form for your WooCommerce store. These forms can include a phone number field as well as the necessary messaging. In Klaviyo, you can either create them from scratch, use a pre-built template from the Form Library, or add the phone number field to one of your existing forms.

Once you select your form, add a phone number block into the form. Note that when you add this block, the Collect SMS consent option will be enabled and a text block with example disclosure language will appear below the block. If you have questions regarding SMS consent, we recommend contacting your legal counsel.

In the text block, change the Privacy Policy and Terms of Service links with those for your brand and add notes to these policies that explicitly mention SMS marketing. Once done, delete the last, highlighted sentence.


You can change aspects of this box like the label, placeholder text, and whether or not the phone number is required. We recommend leaving the Profile Property field unchanged with the Phone Number option intact, as changing this property will prevent you from sending SMS messages. Further, there’s an option to change the default country, but note that SMS messaging is available in only certain countries

When you click Publish, a popup box will appear to confirm that you have replaced the Privacy Policy and Terms of Service links with those for your brand. If you have questions regarding SMS consent or these policies, contact your legal counsel.


Like with any popup or flyout form, you can change the timing and frequency for when the form should display as well as in which URLs it should appear in the Behaviors tab. Through this approach, you can have it appear on, for example, your cart or checkout page.


Collecting Consent Using Embedded Forms

With an embedded form, you can insert a phone number input field directly onto your site. For instance, let’s look at how to include an embedded form in a footer or on your order confirmation page. As with a popup or flyout form, add a phone number input field, use the Collect SMS consent option, and include language that clearly states the person is opting into receiving text messages from your business.

When you publish a Klaviyo signup form, a popup box will appear with the form’s embed code. You can also get this code from the Behaviors tab on the left-hand side of the page. Copy this code so that you are ready to paste it into your WooCommerce store.

To add your form's embed code we're going to follow a three-step process:

  1. Locate where on your site you want to add your form.
  2. Get to where you can edit the HTML of your site.
  3. Paste in your embed code, and adjust your form's styles as needed.

This general approach works for adding a Klaviyo form to any site. Keep in mind that your theme may differ, along with some of the names of files or the locations of code snippets.

The first step is to decide and locate where you want to add your embed code. In this example, we'll cover adding a Klaviyo embedded form to a footer. From the dashboard, head to Customize Your Site > Widgets > Footer 1 (or wherever you would like to add your form) > Custom HTML. From there, paste the code taken from the form builder in Klaviyo. Select Done > Publish for the form to display on your site.


You should then see the embed in the footer of your site.

If you’re adding the embed to your order confirmation page, follow the instructions on Embed a Form on Your Order Confirmation Page.

Additional Resources


Was this article helpful?
1 out of 8 found this helpful