Twilio error 30892 or 30963?
Your links need your own domain.
Both errors mean the reviewers found a public URL shortener, such as bit.ly, in your campaign. Here is what each one says, and how to fix it so the next submission goes through.
Quick answer
Replace every shortened link in your sample messages and campaign description with either a full https link to your own website, or a short link on a dedicated domain your business owns, such as go.yourbrand.com. Send that domain's bare address to your website, then resubmit the campaign.
What each error means
From Twilio's error reference. Follow the code to read Twilio's own page.
30892Campaign vetting rejection - Invalid Sample Message - Public URL Shorteners
Your A2P 10DLC campaign was rejected in vetting because a sample message contains a public URL shortener, or a website address that isn't secure.
Usual causes
- A sample message links through a shared shortener such as bit.ly or TinyURL instead of a domain your business owns.
- A link in a sample message is plain http, not https.
- The link doesn't make it clear which business it belongs to.
Twilio asks for links on a "dedicated, branded short domain that belongs to your business", or a direct link to your website, with every URL secure and publicly reachable.
30963Campaign rejected: public URL shortener detected in campaign
Your A2P 10DLC campaign was rejected because public URL shorteners appear in the campaign content or the sample messages. They hide where a link goes, and carriers want to see the destination.
Usual causes
- Sample messages use links from bit.ly, tinyurl.com, t.co, ow.ly or similar services.
- The campaign description or use-case fields contain shortened links instead of full addresses.
- The campaign uses a domain that works as a URL redirect service. Twilio says this can apply to a custom domain too.
Twilio says branded short domains owned and operated by your business are "generally acceptable", and that this failure can be corrected and resubmitted once every affected URL complies.
Toll-free numbers have the same rule under error 30525. The campaign troubleshooting guide covers deleting and recreating a failed campaign.
The fix, step by step
- 1Pick a subdomain of the brand your campaign is registered under, such as go.yourbrand.com, so the link says who it is from.
- 2Add it in Track Link and create one CNAME record at your DNS provider. The SSL certificate is issued for you, so every link is https.
- 3In the domain's settings, send the bare domain to your website. Anyone who opens go.yourbrand.com, a reviewer included, lands on your site.
- 4Create your links on that domain and put them in your sample messages exactly as you will send them. Replace any short links in the campaign description too.
- 5Resubmit the campaign. When it is approved, send the same links. Each one goes to your page in a single redirect.
The DNS record for Cloudflare, GoDaddy, Namecheap and others is in the custom domain guide.
Keep the domain from looking like a redirector
30963 can fire on a custom domain if it behaves like a public redirect service. These four habits keep yours clearly yours.
One brand per domain
Keep the domain for the business named in the campaign. A domain shared by unrelated senders is what makes a public shortener a problem.
Only your own links on it
Create links on it for your own pages and nothing else, and send its bare address to your website, so it never behaves like a general redirect service.
One hop, straight to your page
Starter+ plans send each tap straight to the destination with a single redirect. Free links show a short Track Link notice first, which is the wrong thing to put in a customer's text.
Never a shared Track Link address
gettrack.link is used by every Track Link customer, so a reviewer or carrier would treat it like any public shortener. In a text message, only use links on your own domain.
No link guarantees approval or delivery. Reviewers and carriers look at the whole campaign: content, opt-in, sender and volume. Your own domain removes one common reason for rejection.
What about Twilio's own link shortening?
Twilio has a Link Shortening feature. It works on a domain you own, only with Twilio Messaging Services, and Twilio lists it as part of its Engagement Suite. If every text you send goes through Twilio, it is worth a look.
Track Link fits when you send through more than one provider, or want the same short links and click counts in your emails, social posts and QR codes as well as your texts.
Twilio 10DLC link questions
What does Twilio error 30892 mean?
Your A2P 10DLC campaign failed vetting because a sample message contains a public URL shortener, such as bit.ly or TinyURL, or a link that isn't https. Replace those links with a direct link to your website or a link on a dedicated short domain your business owns, then resubmit.
What does Twilio error 30963 mean?
Your campaign was rejected because a public URL shortener appears in the sample messages or the campaign content. It can also fire when a domain works like a URL redirect service, even a custom one. Twilio says branded short domains owned and operated by your business are generally acceptable.
Can I resubmit after a 30963 rejection?
Twilio's page for 30963 says the failure is eligible for correction and resubmission once all affected URLs comply. Fix every link in the sample messages and the description before you resubmit.
Is a short link on my own domain allowed in 10DLC?
Twilio describes a dedicated, branded short domain that belongs to your business as acceptable. Keep it a subdomain of your brand, use it only for your own links, and send its bare address to your website. Approval is still the reviewers' decision.
Do I need a short link at all?
No. A full https link to a page on your own website is fine. A short link on your own domain helps when you want the message to fit in one segment, or want to count taps per message.
Can I put a gettrack.link link in a text message?
No. gettrack.link is shared by every Track Link customer, so it counts as a public shortener. Use a custom domain you own; it takes one CNAME record.
Does the same rule apply to toll-free numbers?
Yes. Twilio rejects toll-free verifications whose sample messages use public shorteners with error 30525, and messaging on the number stays blocked until verification passes.
Links on a domain you own
SMS link shortener
Short links on your own domain, the way carriers expect them.
Email link shortener
Keep the links in your emails on a domain you own.
White label link shortener
Every client's links on that client's own domain.
Branded URL shortener
Short links on go.yourbrand.com instead of a shared domain.
Custom domain link tracker
Full click analytics on links served from your domain.
Custom domain setup
Add a domain with one CNAME record; SSL is automatic.
Put your own domain in the next submission
Starter is $5.60/mo with 2 custom domains, SSL issued for you, and a click count on every link you text.
Set up your SMS domain