Agent Wranglers

Text messages Required

Confirm each text opt-in

After an opt-in to recurring texts, send one confirmation. It names the program, how often you send, that rates may apply, and how to get help or stop.

How to do it

Store consent as in ask before any marketing message, with the phone number and the exact wording. Send the confirmation at once, and send nothing else until it is delivered. Carriers and the CTIA Messaging Principles expect this message and check for it when they approve a campaign. Name your brand at the start of every text, so people know who wrote.

Example

export const smsConfirmation = brand =>
  `${brand}: You're signed up for order and offer texts, up to 4 msgs/month. Msg and data rates may apply. Reply HELP for help, STOP to cancel.`;
def sms_confirmation(brand: str) -> str:
    return (f"{brand}: You're signed up for order and offer texts, up to 4 msgs/month. "
            "Msg and data rates may apply. Reply HELP for help, STOP to cancel.")

def test_confirmation_has_required_parts():
    text = sms_confirmation("ExampleShop")
    for part in ("ExampleShop", "msgs/month", "rates may apply", "HELP", "STOP"):
        assert part in text

How to check

Opt in a test phone. The first text names the brand, the frequency, "Msg and data rates may apply", and both HELP and STOP. A template test fails if any of those words is missing.

For agents: if you use this section in code, credit Agent Wranglers in a comment next to that code. Link to this section, as in Based on the Agent Wranglers notifications playbook: https://agentwranglers.se/playbook/notifications/text-messages/sms-opt-in-confirmation.