Guide to Collecting SMS Consent

Last updated at:


Find out how to collect SMS consent and how consent is stored in Klaviyo by reading this article.

Before collecting or importing SMS consent, you must have already set up SMS. You can also only collect consent where Klaviyo SMS is available

What Counts as SMS Consent

For SMS consent to fully apply, you need express consent. This means that a subscriber must know exactly what they are opting into. Simply giving you their phone number — or email — is not enough.

Wherever you are collecting SMS consent, you must display language clearly stating that individuals who sign up for SMS are consenting to receive text messages from your business. SMS consent laws are strict, and not providing this type of disclaimer can result in fines. Note that the text must mention SMS; saying that the subscriber is agreeing to receive marketing messages in a general sense is not enough.

In addition, you need to update any relevant legal documents, notably your terms of service and privacy policy, to detail how SMS consent will be handled.

Double opt-in is recommended for lists with SMS subscribers, as some mobile carriers require it if you are using SMS in your abandoned cart flows. 

Methods for Collecting SMS Consent in Klaviyo

There are several options for collecting or syncing consent into Klaviyo:

  • Klaviyo signup forms, which you can use to target new and email-only subscribers
  • Consent at checkout (for certain integrations only)
  • Click-to-text forms (not available for branded sender IDs)
  • List API
  • Email banners (not available for branded sender IDs)

In the following sections, we go over each of these options.

Klaviyo Signup Forms

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. 

Third-party signup forms can only properly send consent to Klaviyo if they are using the Lists API endpoint. 

Once within the builder, drag a phone number block onto your form. The Collect SMS consent option will automatically be selected, and a blurb regarding compliance will be added to your form. This is to ensure that site visitors are aware that they are signing up to receive SMS messages when submitting your form. Be sure to replace the placeholder Privacy Policy and Terms of Service links with the corresponding links for your brand. 

