SMS Opt-in Form Template

Build a text list that can survive an audit — express consent captured as its own deliberate choice, with topics the subscriber picked.

Free · copies into your editor in one click
Live preview — try it, nothing is saved

Texts land where email never does — but only with your explicit say-so. Choose what you want, know the terms, opt out with one word whenever you like.

press Enter ↵

SMS is the most regulated channel in mainstream marketing for a simple reason: texts are intrusive, and the law treats the subscriber's permission as the product. An SMS list built sloppily is a liability with a send button. This opt-in form is designed so that every number on your list arrives with the paperwork already done.

Consent as an act, not an assumption. The consent block is a required single choice whose one option spells out the full deal — recurring automated marketing texts, consent not a condition of purchase, message and data rates, reply STOP to cancel. The subscriber must actively select it; nothing is pre-ticked, and the form cannot be completed around it. That deliberate tap, stored with the response, is exactly the kind of express-consent record that carrier audits and TCPA-style complaints turn on. Export the CSV and you have a consent ledger: number, wording agreed to, and when it was submitted.

Why topics come before consent. The multi-select does two jobs. Commercially, it segments your sends from day one — the person who chose only "back-in-stock alerts" churns instantly if you text them daily deals. Legally and culturally, it reframes the exchange: the subscriber is configuring a service, not surrendering a phone number. Lists built this way have materially lower STOP rates, and STOP rates are the metric carriers police.

Why so few identity fields. A phone number and an optional first name. SMS personalization beyond a name is rarely worth the friction at opt-in, and the phone block's structured input keeps numbers clean enough for your sending platform's import. Note what's absent: no email cross-capture, no birthday, no address. Mixing channel consents in one form muddies both records.

What this form deliberately doesn't claim. Formlark records the opt-in; your SMS platform sends the messages and processes STOP replies. Pipe new opt-ins to that platform with a webhook (signed, retried on failure) or by CSV import, and keep the consent record here as your audit trail. This division of labor — form as consent ledger, platform as sender — is the setup compliance reviewers actually like to see.

Who uses this. Ecommerce brands building flash-sale lists, restaurants running waitlist and daily-special texts, gyms and clinics sending reminders, and creators with drop-based release schedules.

Make it yours. Localize the consent wording to your jurisdiction and program terms (frequency, program name), swap the topics for your real message types, and keep the intro's promise about STOP behavior true in your sending platform. The form's honesty is the list's durability.

Frequently asked questions

Does this form satisfy express-consent requirements?

It captures the right artifact: an unticked, required, affirmative choice with full program terms, stored per response. Confirm the wording against your jurisdiction and program specifics with counsel.

How do opt-ins reach my SMS sending platform?

Add a webhook so each opt-in POSTs to your platform or middleware in real time, or export CSV and import on your cadence. Keep the form responses as your standing consent ledger.

Why is the consent a single choice instead of a checkbox?

A required single-choice option forces a deliberate, recorded act of agreement — nothing pre-ticked, nothing implied. That deliberateness is precisely what makes the record defensible.

Can I verify the numbers are real?

The phone block enforces plausible formats, and the spam stack (honeypot, timing, proof-of-work) blocks automated junk. True number verification via confirmation text happens in your SMS platform after import.