When your opt-in form is compliant but TCR still rejects it
Rejection Category: CALL_TO_ACTION
Explanation: Rejection Code 2121: Invalid Call To Action - The opt-in form must provide instructions on how to find privacy policy. Rejection Code 2117: Invalid Call To Action - The opt-in form must include information on how a customer can receive help. Rejection Code 2116: Invalid Call To Action - The opt-in form has no disclosure that message and data rates will apply to messages sent. Rejection Code 2115: Invalid Call To Action - The opt-in form must mention message frequency.
Main issue:
Automated CNP review sometimes throws false-negative rejections (2115/2116/2117/2121/7103) even when your form and privacy policy are fully compliant.
A common root cause: the automated reviewer is a bot/crawler — it gets blocked by CAPTCHA, bot-detection, or JS-heavy rendering, so it never actually sees your disclosures. It then reports them as missing.
Resubmitting the same campaign without changing anything just re-triggers the same automated check — it loops.
Proactive fix, in order:
  1. Check if your form blocks bots — CAPTCHA, Cloudflare bot protection, or client-side JS rendering of required text can all prevent the automated reviewer from reading your disclosures, even though a human visiting the page sees them fine
  2. Re-elect the CNP in TCR (re-select the same carrier as connectivity partner)
  3. Re-import the campaign into the carrier's portal right after re-election
  4. Open a support ticket immediately, not after waiting for another rejection. State plainly: form/policy already meets all flagged requirements, automated reviewer may be bot-blocked or failing to render JS content, request manual vetting review instead of automated re-check
Had this exact pattern with Bandwidth as the CNP — automated check threw 5 false-negative codes, manual review (triggered via re-election + ticket escalation) cleared it within a week with zero changes to the OptInFix form itself.
1
0 comments
Nirav M
2
When your opt-in form is compliant but TCR still rejects it
GoHighLevel w/ Robb Bailey
skool.com/gohighlevel
Get Robb's FREE courses:
🌶️ Database Reactivation™
🌶️ Inbound SAAS Hooks™
🌶️ Sales & Prospecting Playbook
See pinned post to claim your trainings!
Leaderboard (30-day)
Powered by