Most consent copy gets written last, by whoever is building the form, five minutes before launch. That is how you end up with one pre-checked box that says "I agree to receive communications." That wording is too vague for carriers and too thin to hold up in a TCPA dispute. It also covers two channels that have different legal rules.
This post gives you wording you can adapt for email and SMS sign-up forms. It covers where the checkboxes go, which elements carriers and regulators look for, and why email consent and text consent should never share a box. It is practical guidance, not legal advice. Your counsel should review final copy, especially if you operate under GDPR, CASL or state-level texting laws.
Why email and SMS consent are different animals
In the US, email marketing runs mainly under CAN-SPAM. That law is opt-out based: you need an accurate sender, a physical address and a working unsubscribe link. Explicit opt-in is still the right practice, and it is mandatory in Canada (CASL) and the EU (GDPR).
Text marketing runs under the TCPA. Marketing texts sent with automated systems need prior express written consent. That consent has to be clear and specific to the business, and it can't be a condition of purchase. Statutory damages run $500 to $1,500 per text, so the gap between careful wording and sloppy wording matters a lot. If you're unsure which type of consent your use case needs, read prior express written consent vs implied consent.
On top of the law, carriers apply their own rules through A2P 10DLC registration. When you register a campaign, reviewers read your opt-in flow, and vague consent language is one of the most common reasons for rejection.
What each opt-in needs
| Element | Email opt-in | SMS opt-in |
|---|---|---|
| Brand name | Recommended | Required |
| What you'll send (type of messages) | Recommended | Required |
| Message frequency | Optional | Required ("Msg frequency varies" or a number) |
| "Msg & data rates may apply" | Not applicable | Required |
| How to opt out | Unsubscribe link in every email | "Reply STOP to cancel" in the disclosure |
| How to get help | Optional | "Reply HELP for help" |
| Privacy policy link | Recommended (required under GDPR) | Required by carriers |
| "Consent is not a condition of purchase" | Not needed | Required for marketing texts |
| Unchecked by default | Required under GDPR and CASL | Required |
Checkbox rules that apply to both
These rules cover most forms:
- Unchecked by default. A pre-checked box is not affirmative consent. Carriers reject it and GDPR prohibits it.
- One box per channel. Email gets its own box and SMS gets its own box. Never write "email and text updates" on a single checkbox.
- Consent is separate from terms acceptance. "I agree to the Terms of Service" is a different box from either marketing opt-in. Carriers specifically reject SMS consent that is buried in, or bundled with, your terms.
- The disclosure sits next to the box. Don't hide it behind a "details" link or leave it only in the footer. Someone scanning the form should see it without scrolling.
- The phone field is optional unless SMS is checked. If you require a phone number to submit the form, you are close to making texting a condition of the sign-up.
- The submit button doesn't double as consent. "Sign up" is fine. "Sign up and agree to receive texts" with no checkbox is weaker and harder to prove later.
Email opt-in examples
Email copy can be short. Clarity matters more than legal formality.
Newsletter sign-up
☐ Yes, send me the Acme Coffee newsletter: new roasts, brewing guides and the occasional discount, about twice a month. Unsubscribe anytime. [Privacy policy]
Lead magnet / gated download
Keep the download and the marketing opt-in separate. If you can, deliver the download whether or not the box is checked:
We'll email your copy of the guide.
☐ Also send me Acme's weekly marketing tips. Unsubscribe anytime. [Privacy policy]
Checkout
☐ Email me about new products and sales from Acme Coffee. You can unsubscribe in any email. [Privacy policy]
Order confirmations and shipping notices are transactional, so you don't need this box to send them. Don't use the transactional relationship as an excuse to start sending promotions, though.
For GDPR/CASL audiences, a stronger version
☐ I agree to receive marketing emails from Acme Coffee Ltd., 123 Example St., Toronto, about products, offers and events. I can withdraw consent at any time using the unsubscribe link or by contacting privacy@acmecoffee.example. [Privacy policy]
SMS opt-in examples
SMS copy carries more required elements, so it reads more mechanically. That is fine. Carriers want specificity, not elegance.
Marketing texts (promotions, offers)
☐ Yes, text me offers and new-product alerts from Acme Coffee. By checking this box, I agree to receive recurring automated marketing text messages from Acme Coffee at the number provided. Consent is not a condition of purchase. Msg frequency varies, up to 4 msgs/mo. Msg & data rates may apply. Reply HELP for help, STOP to cancel. [Privacy policy] [Terms]
Transactional / account texts (reminders, alerts)
Appointment and order texts usually don't need prior express written consent. Registered campaigns still need a documented opt-in, and clear wording keeps you honest about what you'll send:
☐ Text me appointment reminders and scheduling updates from Bright Smile Dental. Msg frequency varies. Msg & data rates may apply. Reply HELP for help, STOP to cancel. [Privacy policy] [Terms]
Our appointment reminder SMS guide covers the timing and templates that follow this opt-in. Healthcare senders should also read patient consent to receive text messages.
One form, two SMS purposes
If you send both reminders and promotions, give them separate boxes. A customer who only wants reminders shouldn't have to accept marketing texts to get them:
☐ Text me appointment reminders. Msg frequency varies.
☐ Text me special offers. Up to 4 msgs/mo. Consent is not a condition of purchase.
For both: Msg & data rates may apply. Reply HELP for help, STOP to cancel. [Privacy policy] [Terms]
Keyword opt-in (print, signage, packaging)
Text JOIN to (555) 555-0100 for Acme Coffee deals. Up to 4 msgs/mo. Msg & data rates may apply. Reply HELP for help, STOP to cancel. Consent not required for purchase. Terms & privacy: acmecoffee.example/sms
The confirmation text
Send this immediately after any SMS opt-in:
Acme Coffee: You're signed up for deals texts. Up to 4 msgs/mo. Msg & data rates may apply. Reply HELP for help, STOP to cancel.
That message is 128 GSM-7 characters, so it fits in one segment. If you add one emoji, the message switches to unicode, where a single segment holds 70 characters. The same text then becomes 2 segments.
Here is the cost as a worked example:
- Plain version: 1,000 sign-ups at 1 segment each is 1,000 × $0.0075 = $8 on Ready's Standard rate, plus a $0.0045 carrier fee per segment.
- Emoji version: doubling to 2 segments doubles that cost.
That total excludes the optional compliance surcharge, which applies only if you switch on scrubbing or landline validation. Keep the emoji for the campaign itself.
If you want a "Reply Y to confirm" step on top of this, see double vs single opt-in deliverability for the tradeoff.
Separate-consent notes people miss
- Consent names the business. "Our partners" or "affiliated companies" doesn't count as consent for anyone except the brand named in the box. If a partner wants to text the list, it needs its own opt-in.
- Email consent never converts to SMS consent. Collecting a phone number in a newsletter form doesn't let you text that number. You need the SMS box checked.
- Old consent doesn't cover new purposes. A list that opted into reminders hasn't opted into promotions. If you add a new message type, ask again.
- Privacy policy wording matters to carriers. Your policy should state that mobile numbers and SMS opt-in data are not sold or shared with third parties for marketing. Reviewers check for this sentence.
Phrases that get flagged
Avoid these in SMS consent copy:
- "By submitting this form, you agree to receive messages." There's no checkbox and no specifics.
- "Communications from us and our partners." This shares consent across businesses.
- "You may receive texts." It leaves out frequency, opt-out and rates.
- "Consent required to complete your order." Consent can't be a condition of purchase.
- Anything that mentions texting only in the Terms of Service.
We cover the full list of rejection triggers in the exact opt-in wording that clears 10DLC registration.
Recording consent: who keeps what
Good copy only helps if you can prove someone saw it and checked the box. Your form, CRM or store is the system of record. For each contact, it should save:
- the timestamp
- the exact disclosure text shown (or a version number)
- the page URL
- the IP or session data
- which boxes were checked
Ready doesn't store that per-contact record. A keyword reply to a Ready number doesn't create one either.
What Ready does record is the sender's attestation on each bulk send and each API send that sets consent_attested: who sent it, to how many people, and when. In the API, that is the consent_attested: true field on POST /v1/messages, which is your promise that the recipient agreed to texts. Together, the two records form an audit trail. The opt-in record lives with you, and the send-time attestation lives with us.
On the sending side, Ready handles several protections automatically:
- Opt-outs: STOP replies are honored, and the number is blocked across every campaign.
- Quiet hours: sends are held outside permitted hours in the recipient's area. Campaigns, drip campaigns and automations wait up to 24 hours for the window; a one-to-one or API text is held only if the window opens within 6 hours, otherwise it is refused and must be resent; a one-to-one reply to someone who texted you in the last 24 hours goes out at any hour.
- Scrubbing: you can screen numbers against TCPA-litigator and DNC-complainer lists. The standalone scrub costs $0.005 per contact.
These reduce risk, but they don't move responsibility. Compliance stays with the sender.
The practical takeaway
The working setup looks like this:
- Separate, unchecked boxes for email, SMS marketing and SMS transactional.
- A specific disclosure next to each box.
- A privacy policy that says mobile data isn't shared.
- A plain-text confirmation message.
- Your own record of what each person agreed to.
Get those right and 10DLC registration has much less to object to. Most approvals take 2 to 7 days, and Ready handles the registration in-app.
If your forms are ready and you want to see how registration reads your opt-in flow, you can sign up. Your first 20 one-to-one texts are free, so use them to test your confirmation message before you register.