How to upload a list of SMS contacts
To import consent, you must:
- Be an Owner, Admin, or Manager
- Have set up SMS
Find out how to add and remove SMS transactional or marketing consent in Klaviyo. Importing your SMS subscribers is an essential part of migrating providers or simply consolidating your data.
Before you begin
General requirements to import SMS consent
To import a list of phone number contacts with consent, you should:
- Set up SMS and have an SMS sending number for each country that you are importing.
- Note: you can only import consent for countries where Klaviyo SMS is available.
- Turn off any welcome flows (those triggered by the Consented to receive SMS metric or the list you’re importing to).
- Also, wait at least 2 hours after importing before you turn your flow live again.
Why do I need to set up SMS first and have a sending number?
Klaviyo cannot add SMS consent if:
- SMS isn’t set up in Klaviyo
- You’re trying to add consent for a country where SMS isn’t available
- You don’t have an SMS sending number for a country.
The profiles are imported with phone numbers, but they wouldn’t have consent for SMS.
To check your SMS setup and sending numbers, navigate to Settings > SMS.
Why should I turn off welcome flows?
Imported contacts can enter welcome flows. Set your welcome flows to manual mode before importing to prevent automatic sends. Welcome flows include those triggered by either:
- The Consented to receive SMS metric (which is the best option for any SMS welcome series)
- The list you’re uploading to.
You should also wait at least 2 hours after the import finishes to turn these flows live again.
Obtain your list of contacts
Depending on your SMS provider, you may need to build in time to get a list of your SMS subscribers.
At minimum, you need:
- Phone number
- Opt-in status (i.e., whether they are currently subscribed or not)
Additionally, you may want to include aspects like name, email, consent timestamp, etc.
Attentive
Attentive requires that you reach out to your account representative to receive an export of your SMS subscribers as a CSV file. It is not currently possible to export the file yourself. When migrating to Klaviyo, plan for turnaround time for Attentive to complete this request.
If the CSV file you receive contains contacts who have opted out of SMS messaging, as indicated in the opt_out column of your export:
- Add a column labeled "SMS Marketing Consent".
- Mark any contacts that have opted out as "Unsubscribed" in this column.
- Mark contacts who are currently opted in as "Subscribe" in this column. Use "Never subscribed" for contacts who have never opted in.
Emotive
Emotive does not allow you to export a list of all SMS subscribers directly from your account. You must contact them to get this list.
Postscript
Postscript allows you to export a list of all SMS subscribers directly from your account into a CSV file. This list simplifies the import process into Klaviyo.
For Postscript specifically, consider exporting information like:
- subscriber_created_at_utc (this is the SMS marketing consent timestamp)
- Customer_id
- Last_keyword_subscribed_to
- Automation_and_campaign_texts_sent_count
To learn how to export this segment in Postscript, consult their help doc on exporting subscriber data. You will need to export each segment separately.
Retention Rocket
Retention Rocket requires that you contact your account representative to receive an export of your SMS subscribers as a CSV file. It is not currently possible to export this file yourself. When migrating to Klaviyo, plan for turnaround time for your Retention Rocket representative to complete this request.
Yotpo / SMSBump
Use Klaviyo's Yotpo Email & SMS Migration integration to easily bring both SMS and email subscribers into Klaviyo.
Follow the migration guide’s separate instructions to export consent from Yotpo and import it into Klaviyo.
Prepare your CSV for importing
For an example CSV, see this template.
If your account uses age gating, include each contact’s date of birth in an Age gated date of birth column.
Include a phone number as the first or second column
Klaviyo uses either email or phone number as a profile’s unique identifier.
When importing:
- Use email as the first column if you have an email address for each person
- Otherwise, use phone number as the first column
Indicate the SMS subscriber’s country
You need to indicate the country for each person you’re importing either by:
- Adding a plus sign (+) and the country calling code before the phone number
- Including a column labeled “Country”
Example with country code | Example with country column |
![]() | ![]() |
Watch the video or check out this article for instructions on indicating the SMS subscriber’s country.
Indicate if consent is for SMS marketing or transactional
Say your CSV has a mix of marketing- and transactional-only profiles.
You can use 2 columns to indicate the type (transactional or marketing) of someone’s SMS consent. Label the columns:
- SMS Marketing Consent
- Marketing consent allows you to send any type of SMS: both promotional (product announcement, abandonment reminder, etc) and transactional messages.
- Use this column to specify each contact’s SMS marketing consent status.
- SMS Transactional Consent
- SMS transactional consent means you can only send messages marked as transactional in Klaviyo, like post-purchase flow messages.
- This column is only needed if you have transactional-only profiles, as you can send transactional messages to anyone who consented to SMS marketing.
Add consent status (subscribe, unsubscribed, never subscribed)
Including the consent status is key if your CSV includes a mix of either:
- Subscribed and unsubscribed subscribers
- Marketing- and transactional-only subscribers
There are 3 consent statuses available:
- Subscribe
Person is opted in to receive messages. - Unsubscribed
Removes consent for the SMS consent type indicated by the column. This does not change the contact’s email consent. - Never subscribed
Leaves consent unchanged for that SMS type. Use this value for contacts who have never opted in. A blank cell also leaves consent unchanged unless you provide a consent timestamp for that type. This value does not unsubscribe an existing subscriber.
Klaviyo will not apply SMS marketing consent if someone is marked as either unsubscribed or never subscribed. SMS marketing consent allows you to send transactional messages, but it does not automatically change the profile’s separate SMS transactional consent status.
These examples assume new profiles with no previous SMS consent and no consent timestamps in the CSV.
SMS marketing consent | SMS transactional consent | Is consent added to the profile? | |
Profile A | Subscribe | Subscribe | Yes, they are consented to both SMS marketing and transactional consent. |
Profile B | Subscribe | Never subscribed | Yes, but only for SMS marketing consent. The profile will show “never subscribed" for transactional consent. |
Profile C | Never subscribed | Subscribe | Yes, but the profile is only consented to SMS transactional consent. |
Profile D | Unsubscribed | Never subscribed | No, and the profile is marked "unsubscribed" for SMS marketing and "never subscribed” for SMS transactional. |
The way SMS providers export this information varies, so you may have to reformat the spreadsheet you received from your previous SMS provider to indicate the consent status.
Optional: add consent timestamp
While optional, the timestamp is usually good to include if it’s available. To do so, check that:
- The timestamp is in an accepted date/time format.
- The column is labeled either:
- SMS Marketing Consent Timestamp
- SMS Transactional Consent Timestamp (if also importing transactional consent)
If you include a consent-status column, you can import it without a timestamp. If you include neither an SMS consent-status column nor an SMS consent timestamp, you will be asked to confirm SMS consent during the import.
If a profile opted out after the consent timestamp you import, SMS consent will not be re-added. Only import the profile as subscribed if they have opted in again after that opt-out, and use the timestamp of their new consent.
Recommended information
Some information is "recommended" because it's helpful, but not required to add SMS consent. There are also columns you may think are helpful, but could cause errors in the import process.
See the table below for details of other information you may want to (or not want to) include.
Do include | Don't include |
Email address (if included, this should be the first column in the CSV) | "Subscribed to SMS" column |
First name | A “consent” column to indicate whether someone is subscribed to SMS marketing, SMS transactional, email, etc. |
Last name |
Import a list of phone numbers with SMS consent
- Navigate to Audience > Lists & segments.
- Select the list you want to add your contacts to (e.g., SMS Subscribers).
- Open the Manage list dropdown in the upper right.
- Choose Import contacts from the dropdown.
- You must be an Owner, Admin, or Manager to use this option.

