Skip to contentSkip to navigationSkip to topbar
Page toolsOn this pageProducts used
Looking for more inspiration?Visit the
Error
Application error

30925: Campaign rejected: Opt-in must be unchecked by default; active consent required

Twilio Messaging DocumentationMessaging
Twilio Phone Numbers DocumentationPhone Numbers

Description

description page anchor

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.

Possible causes

possible-causes page anchor
  • 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_flow and 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.

Pre-submission checklist

pre-submission-checklist page anchor

Run through this list before submitting or resubmitting your campaign:

  • 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.
  • The consent control label or adjacent text includes: message type, frequency, "message and data rates may apply," and opt-out instructions.
  • If the opt-in flow is behind a login or not yet public, you have hosted screenshots showing the unchecked default state and the consent language on a publicly accessible URL.
  • The message_flow references the URL where reviewers can verify the consent control.

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 and can take up to several weeks.
  • Check status: Monitor your campaign status in Console > Messaging > Regulatory Compliance > Campaigns, or fetch the UsAppToPerson resource and check the campaign_status field.

To resubmit in Console, go to Messaging > Regulatory Compliance > Campaigns, click the failed campaign, then click Edit Campaign to correct the fields and resubmit. To resubmit via API, update the campaign resource with corrected field values. See Troubleshooting and rectifying A2P Campaigns for detailed instructions.