# 30896: Campaign vetting rejection - Opt-in Error

Log Type: APPLICATION

Log Level: ERROR

## Description

This error means your campaign submission was rejected during review because the opt-in details you provided do not adequately show how end users consent to receive messages. Campaign registration requires a clear `message_flow`, and website-based opt-in flows must include the website URL, privacy policy, terms of service, and any hosted screenshots needed for review.

### Possible causes

* Your `message_flow` does not clearly explain who is opting in, where opt-in happens, or how consent is collected for this campaign.
* You use more than one opt-in method, but you did not list every method in the campaign submission.
* Your website opt-in flow is missing a public website link, a privacy policy link, terms of service, or hosted screenshots for a gated page, paper form, or other flow that a reviewer cannot access directly.
* Your privacy policy does not include the required mobile-number non-sharing statement, message frequency, or a "message and data rates may apply" disclosure.
* You indicate that users can opt in by texting a keyword, but you did not provide `opt_in_keywords` or a compliant `opt_in_message`.
* Your opt-in description suggests consent is shared, transferred, or otherwise not collected specifically for this campaign.
* You rely on verbal or offline opt-in, but the submission does not include enough detail for a reviewer to verify the flow.

### Possible solutions

* Rewrite the `message_flow` so it clearly explains how end users consent to receive messages. Include who is opting in, where the opt-in happens, and how the campaign collects consent. If you support more than one opt-in path, list every method.
* If opt-in happens on a website, provide the website URL, a link to the privacy policy, and terms of service. If the opt-in flow is behind a login or collected on paper, provide a hosted screenshot or document that shows the exact opt-in language and form.
* If users can subscribe by texting a keyword, provide `opt_in_keywords` and an `opt_in_message`. The opt-in response should include the brand name, confirmation of enrollment in a recurring campaign, how to get help, and clear opt-out instructions.
* Update your privacy policy so it states that mobile numbers are not shared with third parties or affiliates for marketing or promotional purposes. Include message frequency and the required message and data rates disclosure.
* Make sure your sample messages match the campaign use case and identify the brand in each sample. If possible, include opt-out language in at least one sample message to make review easier.
* If you use verbal opt-in, describe the exact script or flow in enough detail that a reviewer can verify how consent is captured.
* After you update the campaign details, resubmit the campaign for review.

#### Additional resources

* [A2P 10DLC Overview](/docs/messaging/compliance/a2p-10dlc)
* [A2P 10DLC - Gather the Required Business Information](/docs/messaging/compliance/a2p-10dlc/collect-business-info)
* [A2P 10DLC Campaign Approval Requirements](https://help.twilio.com/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)
