The requirements
What reviewers actually check.
You don't need any of this to use the generator — it builds a compliant set of pages on its own. This is here for when you want to understand why each piece exists, or when a campaign came back rejected and you need to find the reason.
Just build my pages insteadOne detail we don't ask for
Name your messaging program.
Everything else on these pages is filled in from the details you entered in the generator. This is the one field it has no equivalent for.
The full list
Verify the complete package.
The generator handles the pages. This covers everything around them — the GHL build, the consent records, and the submission itself. Progress stays in this browser.
Completion score
0 of 17
Website and identity
Lead form and consent
GHL records and workflows
Policies and submission
Consent copy
Use only the options you actually send.
If the campaign sends both marketing and informational messages, show both disclosures as separate optional controls and store each selection separately.
Service and appointment updates
The reviewer file
Send one consistent package.
Provide exact, live URLs and plain-language opt-in steps. Screenshots help explain the flow but do not replace live pages. The campaign description, samples, and declaration answers must describe the exact traffic the location will send.
Campaign description template
Attach these reviewer links
- 1. Opt-in page URL: the exact published form with unchecked controls.
- 2. PrivacyPolicyUrl: a direct URL to the complete policy.
- 3. TermsAndConditionsUrl: a direct URL to the SMS program terms.
- 4. Message flow: the page, fields, consent action, stored evidence, and links.
- 5. Screenshots: full-page proof plus close-ups of each unchecked checkbox.
Rejection map
Use the exact code to target the fix.
Do not assume a policy rewrite cures an incompatible business model or opt-in flow. Fix the underlying requirement named by the code.
On a small screen, scroll the table sideways. Keyboard users can focus the table region and use arrow keys.
| Twilio code | What it means | What to verify |
|---|---|---|
| 30908 | The privacy policy or privacy-policy evidence does not meet campaign requirements. | Provide a dedicated PrivacyPolicyUrl, reference the policy and opt-in path in message_flow, and ensure the policy explains collection/use, frequency and rates, STOP/HELP, and mobile-data/consent non-sharing. |
| 30882 | The Terms URL is missing/inaccessible or the business model conflicts with direct-consent rules. | Provide a direct TermsAndConditionsUrl. Prohibited affiliate marketing or third-party lead-generation practices cannot be cured by policy wording; the actual campaign and flow must comply. |
| 30924 | The opt-in disclosure is incomplete or not presented with the consent action. | At the point of consent, state the type of messages, message frequency, message/data rates, and STOP instructions. |
| 30925 | Consent is bundled, preselected, or not captured through a distinct affirmative control. | Use a separate SMS consent control that is unchecked by default and optional. |
| 30913 | Marketing and informational consent are combined when separate consent is required. | Use separate optional controls and records for marketing versus informational/service messages. |
Primary guidance
Verify against the latest rules.
Carrier and platform requirements change. Check the official sources again immediately before submission.