When an A2P 10DLC campaign is rejected, the rejection reason includes a specific code. Use the tables below to understand what each code means and what to correct before resubmitting. A campaign can have more than one rejection reason — address all of them before resubmitting.
Part 1 — Rejection types you CAN fix and resubmit
Opt-In & Consent
| Code | What it means | Correction needed |
|---|---|---|
| 30909 | Your Call-to-Action / message flow cannot be verified by reviewers. | Provide complete CTA information and all methods end users use to consent. If behind a login, provide hosted screenshots. |
| 30913 | Marketing consent must be collected separately from informational/transactional consent. | Add separate consent for promotional messages. If you only send transactional messages, clarify this in the campaign description. |
| 30917 | Multiple opt-in methods selected but not all described. | Update the opt-in workflow description to cover every method listed. |
| 30923 | Messaging consent is bundled into mandatory terms or agreements. | Make opt-in a separate, optional action. Consumers must be able to decline messaging and still use your service. |
| 30924 | Consent language is missing required disclosures (frequency, opt-out, rates). | Near the opt-in checkbox add all four: message type, frequency, "message and data rates may apply," and STOP instructions. |
| 30925 | Opt-in form is missing a checkbox, or the checkbox is pre-selected. | Add an unchecked-by-default checkbox specifically for SMS consent. |
| 30931 | Opt-in form mechanics prevent consumers from declining messaging. | Add an explicit skip option or unchecked checkbox. A single button must not grant all permissions including messaging. |
| 30932 | Privacy policy indicates opt-in data is shared with third parties for marketing. | Update your privacy policy to state that mobile information will not be shared with third parties for marketing. |
| 30896 | Opt-in workflow insufficient, consent missing, or opt-in shared with third parties. | Verify opt-in meets CTIA guidelines and list all opt-in methods. For paper/login forms provide a hosted image link; for websites provide a link that includes a privacy policy and terms of service. Ensure opt-in is not shared with third parties. |
| 30887 | Opt-out workflow unclear, missing keywords, or missing an opt-out message. | Update the message flow with the opt-out process, add opt-out keywords, and ensure the opt-out message acknowledges the request, confirms no further messages, and includes your brand name. |
| 30890 | HELP reply does not contain a brand name, phone number, or email. | Ensure the HELP message includes a brand name, phone number, or email so customers know who to contact. |
Website
| Code | What it means | Correction needed |
|---|---|---|
| 30919 | Website lacks sufficient business information or messaging disclosure. | Add company name, description of services, contact information, privacy policy, and mention of your SMS program. |
| 30920 | Website is just a form without business context. | Add business context around your form: company name, what your business does, and contact information. |
| 30921 | Website requires a login — reviewers cannot access it. | Create a publicly accessible page describing your business and messaging program. |
| 30922 | Website does not meet verification requirements (under construction / non-standard URL). | Provide a functioning, standard URL. If pre-launch, note this in the campaign description and provide screenshots. |
| 30891 | Invalid URL provided; websites must be functioning. | Verify the website works, or clarify in the description that registration is for a pre-launch website. |
| 30907 | Website URL does not match the campaign description or brand. | Confirm the website aligns with both the registered brand and the campaign details. |
| 30908 | Compliant privacy policy not provided or not found. | Make the privacy policy accessible and include a direct link within the message flow. |
| 30888 | No age gate present on the website or opt-in flow. | Add a robust age gate to your website or opt-in policy. |
Business Identity
| Code | What it means | Correction needed |
|---|---|---|
| 30914 | Sole proprietor content does not match the registered name. | Align campaign description, sample messages, and website with the sole proprietor name registered. |
| 30915 | Registered as sole proprietor but using a corporate name (LLC, Inc.). | Re-register as a standard brand using your EIN and corporate information. |
| 30918 | DBA name does not match the legal name on file. | Update brand registration to include your DBA name before resubmitting. |
| 30926 | Campaign references multiple companies or brands. | Register a separate campaign for each brand. |
| 30927 | Opt-in evidence shows a different company than the one registered. | Ensure opt-in evidence shows the exact company name matching the campaign's brand. |
| 30971 | Contact email uses a personal domain instead of a business domain. | Register and use a business email address (e.g., name@yourcompany.com). |
| 30972 | Contact person is not an authorized representative. | Update the contact to an authorized representative of the registered business. |
| 30881 | Brand support email invalid or uses a public domain provider. | Use a valid business-domain support email, not a public provider. |
| 30894 | Campaign not associated with the correct brand. | Verify brand information is valid and correctly associated with the campaign. |
| 30903 | Brand does not meet Sole Proprietor (EIN) criteria. | Register as a standard brand and choose a standard campaign use case that fits the brand classification. |
Campaign Use Case
| Code | What it means | Correction needed |
|---|---|---|
| 30910 | Registration fields contain non-English language. | Use English in registration fields; provide English translations of sample messages alongside originals. |
| 30911 | Same text copied across fields, or identical sample messages. | Make each field and each sample message unique. |
| 30912 | Use case appears to be personal/P2P, not A2P. | Describe the software or platform that triggers the messages and how it serves customers. |
| 30916 | Selected lead generation but described lead nurture (or vice versa). | Lead generation = initial outreach to new leads; lead nurture = ongoing engagement with existing leads. Choose the accurate one. |
| 30928 | Social influencer / public-figure communications are not valid. | Register as a business entity and frame the campaign around a business use case. |
| 30929 | Emergency alert notifications are not permitted via A2P 10DLC. | Not a valid use case. Contact support for alternatives. |
| 30930 | Brand has reached the 100-campaign limit. | Deregister unused campaigns to free up capacity. |
| 30886 | Campaign description does not explain purpose or match the use case. | Make the campaign description accurate and detailed. |
| 30893 | Sample messages missing, unclear, or mismatched to the use case. | Provide realistic sample messages, mark templated fields with brackets (e.g., [First Name]), include your business name in at least one message, and match the use case. |
| 30892 | Sample messages include a public URL shortener or non-secure URL. | Remove public shorteners (bit.ly, etc.). Use full, direct HTTPS URLs only. |
| 30889 | Embedded phone number selected but not shown in sample messages. | Update sample messages to include the embedded phone number, or correct the selection. |
Registration & Brand
| Code | What it means | Correction needed |
|---|---|---|
| 30895 | Direct lending/loan campaign missing the direct-lending attribute. | Select direct lending/loan arrangement for the campaign, or correct the description if not lending-related. |
| 30898 | Same EIN used for multiple brands. | Register the minimum number of brands per EIN; update brand registration before resubmitting. |
| 30995 | Account reached the maximum messaging-service phone number limit. | Contact ResQEngage Tech Support. |
Part 2 — Rejection types that CANNOT be resubmitted (forbidden content)
These are forbidden categories and are not eligible for resubmission. They apply to campaign descriptions, sample messages, website content, and any linked URLs.
SHAFT content violations
| Code | Category & meaning |
|---|---|
| 30953 | SHAFT – Sex: nudity, pornography, or adult content. |
| 30954 | SHAFT – Hate: hateful speech, profanity, violent content, or incitement. |
| 30955 | SHAFT – Alcohol: alcohol promotions. |
| 30956 | SHAFT – Alcohol without a robust 21+ age gate. |
| 30957 | SHAFT – Firearms, fireworks, or explosives. |
| 30958 | SHAFT – Tobacco or vape products. |
Disallowed content
| Code | Meaning |
|---|---|
| 30940 | Cannabis, CBD, marijuana, or illegal substances. |
| 30941 | Prescription drugs or controlled substances. |
| 30942 | Loan marketing (payday, auto title, personal loans). |
| 30943 | Third-party debt collection. |
| 30944 | Gambling or betting. |
| 30945 | Sweepstakes or contests. |
| 30946 | Stock alerts or investment signals. |
| 30947 | Cryptocurrency trading or token promotions. |
| 30948 | High-risk investment opportunities (forex, binary options). |
| 30949 | Debt reduction or consolidation services. |
| 30950 | Credit repair services. |
| 30951 | Third-party lead generation or MLM. |
| 30952 | Non-federally-compliant use case. |
High risk
| Code | Meaning |
|---|---|
| 30959 | Fraudulent or misleading content detected. |
| 30960 | Known phishing campaign. |
| 30961 | Website/URL has a high-risk domain reputation. |
| 30962 | Deceptive marketing (false urgency, bait-and-switch, fake endorsements). |
| 30963 | Uses public URL shorteners (bit.ly, tinyurl, etc.). |
| 30964 | URLs use HTTP instead of HTTPS. |
FAQ
Can I resubmit immediately after fixing?
Yes, for eligible codes. Once all listed reasons are addressed, resubmit from the portal. Resubmission may be subject to additional carrier review time.
My campaign has multiple rejection reasons — do I fix all?
Yes. All reasons must be resolved or the campaign will likely be rejected again.
My campaign was rejected with an ineligible code — can I appeal?
If you believe it was an error, contact ResQEngage Tech Support with the full details of your appeal.
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article