hello hola bonjour guten tag salve nǐn hǎo olá asalaam alaikum konnichiwa anyoung haseyo Zdravstvuyte

Shopify Registered Domain: External DNS and Email Authentication

Last week we were onboarding a new client and configuring their domain for use with our email hosting service, which comes bundled along with all our Cloud Hosting plans. Often times, a setup like this is a breeze, but this case was unique, since my client’s domain is registered and still remains registered at Shopify.

Now, to use any domain with an email service of your choice, the goto method is to update the domain’s MX records and generally speaking the job is done. However, in the case of Shopify, we had to decide whether we wanted to work with Shopify’s interface to setup custom DNS records (which you easily can) or to work with cPanel, which is more familiar to us (at Spiderz we are all cPanel University certified), and that cPanel allows for better management of a domain’s Zone file and it’s records.

At first, I began testing this on one of our development stores to see how cumbersome this was (if you need a development store, please feel free to get in touch and we can get you a FREE to use Shopify development store, since we are a Shopify partner), and came to the conclusion that while the interface was fairly easy to use, I was entering a whole bunch of records within Shopify’s custom DNS interface. While, if I had the DNS running on our side, I’d only be setting up the usual Shopify A and CNAME records, and changing the mail.yourdomain.com CNAME to an A record to let email connections occur over POP3 and IMAP. That was simpler, a couple of records on our side, and not the other way around: more than a dozen records on Shopify’s side.

This made perfect sense, more so, because on our cloud services (that we run at AWS), our client’s server had to run full-service, i.e. Email, SSL-certs, and all, so why not keep everything on our side, make use of our dedicated cPanel DNS-only servers, and setup Shopify to point the domain’s DNS to our name servers.

After setting up the few DNS records Shopify requires us to configure when a domain uses an external DNS service (provided by the domain registrar or the hosting company that runs the domain’s services), I changed the names servers for the domain over to our DNS servers. In some time, an automated-SSL was issued by Let’s Encrypt for all A and CNAME records that pointed to us, while the A record for Shopify was left out (since that A record is used for the Shopify site and the SSL for that is issued there). Everything was perfectly setup.

Next, I had an interesting conversation with Shopify support that prompted me to write this article. Specially because I couldn’t find a Shopify KB article covering this scenario, and there were no clear articles online that I could refer to. So for those who are using domains registered with Shopify and want to use an external DNS service or cPanel, what follows will help.

Let me first explain the domain ownership verification and email CNAME setup Shopify requires for domains registered with third-party registrars. When using a third-party domain (registered elsewhere, like through Spiderz), you may need to verify ownership of your domain—automatically or manually. This confirms to Shopify that you own the domain being setup.

This is then followed by adding CNAME records when you update your Sender Email Address with an email address setup on your domain. To ensure your emails are delivered to your customers and not to their spam box (when order emails are sent to them from Shopify) your third-party domain must be setup with the Shopify provided DKIM DNS records setup in the form of CNAME records. This process prevents your emails from Shopify being flagged as spam or from failing to be delivered, and is achieved by adding CNAME records provided by Shopify for DKIM authentication in the Shopify email system.

Now, I wanted to confirm if we still needed to reverify anything, the domain ownership (which makes very less sense, since it’s bought through Shopify), or the addition of CNAME records.

So I started a chat with Shopify support and sent them this message:

My domain is purchased from Shopify.
I have setup my own/custom DNS servers (name servers).
I have made all needs settings at my hosting provider.

Question:
a. How do I verify the domain to Authenticate it?
b. How do I add CNAME records to connect to the Shopify SPF and DKIM records?

Please note: The domain is bought through Shopify, so I’m not seeing the usual Verify Domain option in Domains, nor do I see the usual Authenticate option when I change/set the Sender Email.

I thought the questions were clear, and waited but since I had to run for some errands, I left the conversation and asked the agent to reply back when they can. The response I received from Shopify support took a day, which was a bit annoying. And, I received a basic response for the usual case, i.e., domain registered outside of Shopify!

If you re-read my message to Shopify support, I believe I made the case I was posting about quite clear. Still I had to reply and clarify that the domain was registered at Shopify (my client had not moved it away), and that I had only changed the DNS (name servers) to our own servers.

After some back and forth, I finally received a somewhat satisfactory answer (to which I still want to post back and confirm). The Shopify support advisor explained that since the DNS records were already connected to Shopify, I didn’t need to authenticate the domain and add the CNAME records for the Shopify SPF and DKIM verification. Here’s their response (I’ve removed the usual pleasantries from the start and end of the message, and included the image that was shared):

I understand that you have changed the DNS (name servers) for your domain to your own server, but you are still using Shopify as the domain registrar. You are now looking to verify the domain to authenticate it and add CNAME records to connect to the Shopify SPF and DKIM records. However, I don’t see any indications here on my end that you still need to authenticate and (add) the CNAME records since basically the DNS records are already connected to Shopify.

Considering this is ‘the’ shared solution, those who might face a similar issue, remember that when using a domain registered with Shopify with an external DNS provider, you don’t need to reverify anything. Simply update your domain’s DNS from within Shopify’s interface to the desired name servers, and you’re good to go.

I hope this post has been helpful. And as always we must keep in mind, that while Shopify support could at times be late in replying, they are still there to help. We just need be patient! Note to myself first!

PS: If anything new comes up related to this use case, I’m going to update this article. If you have anything to add to the post, please do leave a comment.

We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.