How to Collect SMS Consent

Last updated at:


To remain compliant with US SMS regulations, it's important that you obtain proper consent from your subscribers before you start sending them text messages. You can accomplish this using signup forms. In Klaviyo, we store consent on every profile that signs up through a form.

Note that if someone agrees to receive SMS marketing messages, this acts as consent for MMS messages as well.

To start, you'll need to build a new form aimed at collecting phone numbers from your subscribers. This will help you expand your reach and grow your SMS list. Then, when someone signs up, you can rest assured that a consent timestamp is marked on their profile.

Use a Signup Form to Collect Phone Numbers

Using the Klaviyo Signup Form Builder, you can create a signup form that asks visitors to input their phone number, or you can add a phone number input field to your existing signup forms. If you're starting from scratch, peruse the Form Library to use one of our pre-built forms as a template. You can sort by Goal = Capture SMS Subscribers to use one of our SMS-specific forms as a starting point.

Once within the builder, drag a phone number block onto your form.


You will be able to configure the following:

  • Label
    The text that a visitor sees above the input.
  • Placeholder Text
    The text that auto-populates in the input box. Typically, this should give visitors an idea of the type of information you're collecting.
  • Profile Property
    By default, this will be mapped to Klaviyo's default phone number profile property, but you can change this to any other profile property if you would like. Please note, however, that if you would like to use this property as a phone number in text messages, you must keep the default mapping. When this input is mapped to the phone number profile property, this is where you can update SMS consent, meaning a timestamp verifying consent will be attached to the contact's profile when they submit their number on the form. It is highly recommended that you keep this box checked to ensure that you remain compliant with US SMS laws.
  • Default Country
    This will apply a default calling code to the beginning of the phone number. Visitors may also change this code according to where they are located if needed. Please note that SMS messaging is currently only available for US-based contacts. 
  • Required
    Indicate if you would like to require someone to input their phone number in order to submit the form.

Additionally, you will be able to style the phone number input in accordance with your brand's design. When you've styled and configured the form the way you would like, you can publish it by clicking Publish in the upper right.

If you have the Update SMS consent checkbox enabled, you will see a callout regarding compliance with TCPA guidelines. This is to ensure that site visitors are aware that they are signing up to receive SMS message when submitting your form. Here, you can also click Consent disclosure and copy and paste a blurb with legal language into a text block on your form. Be sure to replace the placeholder Privacy Policy and Terms of Service links with the corresponding links for your brand.

The sample language in the blurb reads: "By entering your phone number, you agree to receive marketing messages at the number provided. Consent is not a condition of purchase. Message and data rates may apply. Message frequency varies. Reply HELP for help or STOP to cancel. View our Privacy Policy (insert link) and Terms of Service (insert link)." 

Learn more about TCPA best practices.

You can configure the list a form is connected to by editing the submit button. Please note that if the list the form submits to is double opt-in (which all Klaviyo lists are by default), the subscriber will have to confirm their subscription via text and email in order to be added to the list.

Double opt-in prevents visitors from inputting invalid phone numbers or submitting a number on behalf of someone else without their consent. When someone confirms their subscription by texting back "YES," their consent timestamp will be updated.

Collect Phone Numbers from Existing Subscribers

Using the steps outlined above, clone or create a new signup form with a phone number input field. Next, you can target this form to only show to people who are already on your email list in the Behaviors tab. Under the targeting options, select Target visitors in a list or segment and then check Show to visitors in certain lists and segments. Here, specify that someone is on your master list already. 


Because these contacts have already subscribed to your main list, you don't need to include an email input on the form. You may simply delete this block and, when someone subscribes, they will receive a double opt-in confirmation text if your list is set to double opt-in.

Create a Click-to-Text Form

Creating a click-to-text form allows mobile visitors to sign up directly by clicking a button, without having to manually input their phone number. 

