To let customers sign up for text alerts, give them a way to opt in (a keyword they text, a checkbox on a web form, or a sign-up at the counter), then send an immediate confirmation that says who you are, what you'll send, how often, and how to stop. Send all of it from a registered 10DLC number, because carriers filter unregistered business traffic.

This guide covers each opt-in method, the confirmation message carriers expect, which SMS alerts are worth sending, and how to launch on a registered number in Ready. It also includes the math on what a typical alerts list costs to run. It applies to any business that wants a text message alert program, including retail, restaurants, service companies, clinics, schools and gyms.

Why opt-in is the whole game

A text alert program is only as good as its consent. Carriers review your opt-in flow during 10DLC campaign registration and they check it again when filtering messages. Under the TCPA, a text sent without proper consent can expose you to $500 to $1,500 per message.

Before you build anything, two points matter.

  • You own the consent record. Ready records the sender's opt-in attestation on every bulk send and every API send that sets consent_attested: who sent it, to how many people, and when. That gives you an audit trail of your sends. It is not a per-contact consent record. Ready does not store each subscriber's opt-in time, the wording they agreed to, or the page they signed up on, and a keyword reply does not create that record either. Your form, POS or CRM has to keep it. (A contact who signs up on a Ready-hosted opt-in page is the exception: Ready stores that sign-up, with the time, IP address and exact wording, and support@tryready.com can send you a copy.)
  • Alerts are not a cold-contact channel. Text alerts go to people who asked for them. If you want to reach people who haven't opted in, use phone or mail.

How customers sign up for text alerts: three entry points

Most businesses use two or three of these methods. Each one needs the same disclosure language, which is covered in the next section.

1. Keyword opt-in ("Text ALERTS to...")

The customer texts a keyword such as ALERTS or JOIN to your number. This is the easiest method to promote on a poster, receipt, sign or social post.

What to set up:

  1. Pick a short keyword with no ambiguous spelling. ALERTS works well. A keyword like ALRTZ will cause typos.
  2. Print the full disclosure next to the call to action, not just "Text ALERTS to 555-0100."
  3. Set the confirmation as an automated reply to that keyword, so the subscriber gets it within seconds.
  4. Log the opt-in (phone number, timestamp, keyword, and the wording that was displayed) in your own system.

2. Web form checkbox

Add a phone field and an unchecked consent checkbox to your checkout, account page or a standalone "Get text alerts" form. Put the consent wording right next to the box. Store the timestamp, the page URL and the exact wording with the contact.

If you're a developer wiring this into your own app, send the confirmation through the API as soon as the form posts:

POST https://api.tryready.com/v1/messages
X-API-Key: <your key>
Idempotency-Key: 3f6c2a1e-8b7d-4c1a-9e2f-0d5b6a7c8e91
Content-Type: application/json

{"to": "+12125550199", "body": "Harbor Hardware: You're signed up for order and store alerts. Up to 4 msgs/mo. Msg & data rates may apply. Reply HELP for help, STOP to cancel.", "consent_attested": true}

consent_attested: true is your promise that this person agreed to receive texts, so only set it after the checkbox is actually checked. The Idempotency-Key makes sure a retried request never sends twice. Full reference: docs.tryready.com/api/messages.

3. In-person sign-up

This covers a tablet at the counter, a clipboard, or staff asking at checkout. It works, but it is where consent records most often go missing. Use a written or on-screen form that shows the full disclosure and captures the customer's own entry of their number. Don't rely on staff typing in numbers from memory, and don't add numbers you happened to collect for something else, such as a delivery address.

The disclosure and the confirmation message

Carriers look for the same elements everywhere you collect a number, and again in the first text you send.

At the point of sign-up, show:

  • Your business name
  • What you'll send (for example "order updates, closures and offers")
  • Message frequency ("up to 4 msgs/mo" or "frequency varies")
  • "Msg & data rates may apply"
  • How to stop (STOP) and get help (HELP)
  • Links to your terms and privacy policy

The confirmation text repeats the essentials:

Harbor Hardware: You're signed up for order and store alerts. Up to 4 msgs/mo. Msg & data rates may apply. Reply HELP for help, STOP to cancel.

That message is 143 characters of plain GSM text, so it fits in one segment. Adding a celebratory emoji drops the limit to 70 characters (67 per part once a text splits), which turns it into 3 segments. You would pay three times for every confirmation just for a decoration. Ready swaps curly quotes, long dashes and ellipses for plain characters before sending, so those don't inflate the count, but an emoji still will.

STOP handling is automatic in Ready. An inbound STOP or UNSUBSCRIBE is honored and propagates across campaigns, so that contact can't be texted again by mistake. Sends to opted-out numbers are refused up front and aren't charged.

What alerts to send (and how to register for them)

Here are the common alert types, the message pattern for each, and how each one fits into registration.

Alert typeExampleTypical lengthRegistration fit
Order / shipping"Order #1042 has shipped. Track: [link]"1 segmentTransactional / account notifications
Service / appointment"Your tech arrives 1 to 3 PM tomorrow. Reply C to confirm."1 segmentCustomer care / notifications
Weather or closure"Closed today due to ice. Reopening 10 AM Wed."1 segmentNotifications / public service
Offers / promos"20% off paint this weekend. Show this text."1 to 2 segmentsMarketing