- Click Upload and select your CSV file of SMS subscribers.
- Map each column from your CSV to the appropriate property in Klaviyo. Map consent-status and consent-timestamp columns to their corresponding built-in consent properties, and keep those columns selected for import.
- Review the consent values in your mapped columns. Klaviyo uses these values to add or remove the corresponding type of consent.
- For example, if you include an SMS Transactional Consent column without an SMS marketing consent column or timestamp:
- Profiles marked as "Subscribe" are imported with SMS transactional consent. Existing SMS marketing consent is unchanged.
- "Unsubscribed" removes SMS transactional consent. "Never subscribed" leaves existing consent unchanged.
- For example, if you include an SMS Transactional Consent column without an SMS marketing consent column or timestamp:
- If the button after mapping is Next, click it to review consent for channels without mapped consent columns. If it is Import, skip to the final step below.
- Under Did these contacts subscribe to messaging?, select Yes only if the contacts gave consent for the message types you will select. Select No to import without adding consent for those channels.

- If you selected Yes, find the SMS consent options under Text Message. Select Email only if the contacts also gave email marketing consent.

- If you selected Yes, select only the SMS consent types shared by every contact in the file:
- If every contact consented only to SMS transactional messages, select Transactional messages and leave Marketing messages unselected.
- If every contact consented to both SMS marketing and transactional messages, select both Marketing messages and Transactional messages.
- To import only SMS marketing consent for every contact, select Marketing messages and leave Transactional messages unselected. Use consent-status columns when consent differs between contacts.
- When ready to proceed, click Import.
The import process can take up to a couple of hours to complete. Review its status on the import history page that opens after you click Import, and check for any skipped rows.
Once all the numbers are imported, Klaviyo will either create a new profile or associate the data to an existing profile. For instance, if you import a phone-number-only CSV, Klaviyo will look for profiles with the same phone number, update that profile's SMS consent status, and include any other profile properties attributed to that contact.
If the phone number provided is invalid, the row will be skipped and the profile will not be imported, even if a valid email address is included in a different column.
Bulk remove SMS consent
If you want to remove consent for profiles, you can use essentially the same import process.
The only differences are that you must:
- Have a column for SMS Marketing Consent or SMS Transactional Consent (depending on the type of consent you want to remove).
- Add “Unsubscribed” for each profile within that column.
- Note that you cannot reset profiles in bulk to “Never Subscribed.”
Additional resources
- How to indicate the country for an SMS import
Learn how to indicate the country in a CSV file with SMS profiles.

