---
"@context": https://schema.org
"@type": TechArticle
"@id": https://www.twilio.com/docs/api/errors/30922#article
headline: "30922: Campaign rejected: Website does not meet campaign verification requirements"
url: https://www.twilio.com/docs/api/errors/30922
inLanguage: en
dateModified: 2026-10-27T20:46:31.000Z
author:
  "@type": Organization
  name: Twilio Developer Education Team
publisher:
  "@type": Organization
  name: Twilio
---

# 30922: Campaign rejected: Website does not meet campaign verification requirements

Log Type: APPLICATION

Log Level: ERROR

## Description

This error means your A2P 10DLC campaign registration was rejected because the website in your submission could not be verified or did not provide enough information to validate your business and consent flow. Use a real, functional business website that matches your registered Brand and campaign details. If your website is part of the opt-in process, make sure reviewers can verify that flow from the information you provide.

### Possible causes

* The website URL does not load, times out, or is not publicly accessible.
* The website does not clearly identify the same business, sender, or campaign use case described in your Brand and campaign registration.
* The website does not provide enough information for reviewers to verify how end users opt in to receive messages.
* Your `message_flow` does not include the direct website link for the opt-in process.
* The opt-in flow or supporting pages are behind a login or otherwise not publicly visible, and you did not provide a public URL to hosted screenshots or other proof reviewers can access.
* If the website is used for opt-in, the required supporting pages such as privacy policy or terms of service are missing or cannot be found.

### Possible solutions

* Submit a live, publicly accessible business website that loads correctly and clearly represents your business.
* Make sure the website matches the business name, campaign description, sample messages, and opt-in method in your registration.
* If end users opt in on your website, include the direct opt-in link in `message_flow` rather than only linking to a homepage.
* If the relevant opt-in content is not publicly accessible, provide a public URL to hosted screenshots or a publicly accessible recording that shows the opt-in flow.
* If your website is used for opt-in, make sure it includes accessible links to your privacy policy and terms of service.
* Review your campaign details for consistency and update the website or registration information as needed.

### After you resubmit

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**: Monitor your campaign status in **Console > Messaging > Regulatory Compliance > Campaigns**, or [fetch the UsAppToPerson resource](/docs/messaging/api/usapptoperson-resource) and check the `campaign_status` field.

For detailed resubmission steps, see [Troubleshooting and rectifying A2P Campaigns](/docs/messaging/compliance/a2p-10dlc/troubleshooting-a2p-brands/troubleshooting-and-rectifying-a2p-campaigns).

### Pre-submission checklist

Run through this list before submitting or resubmitting your campaign:

* `message_flow` names every opt-in method used for this campaign (website, keyword, paper form, verbal, QR code, or other mechanism).
* `message_flow` includes a link to your privacy policy and a link to your terms and conditions.
* 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_keywords` and `opt_in_message` are populated. The `opt_in_message` includes 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_flow` field.
* Sample messages match the declared use case, identify the brand by name, and include opt-out language.
* The website URL loads correctly and is publicly accessible.
* The website clearly identifies the same business, sender, and use case described in your brand and campaign registration.
* If the opt-in flow is not publicly visible, you have provided a public URL with hosted screenshots or other proof reviewers can access.

### Fix by cause

#### Website does not match campaign registration

> \[!WARNING]
>
> The following submission would be rejected:
>
> A website URL that loads but shows a different business name or use case than what is described in the campaign registration.
>
> Reviewers reject campaigns when the website and registration details are inconsistent.

> \[!NOTE]
>
> The following submission would pass review:
>
> A website at www.acmesandwich.com that matches the registered brand name (Acme Sandwich Company), shows the declared messaging use case (promotional sandwich deals), and includes a direct link to the opt-in page with required disclosures.
>
> Passes because the website, brand registration, and campaign details are consistent and verifiable.

#### Additional resources

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