Mixing offers in with operational alerts matters at registration. If you send promos, your campaign has to cover marketing. Registering as notifications-only and then sending coupons is a common way to get filtered after approval. We cover this in detail in matching your use case to what you actually send. If messages are getting through registration but still disappearing, the cause is usually content rather than the registration itself; see why approved campaigns still get filtered.

A note on timing for urgent alerts

Ready enforces quiet hours based on the recipient's area. A send outside permitted local hours is held and goes out later, and it's charged only when it sends. That protects you, but it also means a 6 AM "we're closed for snow" alert may not go out at 6 AM. For predictable closures, send the alert the evening before. Otherwise, plan for the alert to arrive once the permitted window opens. 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.

Throughput matters too. A fresh standard campaign usually gets roughly 1 to 4 segments per second. At an assumed 2 segments per second, a one-segment closure alert to 2,000 subscribers takes about 1,000 seconds, or roughly 17 minutes to fully go out. T-Mobile also applies a daily brand cap based on trust score, around 2,000 messages a day at the lowest tier. A list that grows past that usually calls for brand vetting ($79 Standard or $179 Enhanced, one-time). Most small alert lists never get near that cap.

Launching on a registered number in Ready

Here is the sequence from signup to your first alert:

  1. Create an account at tryready.com/signup and add a card. To send, you add a card and get a number, which is $2 a month with the first month charged when you get it.
  2. Buy a number. If you want a local area code, pick one here.
  3. Use your 20 free texts before you register. They are one-to-one sends, so use them to test your confirmation and HELP replies on your own phones. The free texts end the moment you pay for registration.
  4. Submit brand and campaign registration in-app. Use your real opt-in wording and sample messages for every alert type you plan to send. The charge at submit is $25 for the first month, and there's no setup fee. After that, it's $25/mo for registration and $2 per number. Most approvals take 2 to 7 days. If you bought your number before registering, you can send on Ready's shared registration at your normal per-text rate while yours is in review. Before registering, an account can send up to 500 texts a month. Background on all of this: what 10DLC is.
  5. Import only opted-in contacts, then send your first campaign from the registered number.

Teams on GoHighLevel can install Ready natively and run the same flow there, with messages syncing both ways. Developers can follow the quickstart.

What a text alert program costs: a worked example

Assumptions: 2,000 subscribers, 4 one-segment alerts a month, a 10% reply rate on each alert, and one number.

  • Outbound: 2,000 × 4 × 1 = 8,000 segments
  • Replies: 800 segments. Replies are billed like sent texts.
  • Total: 8,800 segments × $0.0075 = $66 plus 8,800 × $0.0045 in carrier fee
  • Registration: $25/mo for registration and $2/mo per number

Ready's all-in prices per segment include the carrier fee but not screening: Scrub lists and Number validation, the two switches in Settings under Compliance, each add $0.003 per segment when switched on, shown as screening on your bill, and both are off by default. Unless you turn the opt-out footer off, the first text to each contact, and one again from time to time, also gets "Reply STOP to opt out" and your business name if the message does not already have them, so a text close to the segment limit can bill one more segment.

Local presence has a listed price of $0.0015 for each segment of a delivered text.

Raw carrier APIs like Twilio are cheaper per segment than the $0.0075 Standard rate. What you get with Ready is registration handled in-app, quiet hours, STOP propagation, the inbox and the CRM, with no need to build those yourself. For a full cost breakdown, see every 10DLC fee explained.

The short version

Pick your entry points (keyword, form, counter). Show the full disclosure at each one. Send a one-segment confirmation right away. Keep your own consent records. Register a campaign that matches every alert type you'll actually send. If you want to try the setup, create an account, test your confirmation with the free texts, and register when your wording is final.

FAQ

What do I need to say when people sign up for text alerts? Your business name, what you'll send, how often, "Msg & data rates may apply," and how to opt out (STOP) and get help (HELP), with links to your terms and privacy policy.

Can I add customers who gave me their number at checkout? Only if they agreed to texts at that point, with disclosure shown. A phone number given for a receipt or delivery is not consent to SMS alerts.

Does Ready store my subscribers' consent? Not for most contacts. Ready records your attestation on each bulk send and each API send that sets consent_attested, which tells you who sent, to how many, and when. For everyone else, keep the per-subscriber record (opt-in time, wording and page) in your own form, POS or CRM. (A contact who signs up on a Ready-hosted opt-in page is the exception: Ready stores that sign-up, with the time, IP address and exact wording, and support@tryready.com can send you a copy.)

Can I send text alerts before registration is approved? Yes, within limits. An account can send up to 500 texts a month before registering. If you bought your number first, you can send on Ready's shared registration while yours is in review. Most approvals take 2 to 7 days.

Should I use emojis in alerts? Sparingly. One emoji cuts the segment limit from 160 to 70 characters, so a 140-character alert with an emoji costs 3 segments instead of 1.