Connecting a domain you bought elsewhere to your Shopify store comes down to two DNS records and one verification click. You point your root domain's A record at Shopify's IP address, point the www subdomain at Shopify with a CNAME, remove any records that conflict, and then let Shopify confirm the connection. The mechanics are simple, but the details matter: Shopify accepts exactly one A record and one www CNAME, and a leftover record from a previous host is the usual reason a connection fails to verify. Here is the full process.
What you are actually pointing where
Shopify serves your storefront from its own infrastructure, so your domain needs to resolve to Shopify rather than to your old web host. Your root or apex domain (example.com with no subdomain) uses an A record because the DNS rules do not allow a CNAME at the apex. The www version uses a CNAME that points to Shopify's shops hostname.
| Host | Record type | Points to |
|---|---|---|
| example.com (apex) | A | 23.227.38.65 |
| www.example.com | CNAME | shops.myshopify.com |
The two records to publish
At your domain registrar or DNS host, create or edit these two records. Use @ or a blank host for the apex depending on your provider's convention.
| Type | Host | Value | TTL |
|---|---|---|---|
| A | @ | 23.227.38.65 | 3600 |
| CNAME | www | shops.myshopify.com | 3600 |
Shopify's storefront IP is a single anycast address, 23.227.38.65, and behind it sits a content delivery network that serves your store from the nearest edge. That is why a propagation check from different regions can show the same IP while the actual content is delivered locally.
Remove conflicting records first
This is the step people skip. If your domain previously pointed at another website, there are almost certainly existing A records at the apex and a www CNAME or A record left over. Shopify requires that there be only one A record at the root and only one www CNAME, so you must delete the old ones rather than add alongside them. Watch for these in particular:
- Extra A records at
@pointing at a prior host's IP. - An existing
wwwCNAME or A record from a site builder or parking page. - AAAA records at the apex pointing at an old IPv6 host, which can override your A record for IPv6 visitors.
- Forwarding or URL-redirect records that your registrar added automatically.
Leave your MX and email-related TXT records alone. Pointing the website at Shopify does not change where your email is delivered, so your MX, SPF, DKIM, and DMARC records should stay exactly as they are.
Verify the records before you connect
Once the records are saved, confirm they resolve to Shopify from the command line before you ask Shopify to verify. The apex should return the Shopify IP, and the www host should follow the CNAME.
$ dig A example.com +short
23.227.38.65
$ dig CNAME www.example.com +short
shops.myshopify.com.
If the A record still shows an old IP, either the change has not propagated yet or an old record was not deleted. If the www lookup returns an A record instead of a CNAME, an old www record is still in place.
Connect the domain in Shopify
- In your Shopify admin, go to Settings > Domains.
- Click Connect existing domain and enter your domain, for example
example.com. - Click Verify connection. Shopify checks that the A and CNAME records point to it.
- Once verified, set this domain as your primary domain if you want it to be the canonical storefront address.
After the connection is verified, Shopify automatically provisions a TLS certificate for both the apex and the www host, so your store loads over HTTPS. That certificate step, like the verification itself, depends on DNS having resolved to Shopify, which is why confirming propagation first prevents a failed or delayed certificate.
Selling from a subdomain instead
Not every store uses the apex as its storefront. If you want your main site on the root domain and the shop on something like shop.example.com, you skip the A record entirely and use a single CNAME on that subdomain. Because it is a subdomain rather than the apex, a CNAME is allowed, which is simpler and self-healing if Shopify ever changes its IP.
| Type | Host | Value |
|---|---|---|
| CNAME | shop | shops.myshopify.com |
You still add and verify the subdomain in Shopify under Settings and Domains exactly as you would the apex, and Shopify issues the certificate for it the same way.
Letting Shopify manage the whole domain
Instead of pointing records manually, you can transfer the domain into Shopify or let it manage the zone, in which case Shopify sets the records for you. That removes the manual A and CNAME step, but you give up direct control of the zone, which matters if you run email or other services on the same domain. If your mail lives elsewhere, the manual pointing described above keeps your MX and authentication records in your own hands.
How long the cutover takes
DNS changes are governed by TTL, the time resolvers are allowed to cache the old answer. A change can be visible within minutes or take up to 48 hours to reach every resolver worldwide. If you know a migration is coming, lower the TTL on the existing records to 300 seconds a day or two in advance so the switch happens quickly. During the window, some visitors may still land on your old host while others see Shopify; that split is normal and resolves itself as caches expire.
Common mistakes
| Symptom | Likely cause |
|---|---|
| Verification fails | Old A record not deleted, or change not propagated yet |
| www works but apex does not | Missing or incorrect A record at the root |
| Certificate stuck pending | DNS not fully resolved to Shopify across regions |
| Email stopped working | MX or TXT records were deleted by mistake during cleanup |
Confirm the cutover everywhere
A lookup on your own machine reflects just one resolver and one cache, so a change that looks done locally can still be in flight elsewhere. After you publish the A and CNAME records, run your domain through the Valla DNS propagation checker to confirm both have gone live across regions before you click Verify connection in Shopify. If email lives on the same domain, our guides on CNAME at the apex and on lowering TTL before a migration will help you keep the rest of the zone intact. Publish the two records, clear out the old ones, verify, and your store is live on your own domain.