30925: Campaign rejected: Opt-in must be unchecked by default; active consent required
Your A2P 10DLC campaign was rejected because the opt-in flow you provided does not show clear, affirmative consent for messaging. For website-based opt-in, the consumer must actively choose to receive messages. A checkbox or similar consent control cannot be pre-selected by default.
- Your web form does not include a separate consent control for the consumer to actively opt in to messaging.
- The messaging consent checkbox or toggle is pre-selected, so the consumer is opted in by default.
- Your form only captures acceptance of general Terms of Service or Privacy Policy and does not capture separate consent to receive messages.
- Your submission does not provide enough publicly accessible evidence of the opt-in flow, such as a live page or hosted screenshots.
- Add a separate checkbox or similar control for messaging consent. Leave it unchecked by default and require the consumer to actively select it.
- Keep messaging consent separate from acceptance of general Terms of Service or Privacy Policy.
- If you collect opt-in on a website, include the website URL in your campaign
message_flowand make sure the site includes publicly accessible Terms of Service and Privacy Policy links. - Make sure your privacy policy includes the required messaging disclosures, including non-sharing of mobile numbers, message frequency, and a "message and data rates may apply" disclosure.
- If the opt-in flow is behind a login or is not yet public, host screenshots of the form and consent language on a publicly accessible URL and submit that evidence when you resubmit the campaign.
Run through this list before submitting or resubmitting your campaign:
message_flownames every opt-in method used for this campaign (website, keyword, paper form, verbal, QR code, or other mechanism).- At each point of opt-in, the consent language identifies the brand and states the message type.
message_flowdescribes that consent language. - In the Legacy Console and the Twilio Console at
1console.twilio.com,message_flowincludes a link to your privacy policy and a link to your terms and conditions. If you use the API, set theprivacy_policy_urlandterms_and_conditions_urlfields. - Your privacy policy states that mobile numbers are not shared with third parties, includes message frequency, and includes a "message and data rates may apply" disclosure.
- If opt-in happens on a website, the URL is publicly accessible. If it is not public, you have provided a URL with hosted screenshots of the full consent flow.
- If end users opt in by texting a keyword,
opt_in_keywordsandopt_in_messageare populated. Theopt_in_messageincludes the brand name, confirmation of enrollment, message frequency, and opt-out instructions. - If the campaign uses multiple opt-in paths, all paths are described in the same
message_flowfield. - Sample messages match the declared use case, identify the brand by name, and include opt-out language.
- The consent language includes customer-support instructions such as "Reply HELP for help."
- The messaging consent checkbox or toggle is unchecked by default — the consumer must actively select it.
- Messaging consent is captured by a separate control, not bundled with general Terms of Service or Privacy Policy acceptance.
Warning
The following opt-in flow would be rejected:
A form where the "Send me text updates" checkbox is checked by default when the page loads. The consumer can uncheck it, but consent is assumed unless they act.
Pre-selected consent does not meet TCPA or CTIA requirements. The consumer must take an affirmative action to opt in.
Info
The following example shows active messaging consent:
A form where the "I agree to receive recurring promotional text messages from Acme Co. Message frequency varies. Msg & data rates may apply. Reply STOP to unsubscribe. Reply HELP for help." checkbox is unchecked by default. The consumer must actively check the box before submitting the form.
Consent requires an affirmative action because the checkbox starts unchecked and the consumer deliberately selects it. This example does not guarantee approval.
Warning
The following opt-in flow would be rejected:
A single checkbox labeled: I agree to the Terms of Service and Privacy Policy.
Even if the Terms of Service mention SMS messaging, a single general-purpose checkbox does not capture separate, affirmative messaging consent.
Info
The following example keeps messaging consent separate:
Two separate checkboxes:
I agree to the Terms of Service and Privacy Policy.(required for account creation)I agree to receive recurring promotional text messages from Acme Co. Message frequency varies. Msg & data rates may apply. Reply STOP to unsubscribe. Reply HELP for help.(unchecked by default, optional)
Messaging consent is captured by a dedicated control that is unchecked by default and includes the required disclosures. This example does not guarantee approval.
Edit the rejected campaign rather than deleting and recreating it. Resubmitting triggers a fresh review by The Campaign Registry (TCR).
- Vetting fee: A vetting fee is assessed only once per campaign. Resubmitting the same campaign does not incur a new fee.
- Timeline: Sole Proprietor campaigns are typically approved or rejected within hours to days. Standard campaigns go through several layers of vetting, which takes up to 5 business days for standard use cases.
- Check status: In the Legacy Console, go to Messaging > Regulatory Compliance > Campaigns. In the Twilio Console at
1console.twilio.com, open A2P 10DLC Campaigns. You can also fetch the UsAppToPerson resource and check thecampaign_statusfield.
To resubmit in the Legacy Console, go to Messaging > Regulatory Compliance > Campaigns, click the failed campaign, then click Edit Campaign to correct the fields and resubmit. API-based campaign updates require access to the relevant Private Beta. Without access, API customers can delete and recreate the campaign, but the replacement campaign incurs a new vetting fee. See Troubleshooting and rectifying A2P Campaigns for detailed instructions.