30924: Campaign rejected: Missing or non-compliant consent agreement language in opt-in flow
Your A2P 10DLC campaign was rejected because the opt-in flow you provided doesn't contain compliant consent agreement language. Carriers require that consumers are clearly informed about what types of messages they will receive, the frequency of messages, and how to opt out before they provide consent. Your submitted opt-in evidence is either missing this language entirely or the language present does not meet TCPA and CTIA compliance requirements.
- Missing consent disclosure: The opt-in flow does not include language informing the consumer about the nature of the messages they will receive.
- No frequency disclosure: The opt-in does not state the expected message frequency (for example, "Up to 5 messages per month").
- Missing opt-out instructions: The consent language does not include instructions on how to stop receiving messages (for example, "Reply STOP to unsubscribe").
- No "message and data rates may apply" disclosure: The opt-in is missing the standard rate disclosure language.
- Add compliant consent language to your opt-in flow that includes: (1) the type of messages the consumer will receive, (2) message frequency, (3) "Message and data rates may apply," and (4) opt-out instructions such as "Reply STOP to unsubscribe."
- Review CTIA guidelines for short code and messaging compliance to ensure your consent language meets industry standards.
- Provide a screenshot or URL showing the complete consent language as it appears to the consumer at the point of opt-in.
- Consult the registration guide: A2P 10DLC Campaign Registration Best Practices
- Contact support if you believe this rejection is incorrect: Twilio Support.
Run through this list before submitting or resubmitting your campaign:
- The opt-in flow includes a clear statement of what types of messages the consumer will receive.
- Message frequency is disclosed (for example, "Message frequency varies" or "Up to 5 messages per month").
- The disclosure includes "Message and data rates may apply."
- Opt-out instructions are present (for example, "Reply STOP to unsubscribe").
- If opt-in happens on a website, the consent language appears at or immediately adjacent to the consent control (checkbox, button) — not buried in a linked document.
- If opt-in happens via keyword, the
opt_in_messageauto-reply includes all four required disclosures: message type, frequency, rates, and opt-out instructions. - You have provided a public URL or hosted screenshot showing the complete consent language as it appears to the consumer.
Warning
The following opt-in flow would be rejected:
Checkbox label: I agree to the Terms of Service.
No mention of SMS messaging, frequency, rates, or how to opt out. General Terms of Service acceptance does not constitute messaging consent.
Info
The following opt-in flow would pass review:
Checkbox label: I agree to receive recurring promotional text messages from Acme Co. Message frequency varies. Message and data rates may apply. Reply STOP to unsubscribe. Terms: www.acme.com/terms. Privacy: www.acme.com/privacy.
Passes because the consent language at the checkbox explicitly covers message type, frequency, rates, and opt-out — all visible before the consumer takes action.
Warning
The following consent language would be rejected:
By checking this box you agree to receive text messages from Acme Co. Reply STOP to cancel.
Has opt-out instructions but is missing message frequency and the "message and data rates may apply" disclosure.
Info
The following consent language would pass review:
By checking this box you agree to receive recurring text messages from Acme Co. Message frequency varies. Message and data rates may apply. Reply STOP to cancel.
Passes because it includes all four required elements: message type (recurring text messages), frequency, rates, and opt-out.
Edit the rejected campaign rather than deleting and recreating it. A vetting fee is assessed only once per campaign, so resubmitting the same campaign avoids a new fee.
- Console: go to Messaging > Regulatory Compliance > Campaigns, click the failed campaign, then click Edit Campaign to correct the fields and resubmit.
- API: update the campaign resource with corrected field values. See Troubleshooting and rectifying A2P Campaigns for detailed instructions.