Texting keywords are short words like JOIN or DEALS that a person texts to your business number to opt in, and your system answers with a confirmation that makes the subscription official. A few keywords, STOP and HELP above all, are reserved: every sender has to honor them, whatever else the program does.

This guide covers the full flow from start to finish. It explains how a text-to-join opt-in works, which words you can't use, what the confirmation message has to say, and how much the exchange costs per subscriber. It also says plainly which parts Ready handles for you and which parts you build yourself.

How a text-to-join flow works, step by step

A keyword opt-in has four parts, and if any one is missing the program is weak on compliance:

  1. The call to action. A sign, receipt, web page or QR code says something like "Text DEALS to (555) 010-0199 for weekly offers. Msg & data rates may apply. Reply STOP to cancel." The disclosure belongs next to the keyword, not hidden on a terms page.
  2. The inbound keyword. The person sends "DEALS". Match the word case-insensitively and trim spaces, because people type "deals ", "Deals" and "DEALS!".
  3. The confirmation. Your system replies right away with the program name, how often you'll text, the rates disclosure and the HELP and STOP instructions.
  4. The record. You store who opted in, which keyword they used, which call to action they saw and when. That record is your evidence if anyone disputes consent later.

You can also add an optional fifth step called double opt-in. The confirmation asks "Reply Y to confirm," and the contact only joins the list after they reply Y. This costs you an extra exchange per subscriber and loses some people who never reply. In return you get a much stronger consent record. If you send marketing in a category that tends to attract complaints, double opt-in is usually worth the cost.

To get more people into the flow without them typing the number, an sms: link can pre-fill both the number and the keyword. Our guide on how to create an SMS link shows the syntax for iPhone and Android.

Reserved words: STOP, HELP and the rest

The industry's messaging principles, which carriers enforce, set aside two groups of words. Don't use either group as a marketing keyword.

GroupWordsWhat has to happen
Opt-outSTOP, STOPALL, UNSUBSCRIBE, CANCEL, END, QUITStop texting that person and send one final confirmation that they're unsubscribed
HelpHELP, INFOReply with your business name, how to get support, and how to opt out
Opt back inSTART, UNSTOPResume texting a person who previously opted out

Two practical notes:

  • Match loosely on opt-outs. Someone who texts "stop texting me" or "Stop." clearly wants out. Treat anything close to an opt-out word as an opt-out. A complaint costs far more than one lost subscriber.
  • Don't build keywords that sit close to reserved words. "STOPBY" for an open house invites a mismatch in both directions.

On Ready, STOP and UNSUBSCRIBE are handled automatically. The opt-out applies across every campaign, so that contact can't be messaged again from any of them. A send to an opted-out number is refused before it goes out and isn't charged. Through the API you can check status with GET /v1/opt-outs or GET /v1/opt-outs/:phone. Ready replies to HELP automatically with your registered HELP message for contacts you have texted before. A HELP from a number you have never texted gets no automatic reply today, so your keyword confirmation should carry the HELP and STOP instructions.

What the confirmation message has to say

The confirmation does the most compliance work of any message in the flow. A good one contains:

  • Program name, so the person knows who they just subscribed to.
  • Message frequency, for example "up to 4 msgs/month" or "recurring".
  • "Msg & data rates may apply."
  • HELP and STOP instructions.
  • Optionally, a link to your terms or privacy page.

Here is an example that fits in one segment:

Harbor Coffee: You're in for weekly deals, up to 4 msgs/mo. Msg & data rates may apply. Reply HELP for help, STOP to cancel.

That comes to about 125 characters of plain text, which is 1 GSM-7 segment (the limit is 160).

Watch the emoji

Suppose you add a coffee cup emoji and stretch the message to 150 characters. Any emoji switches the whole message to unicode. The single-segment limit drops to 70 characters, and multipart segments hold 67 each. A 150-character message therefore becomes 3 segments (67 + 67 + 16) instead of 1, so you pay 3x on every confirmation for one decorative character. Ready swaps curly quotes, long dashes and ellipses for plain ones before sending, so those characters won't inflate your count. An emoji still will.

Don't lead with a link

A link in the very first text to a new contact is a common filtering trigger. Keep the confirmation link-free, or limit it to your terms page on your own domain. Save promotional links for later messages. We explain why in the two-message warmup carriers reward.

Texting keywords examples you can adapt

Pick keywords that are short, easy to spell and hard to mistype. Avoid words where people confuse O with 0 or l with 1, and don't use more than one word.

BusinessKeywordCall to actionConfirmation should mention
Restaurant or cafeDEALSTable tent: "Text DEALS for weekly offers"Weekly frequency, STOP/HELP
Gym or studioCLASSFront desk sign for schedule changes"Schedule alerts, as needed"
Real estate open houseStreet name (e.g. ELM)Yard sign riderProperty name, agent name, frequency
Retail or ecommerceVIPReceipt, packing insertOffer frequency, rates disclosure
SaaS productBETAIn-app bannerProduct updates only, frequency
Event or venueEvent nameTicket email, stage screenEnd date of texts, STOP/HELP

Using one keyword per call to action shows you which sign, receipt or page actually produced subscribers. If DEALS on the table tents brings in 300 people and VIP on the receipts brings in 40, you know where to spend the next printing budget. For more on growing a list the right way, see how to build an SMS marketing list.

Two exceptions need extra steps. If you're a nonprofit planning to text donation appeals, or a campaign planning to text voters, email support@tryready.com before the first appeal and wait for our reply. Signing up and registering is not enough on its own for those uses.

