How I Finally Got Firebase to Verify My Squarespace Domain
Squarespace loves to help by appending your domain twice, and Firebase hates that. Here's how I finally got my email domain verified after 48 hours of head-scratching.
I tried connecting my Squarespace domain to Firebase so my emails would look a little less suspicious.
Two days later Firebase still said “Verification failed.”
No errors. No guidance.
The Setup
Firebase asks for a few DNS records to prove you own your domain.
Simple enough.
Domain | Type | Value |
---|---|---|
mydomain.com |
TXT | v=spf1 include:_spf.firebasemail.com ~all |
mydomain.com |
TXT | firebase=my-backend |
firebase1._domainkey.mydomain.com |
CNAME | mail-mydomain-com.dkim1._domainkey.firebasemail.com. |
firebase2._domainkey.mydomain.com |
CNAME | mail-mydomain-com.dkim2._domainkey.firebasemail.com. |
I added them exactly as shown in Squarespace and waited for 2 days.
Nothing happened.
Where It Goes Wrong
Squarespace tries to be helpful. It automatically appends your root domain to every record.
So when you type:
firebase1._domainkey.mydomain.com
Squarespace secretly changes it to:
firebase1._domainkey.mydomain.com.mydomain.com
It looks fine in the panel but it breaks Firebase’s verification completely.
The Fix
Remove the redundant part. Only keep the subdomain.
Host | Type | Value |
---|---|---|
firebase1._domainkey |
CNAME | mail-mydomain-com.dkim1._domainkey.firebasemail.com |
firebase2._domainkey |
CNAME | mail-mydomain-com.dkim2._domainkey.firebasemail.com |
@ |
TXT | v=spf1 include:_spf.firebasemail.com ~all |
@ |
TXT | firebase=my-backend |
I saved the records, hit verify again, and it worked in seconds.
After waiting two days that felt almost offensive.
A note about the dots at the end
Firebase’s setup page shows CNAME records that end with a dot, like this:
mail-mydomain-com.dkim1._domainkey.firebasemail.com.
That trailing dot means “this is a fully qualified domain name.”
Some DNS providers need it. Squarespace doesn’t.
If you leave the dot in, Squarespace might reject the record or silently strip it, which can cause Firebase to fail verification again.
Just remove the final dot when you enter the record. The result should look like:
mail-mydomain-com.dkim1._domainkey.firebasemail.com
No dot, no problem (at least for squarespace)
Why It Happens
Firebase checks your DNS for exact record matches.
Squarespace assumes you want it to finish your sentences.
So Firebase looks for
firebase1._domainkey.mydomain.com
but finds
firebase1._domainkey.mydomain.com.mydomain.com
and refuses to verify.
Sanity Check
If you want to confirm your records are live, run:
dig CNAME firebase1._domainkey.mydomain.com
dig TXT mydomain.com
If you see Firebase’s values, you’re good.
If not, wait a bit or try again later.
TL;DR
Squarespace adds your domain twice.
Firebase doesn’t like that.
Remove the duplicate part, verify instantly, move on with your life.
Side Quest
If nothing works, use a subdomain like
mail.mydomain.com
instead.
Firebase is fine with that as long as it resolves.
Closing Thought
Squarespace isn’t the villain. It just tries too hard to help.
Once you know this trick, domain verification goes from two days of guessing to one minute of relief.
If you found this post while pacing around your Firebase console, I’ve been there. You’re not alone.
Comments
Comments are powered by Giscus. Join the discussion on GitHub!