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 cannot simply send to every phone number in your Klaviyo account; someone must explicitly consent to receiving SMS marketing from your brand. Further, email consent does not equal SMS consent.
Note that if someone agrees to receive SMS marketing messages, this acts as consent for MMS messages as well.
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. If you want to add SMS subscribers to a list that has double opt-in enabled, you must have first set up SMS. Otherwise, someone who subscribes will never receive the text that allows them to confirm their consent.
In this guide, we go over methods for collecting SMS consent in Klaviyo, how consent is stored, and best practices.
What Counts as SMS Consent
For SMS consent to fully apply, 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.
Methods for Collecting SMS Consent in Klaviyo
There are several options for collecting or syncing consent into Klaviyo:
- Standard signup forms, which you can use to target new and email-only subscribers
- Click-to-text forms
- List API
- Email banners
In the following sections, we go over each of these options.
Standard 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. You can sort by Goal = Capture SMS Subscribers to use one of our SMS-specific forms as a starting point.
Learn more about TCPA best practices.
You will be able to configure the following:
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 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.
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.
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 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.
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.
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.
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.
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.
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. Similarly, for Shopify Plus, consent syncs when someone clicks Continue to Shipping.
As for 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
To gather consent through an email, create a new email campaign and then open the email template editor. Note that this approach is designed to automatically open a text message, but it will not work with the Gmail app or in Microsoft Outlook; however, anyone can manually navigate to their text messaging app and text your number to subscribe.
In the editor, add a text block with content “Text <subscribe_keyword> to <your_sending_number>.” Be sure to insert an active subscribe keyword and your actual sending number here. (To find your sending number, navigate to Account > Settings > SMS.) Set the block to desktop only.
Next, copy the block and set to mobile only.
In this mobile-only block, click Source and then add the following text so recipients have the click-to-text experience. Use link text:
Text JOIN to <sending_number>
Here too, make sure to replace <sending_number> with your sending number. Then send the campaign to your main subscriber list.
You can also collect SMS consent (along with email) on Instagram. To collect SMS consent on Instagram, add a link to a signup form where the user can input their information. Note that this can only be done with Instagram stories, so you must have 10,000 or more followers.
Read this article for information on how to collect SMS consent on Instagram.
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:
The method by which they subscribed.
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.
This is a timestamp recording precisely when they submitted the form or, if the form is double opt-in, when they granted consent.
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:
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
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.