Klaviyo logo

Add text message opt-ins to your SMS audience

Only people who answered yes to text updates reach Klaviyo, with their mobile number and SMS consent set on the profile.

When this happens

New submission on an SMS signup form with a phone field

Do this

Create or update the Klaviyo profile with the phone number and SMS consent so it can receive text campaigns

One-directional. A submission triggers the action — nothing is written back into your form.

Texting people is the part of Klaviyo with the least tolerance for a sloppy record. A number without a country code will not send, and a number without a recorded opt-in should not.

The campaign signup form asks the consent question in plain language and only shows the mobile field to people who said yes. Organisers running a drop, a petition push or a limited release use this so the SMS audience in Klaviyo holds only numbers that were knowingly given.

Setting it up

  1. 1

    Use the consent question — Would you like to receive text message updates about this campaign? — as the condition that reveals the mobile number field, so nobody leaves a number they did not mean to give.

  2. 2

    Put your sender name and the message frequency next to that question on the form. Klaviyo records the consent, but the form is where it was actually asked for.

  3. 3

    In Klaviyo, confirm SMS is enabled on the account and note the list these subscribers belong on.

  4. 4

    In Zapier, create the Zap with the New Submission trigger and select the campaign signup form.

  5. 5

    Add a Zapier filter step that only continues when the text-updates answer is yes, so a no never reaches the SMS action at all.

  6. 6

    Add Klaviyo's Subscribe Profile to List action and set the SMS consent status on it, not only the email one.

  7. 7

    Map Mobile Phone Number (for text updates) to the phone number attribute, with a Zapier formatter step ahead of it to force E.164 format if your audience omits the country code.

  8. 8

    Submit the form with your own number, check the profile shows as SMS subscribed in Klaviyo, then turn the Zap on.

What maps where

Using the Campaign Awareness Sign-Up Form as the starting point. These are its real fields — swap in your own and the mapping works the same way.

Form fieldKlaviyo
Full NameSplit across the first and last name attributes on the Klaviyo profile
Email AddressThe profile identifier Klaviyo matches on, so SMS consent lands on the existing profile rather than a second one
Would you like to receive text message updates about this campaign?The Zapier filter condition — only a yes reaches the SMS subscribe action
Mobile Phone Number (for text updates)The phone number attribute, in E.164 format, that Klaviyo sends texts to
Ways I'd like to participateA custom property used to segment which drops or actions someone hears about
How did you hear about this campaign?A source property showing which channel produced the SMS audience

Variations worth knowing

Two channels, two consents

The subscribe action can set email and SMS consent in the same step, which makes it easy to grant both by accident. Map the SMS consent only when the text-updates answer was yes, so somebody who wants the emails and not the texts ends up subscribed on one channel.

Confirm the opt-in by text

Rather than promising anything on the thank-you screen, build a short Klaviyo flow triggered by the SMS list subscription. It confirms the opt-in in the same channel it applies to, and the person keeps a message they can reply to.

If something isn't arriving

Klaviyo rejects the phone number.

Almost always the format. Klaviyo wants E.164 — a plus sign, the country code, then the digits with no spaces or brackets. Add a Zapier formatter step before the Klaviyo action to strip punctuation and prefix the country code your audience is in.

The profile has the number but shows as not subscribed to SMS.

Mapping the phone attribute stores a number; it does not grant consent. Use Subscribe Profile to List with the SMS consent status set on the action step itself, then replay the affected tasks from Zapier's history.

Frequently asked questions

Is a checkbox on the form enough consent to text someone?

It is the record of what was asked and answered, and it passes to Klaviyo with the profile. SMS rules vary by country and are stricter than email, so check what your regulator expects in the wording and put that wording on the form itself.

What if someone gives a landline number?

Klaviyo accepts it and the message fails to deliver. Labelling the field as mobile, as the template does, prevents most of it. Review the failed sends in Klaviyo after your first campaign rather than assuming the field caught them all.

If someone replies STOP, does the form stop asking?

No. The connection is one way — a submission triggers an action in Klaviyo, and nothing comes back into the form. Klaviyo handles the opt-out itself and keeps that number out of later campaigns, so treat it as the single record of who is opted in.

Related automations

Build the form first

The automation needs somewhere to fire from. Publish a form, connect it once, and every submission from then on runs this flow.

Start free