Skip to content
  • There are no suggestions because the search field is empty.

Building a Keyword Opt-In Service in Telerivet

How to build a keyword opt-in and opt-out service, grow your subscriber list, and manage unsubscribes automatically.

Telerivet's keyword opt-in service lets contacts subscribe or unsubscribe from your messaging program by texting a word, adds them to a named group automatically, and blocks opted-out contacts from receiving messages until they actively re-subscribe. You have a route connected and contacts in your project. The next step is building something that actually runs on its own: a service that grows your subscriber list, handles opt-outs, and does both without anyone manually managing a spreadsheet. It is simple enough to set up in under 30 minutes, and the moment a contact texts your keyword and gets a reply, you have a complete, working automation loop.
add services telerivet opt in opt outWhat this service does
The Opt-In / Opt-Out Keywords service listens for incoming messages that match keywords you define. When someone texts a subscribe keyword, they are added to your subscriber group, unblocked for outgoing messages, and sent an automatic confirmation reply. When they text an unsubscribe keyword, the reverse happens: they are moved to an unsubscribers group and blocked from receiving further messages until they opt back in.

This is the foundation that everything else builds on. Campaigns, drip sequences, and broadcast messages all send to groups. This service is what populates those groups cleanly, with consent attached to each contact.

Choosing your keywords and naming your subscriber group

Your subscribe keywords are what you print on packaging, display at a point of sale, or put at the bottom of a social media post. They need to be short, obvious, and easy to type on a mobile keyboard.

The default template uses START and YES as subscribe keywords, and STOP, UNSUBSCRIBE, and CANCEL as unsubscribe keywords. In practice, most organizations customize the subscribe keyword to reflect their brand or campaign while keeping the unsubscribe keywords close to industry defaults, since STOP is widely recognized across SMS markets.

Before you save the service, rename the subscriber group from the default "Subscribers" to something that reflects what this list actually is. If you are running a loyalty program, call it "Loyalty Members." If it is a product-specific campaign, call it "Cold Brew Subscribers" or "Promo June 2026." The group name is how you will find and target this list later, and a generic name gets confusing fast once you have more than one active campaign.

The unsubscribers group is mostly a compliance and blocking mechanism. Its name matters less. Keep the default or give it something neutral like "Opted Out."

Building segmented lists from the start

One of the most useful things you can do with this service is run multiple keywords, each pointing to a different subscriber group. This is not a workaround. It is how the service is designed to work, and it means your list is already segmented by the time contacts arrive in it.

A beverage brand running a loyalty campaign might use JOINCOFFEE and JOINTEA as separate keywords, each feeding a different group. A retailer with multiple locations might use NORTHTEAM and SOUTHTEAM. An NGO running programs across two regions might use ENROLL1 and ENROLL22. Each group can then be targeted independently for campaigns, without any manual sorting after the fact.

To set this up, create one service per keyword-group pair. Each service handles its own subscribe confirmation reply, so you can also tailor the welcome message to the specific list the contact just joined.

A few things to keep in mind across all keyword configurations:

  • Keep subscribe keywords to one word, eight characters or fewer. The more effort it takes to type, the lower your opt-in rate.
  • Keywords are matched against the first word of the incoming message and matching is case-insensitive. A contact who texts "join coffee now" will match a JOIN COFFEE keyword.
  • Unsubscribe keywords should be consistent across all your services. A contact who texts STOP should be opted out regardless of which list they originally joined.

What happens when someone opts out

When a contact sends an unsubscribe keyword, Telerivet does three things automatically: it moves them from the Subscribers group to the Unsubscribers group, sends them a confirmation reply, and blocks outgoing messages to that contact. The block is enforced at the contact level, not the group level.

This matters because it means the opt-out holds even if the contact later gets added to a different group or included in a campaign segment by accident. Until the contact actively re-subscribes by texting a subscribe keyword again, no outgoing messages will reach them. The system is protecting you from inadvertent re-engagement with someone who has explicitly asked to stop hearing from you.

This behavior is directly relevant to compliance requirements in markets that regulate commercial SMS. In the United States, TCPA rules require that opt-out requests be honored promptly and that the opt-out mechanism be disclosed in your messages. In the Philippines, consent and opt-out documentation requirements apply to commercial messaging programs. Telerivet's blocking behavior handles the enforcement side; your confirmation reply text and the keyword you advertise handle the disclosure side.

The service also records the subscribe date to a contact field (contact.vars.subscribe_date) automatically. This timestamp is useful for compliance records and is also what powers follow-up sequences keyed to subscriber tenure, such as a welcome message sent three days after sign-up.

Sending to your subscriber list

Once the service is live, contacts who opt in are added to your subscriber group automatically. That group is what you target when you send a broadcast or set up a drip campaign. The service and the campaign are separate pieces: the service manages who is in the list, and the campaign sends to it.

For a straightforward first send, Understanding Messaging in Telerivet covers the difference between a broadcast and a campaign and when to use each. If you want to send a follow-up message automatically a set number of days after someone subscribes, that is a relative campaign using the subscribe date field the service captures. See the User Guide: Relative Scheduled Messages for setup steps.

Testing before you go live

Before turning the service on, use the Test Service button to simulate an incoming message. Enter the subscribe keyword and confirm that the contact would be added to the correct group and that the confirmation reply text reads the way you intend. Do the same for an unsubscribe keyword and confirm the blocking action appears in the flow.

If you have multiple services active in the same project, check the Services page to confirm the ordering. Telerivet runs services in priority order when an incoming message arrives. The Trigger Condition setting on this service defaults to "skip if another service already handled the message," which is the right setting for most projects. See Getting Started with Automated Services for more on how service ordering works.

Frequently asked questions

Can I use different keywords to build separate subscriber lists? Yes. You can create one service per keyword-group pair, each pointing to a different subscriber group. A campaign running JOIN COFFEE and JOIN TEA as separate keywords will populate two independent groups that you can target separately. Each service also sends its own confirmation reply, so you can tailor the welcome message to the specific list the contact joined.

What happens if a contact who opted out ends up in a campaign segment? Telerivet enforces the opt-out at the contact level, not the group level. A contact who sent an unsubscribe keyword is blocked from receiving outgoing messages regardless of which groups they belong to or which campaigns they are included in. The block holds until the contact actively re-subscribes by texting a subscribe keyword again.

Does Telerivet record when a contact opted in? Yes. The service automatically writes the subscription timestamp to a contact field called contact.vars.subscribe_date. This field can be used for compliance records and also as the trigger for time-based follow-up sequences, such as a welcome message sent a set number of days after sign-up.


Best practice tip

Write your confirmation reply as a complete disclosure, not just an acknowledgment. "You're subscribed to [Program Name] updates. Expect 2 to 4 messages per month. Text STOP to unsubscribe. Msg and data rates may apply." takes one message and covers the information a contact needs to feel confident about what they signed up for. Vague confirmation replies ("You're subscribed!") generate more follow-up opt-outs when the first campaign arrives and the contact does not recognize what they signed up for. The extra detail costs nothing and builds the trust that keeps people on the list.

For help designing a contact acquisition flow for your specific program, including multi-keyword campaigns, double opt-in sequences, or segmentation logic tied to subscribe keywords, our Solution Engineers can help. Get in touch.