First, build the form that you would like to display to mobile visitors using the Signup Form Builder. If you need inspiration, you can filter the Form Library by mobile devices only to find our prebuilt mobile forms.

Next, drag a button onto the form. From the Action dropdown, select Subscribe via SMS.


When the button action is configured to subscribe via SMS, you will no longer see the option to edit the Success Message. This is because visitors will be brought directly to their messages app when they tap this button. 

Here, you will also be able to view the subscription settings:

  • Opt-in Keyword
    The word that they will text to the destination number (the SMS number that you have configured in your account) to subscribe to your SMS Subscribers list. By default, this word is JOIN and is not configurable. If you have several available numbers on your account, the destination number will be automatically selected in priority order of short codes, toll-free numbers, and long numbers; then sorted by newest to oldest.
  • Opt-in Message
    This is the copy that will be sent in the text confirmation message. By default, this will read “Send this text to subscribe to <organization_name>!”, but you can configure the message content. This field allows up to 160 GSM-7 characters (1 message) only. Special characters, including emojis, are not valid.

When you publish your form, you will see a callout regarding compliance with TCPA guidelines. This is to ensure that site visitors are aware that they are signing up to receive SMS message when submitting your form. Here, you can also click Consent disclosure and copy and paste a blurb with legal language into a text block on your form.


When someone subscribes via click-to-text form, they will be automatically brought to their messages app with the opt-in message you configure prepopulated. They can change this text, but as long as the opt-in keyword is present, they will be added to your default SMS Subscribers list when they confirm their subscription.


Someone can also provide consent by texting the opt-in keyword (e.g., JOIN) to your SMS sending number. To find your SMS sending number(s), navigate to the organization dropdown menu in the upper right-hand corner and then click Account > Settings > SMS Settings


Use APIs

You can also use Klaviyo's v2 List API API to collect SMS consent. This is particularly helpful if you want to, for example, integrate a non-Klaviyo signup form to gather consented phone numbers for SMS marketing. For details on how to leverage APIs for SMS, check out our List API documentation

How SMS Consent Is Stored in Klaviyo

Standard Signup Form

When someone signs up to receive SMS messages from your brand, this consent is stored in the Channels section of their profile page along with the following details:

  • Method
    The method by which they subscribed.
  • Form
    If they signed up via a Klaviyo form, the ID of the form they signed up through. Learn more about how to find a form's ID.
  • Form Version
    This identifies the iteration of the form that a particular subscriber saw. Klaviyo keeps a record of the exact text and language that was used for each version of a form you create, which you can request from support if necessary. For example, if you see "2" as the consent version, this means that the subscriber signed up to the second variation you made of the form.
  • Timestamp
    This is a timestamp recording precisely when they submitted the form or, if the form is double opt-in, when they granted consent.


Click-to-Text Form

Similar to the form consent details outlined above, click-to-text consent is stored in the Channels section of a contact's profile page with three key details:

  • Method
    The method by which they subscribed which, in this case, will read "text."
  • Consent text
    The opt-in message that someone sent to confirm their subscription.
  • Timestamp
    This is a timestamp recording precisely when they sent the confirmation text.

Additionally, three profile events are tracked when someone subscribes via a click-to-text form:

  • Sent SMS
    When someone texted your destination number to subscribe.
  • Consented to Receive SMS
    When someone consented to receive SMS messages.
  • Received SMS "Thanks for Subscribing"
    When someone receives your SMS confirmation message, which can be edited at the account-level.


Export SMS Consent

There may be instances in which you would like to export the consent timestamp from one of your SMS customers. You can do this by first navigating to the contact's profile page.

Then, at the bottom of the profile page, click Export Profile.


Then, you will be prompted to head to your Downloads tab. When the profile is finished downloading, you will see the option to click Download


This download contains a .zip file with JSON logs of all the customer properties and events associated with that particular profile. 

Additional Resources


Was this article helpful?
56 out of 74 found this helpful