Keyword opt-ins and 10DLC registration

On a standard 10-digit business number, carriers want to know your opt-in method before you send at scale. Your 10DLC campaign registration asks how people opt in, which keywords they use, and what your opt-in, opt-out and HELP replies say. If those answers are vague, or don't match what you actually send, the campaign gets rejected. Our post on decoding a 10DLC rejection and resubmitting covers the most common fixes.

On Ready, registration happens in the app:

  • Cost: no setup fee. The charge when you submit is the first month, $25. After that the monthly cost is $25/mo for registration, and $2 per number.
  • Timing: most approvals take 2 to 7 days.
  • While you wait: an account can send up to 500 texts a month before it registers, at its normal per-text rate. An account that bought its number before registering sends on Ready's shared registration at the same rate while its own registration is in review.

Keyword programs have historically run on short codes. Ready sends from registered 10-digit numbers, not short codes. If your plan depends on a short code, Ready isn't the right fit for that piece.

Building the flow on Ready (and what you build yourself)

Ready handles the opt-out side automatically. That covers STOP handling, opt-out propagation and quiet-hours holds. Litigator and DNC scrubbing are also available when you switch them on.

The join side you set up yourself. Without code, a Keyword reply automation in the Ready app starts when a contact texts your keyword and sends the confirmation. With the API instead, you catch the inbound keyword, send the confirmation and store the consent record: you read inbound messages from GET /v1/messages, and webhooks are covered in the webhooks docs. Then you send the confirmation like this:

POST https://api.tryready.com/v1/messages with header X-API-Key: <key>, an Idempotency-Key header set to any UUID, and the body:

{"to": "+12125550199", "body": "Harbor Coffee: You're in for weekly deals, up to 4 msgs/mo. Msg & data rates may apply. Reply HELP for help, STOP to cancel.", "consent_attested": true}

The idempotency key matters here. If your webhook handler retries a request, the subscriber still gets only one confirmation.

There are two things you should know before you rely on this flow:

  • Ready doesn't keep the per-contact consent record. Ready records your attestation on each send: who sent, to how many and when. A keyword reply doesn't create a consent record for that contact, and Ready stores no opt-in time, wording or page for them. Your own database has to keep that information. (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.)
  • Quiet hours apply differently to the two paths. A confirmation your code sends through the API goes out right away, even at 11 PM, because the contact texted you in the last 24 hours. A confirmation from a Keyword reply automation is held until texting opens in the subscriber's area, for up to 24 hours, and it's charged only when it sends.

The quickstart guide walks through keys and a first send.

What a keyword opt-in costs per subscriber

On Ready, inbound replies are billed the same way as sent texts. A keyword opt-in is therefore an exchange of at least two segments. The Standard rate is $0.0075/segment plus a $0.0045 carrier fee per segment.

Worked example (assumptions: 1,000 people text DEALS, each keyword is 1 segment, and the confirmation is the 1-segment version above):

  • Segments: 1,000 inbound + 1,000 confirmations = 2,000 segments
  • Ready rate: 2,000 × $0.0075 = $15
  • Carrier fees: 2,000 × $0.0045
  • The all-in total is $15 plus those carrier fees. It excludes the compliance surcharge. Scrubbing and landline validation each add $0.003 per segment when switched on for an account, and both are off by default.

Now change one thing: use the 3-segment emoji confirmation instead. The count becomes 1,000 + 3,000 = 4,000 segments, so the Ready rate alone rises to $30. Adding double opt-in costs roughly two more segments per subscriber: their Y reply and your welcome text.

The first 20 texts on a new account are free, and they're one-to-one sends. That makes them enough to test your keyword flow with a few phones before you go live. Use them before you register, because the free texts end once a registration is paid for. To send, you add a card and get a number, which is $2 a month with the first month charged when you get it.

The practical takeaway

A keyword program needs only a few pieces. You need a clear call to action with the disclosure beside it and one keyword per channel. You need a confirmation that names the program, states the frequency and tells people about HELP and STOP. You need consent records kept in your own system. Keep the confirmation under 160 plain characters, avoid reserved words, and register your opt-in method before you scale.

If you want the STOP handling, quiet hours and 10DLC registration handled for you, you can sign up for Ready and test the flow with your first 20 texts.

FAQ

What are texting keywords?

They are short words a person texts to a business number to trigger an action. The most common action is opting in to a list. Reserved keywords like STOP and HELP trigger an opt-out or a help reply.

Can I use STOP or HELP as a marketing keyword?

No. STOP, UNSUBSCRIBE, CANCEL, END, QUIT and STOPALL must always opt the person out, and HELP and INFO must always return support details. Pick keywords that aren't close to any of them.

Do I need double opt-in for keyword sign-ups?

It isn't always required. Double opt-in still gives you a stronger consent record and filters out accidental sign-ups. The tradeoff is one extra exchange per subscriber and some drop-off from people who never reply.

Does Ready keep a consent record when someone texts my keyword?

No. The keyword text itself stays in the conversation and in GET /v1/messages, and Ready records your attestation on each send, but neither is a per-contact consent record. Store the opt-in time, keyword and source in your own system.

Do keyword programs need 10DLC registration?

Yes. Ongoing texting from a 10-digit business number needs a registered campaign, and that registration asks for your opt-in method and keywords. On Ready, most approvals take 2 to 7 days.