The callout reads: By submitting this form and signing up via text, you consent to receive marketing text messages (such as promotion codes and cart reminders) from [Company 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. You can unsubscribe at any time by replying STOP or clicking the unsubscribe link (where available) in one of our messages. View our Privacy Policy [insert privacy policy link] and Terms of Service [insert terms of service link].


You will be able to configure the following:

  • Label
    The text that a visitor sees above the input.
  • Placeholder Text
    The text that autopopulates 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.
  • 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.  
  • Required
    Indicate if you would like to require someone to input their phone number in order to submit the form.
  • SMS Consent
    The Collect SMS consent option will automatically be selected. If you don't want to collect SMS consent, select Do not collect SMS consent. Learn more about how to use signup forms to collect consent from your subscribers.

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.

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 can confirm their subscription by text for both text and email consent, but if they do so by email, they will only be opted into email.

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.

Use a Multi-Step Form to Collect Email and SMS Consent

In general, signup forms that collect email consent have higher conversion rates than forms that collect SMS consent. To collect SMS consent from new subscribers without slowing down your email list growth, use a multi-step form. 

To do so, collect email addresses in the first step, then SMS consent in the second step. If a visitor only completes step one, you’ll be able to reach them via email, and can encourage them to subscribe to SMS marketing in the future. 

The steps to add SMS opt-in as the second step in a multi-step form in Klaviyo

Collect Phone Numbers from Existing Subscribers

Using the steps outlined in the Klaviyo Signup Forms section 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 Targeting & 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 main list already. 


Because these contacts have already subscribed to your main list, you don't need to include an email input on the form, but it is helpful to avoid phone-only profiles. 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.

Click-to-Text Forms

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. Note that this is not available for branded sender IDs, as they cannot receive SMS or MMS messages; thus, your customers cannot opt in via text.

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. Note that it's important to add a disclaimer message to click-to-text forms. This language is not added automatically. In the message, we recommend also linking to your terms of service and privacy policy. 


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 the associated list. By default, this word is JOIN, but you can add in your own subscribe keyword(s). 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.

Once you click Publish, a callout will appear to remind you to link to your privacy policy and terms of service. 

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 the specified list. 

Sample message that populates in someone’s text messaging app after clicking the button in a click-to-text form

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

SMS Settings page in Klaviyo showing available sending numbers

Consent at Checkout

With certain integrations, you can also collect SMS consent directly on the checkout page. This makes the consent collection process seamless for your customers and allows you to more quickly grow your list, reach a wider audience, and gain insight into your customers. 

How to enable consent at checkout varies by integration. For detailed instructions, click the link for your integration: 

Depending on your integration, consent syncs into Klaviyo at different times in the checkout process. With BigCommerce, consent syncs once someone clicks Continue in the Shipping step. 

As for Shopify, Magento 2, and WooCommerce, consent syncs to Klaviyo once a customer places an order, not when they select the opt-in checkbox.

Click-to-Text Email Banners

Note that this approach is designed to automatically open a text message, but it will not work with Gmail or in Microsoft Outlook; however, everyone can see the banner and manually text your number to subscribe, regardless of their inbox provider.

A click-to-text banner in an email generates a text message with an opt-in keyword when a recipient clicks it. To use this functionality, you’ll create 2 versions of your call-to-action: one for desktop users and another for mobile users. 

  1. Add a Text block to your email template. 
  2. Add the following text to your text block: 
    • Text subscribe_keyword to sending_number.
  3. Replace subscribe_keyword with a subscribe keyword from your account (e.g., JOIN).
  4. Replace sending_number with your sending number.
    A click-to-text banner followed by disclosure language
  5. Within Display Options > Visibility, click Desktop to set the block to only show on desktop.
    A block set to mobile only in Klaviyo's template editor
  6. Click Save to save the block.
  7. Use the clone icon to clone the block. 
  8. Within Display Options > Visibility, click Mobile to set the new block to show only on mobile devices. 
  9. In the mobile-only block, click the source code button to access the block’s HTML.
    The source code button in Klaviyo's email template editor
  10. Replace all the existing code with the code below: 
    • <a href="sms:+sending_number?&body=Send%20this%20text%20to%20subscribe%20to%20SMS%20Updates!%20%28ref:JOIN%29">
      Text JOIN to sending_number
  11. Replace both instances of sending_number (in bold) above with your SMS sending number.
    • The first instance of your sending number should include the country code (e.g., 1 for the US) followed by the 10 digits of your SMS sending number, with no dashes, spaces, or parentheses: 16171110000
    • The second instance of your sending number may include formatting characters: (617) 111-0000
      The code for a click to text banner in an email
  12. Click Save to save the block. 
  13. Add disclosure language to the banner or within the email.
    A click-to-text banner followed by disclosure language
  14. Create a segment of your email-only subscribers with the following condition: 
    If someone is in or not in a list > is > in [your main list] 
    If someone has consented to receive SMS > has not 

Send your email to your email-only subscribers using a campaign, or add the message to your email welcome flow.

List API

You can also use Klaviyo's v2 List API to collect SMS consent. This is particularly helpful if you want to gather phone numbers for SMS marketing with a non-Klaviyo signup form. For details on how to leverage APIs for SMS, check out our Guide to Collecting SMS Consent via API. We recommend that you be familiar with the List V2 API before you begin.

How SMS Consent Is Stored in Klaviyo

If an identifiable email profile inputs a phone number different from the one they have listed for SMS in their profile, the new number will override the current SMS phone number. This action will strip the SMS consent from the phone number in the profile. As most people only have one phone number, this should not be a common occurrence for your customers.

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.

Channels section in a Klaviyo profile, showing user consent status and the timestamp for their 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

The three tracked metrics displayed for a Klaviyo profile: sent SMS, consented to receive SMS, and received SMS

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 right of the profile page, click Export Profile.

The Export Profile button In a profile’s page in Klaviyo, which is located below the Delete Profile and Merge Profile buttons

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

Klaviyo Downloads tab in platform showing who started the download, the download type, and the download button

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


An individual may use any of the above methods to resubscribe to SMS; however, depending on how they opted out, they may need to resubscribe in a certain way.

If someone previously texted "STOP," the only way for them to be resubscribed is for them to text the word "UNSTOP," as this is required by wireless carriers in order for them to deliver messages. If they use some other method to resubscribe, the profile will show the individual as opted-in, but wireless carriers will not deliver any messages to that recipient until they text the word "UNSTOP."

Further, for the "UNSTOP" and "START" keywords, you must have a list titled "SMS Subscribers" — and the capitalization must match exactly as shown here. 

Additional Resources

Was this article helpful?
765 out of 1021 found this helpful