You bought a custom domain, you have your Shopify store ready to go, and now you just need to connect the two. Sounds simple enough until you're staring at a DNS control panel full of A records, CNAMEs, and TTL values with no clear instructions. This guide cuts through the noise and gives you the exact records to set, where to set them, and how to confirm everything is working correctly before you start promoting your store.

What DNS Changes Does Shopify Actually Require

Shopify does not host your domain registration. It hosts your storefront. That means your domain name stays at whichever registrar you bought it from (GoDaddy, Namecheap, Google Domains, Cloudflare, etc.), and you point it at Shopify's servers using DNS records. Shopify requires two specific changes:

  • A record for the root domain (also called the apex or naked domain, e.g., yourdomain.com) pointing to Shopify's IP address: 23.227.38.65
  • CNAME record for the www subdomain (www.yourdomain.com) pointing to shops.myshopify.com

That's it. Two records. Everything else Shopify handles on its end once you add the domain inside your Shopify admin. Some registrars make this harder than it needs to be, so the sections below cover the most common ones individually.

After making DNS changes, propagation can take anywhere from a few minutes to 48 hours depending on your registrar and the previous TTL values. Use the DNS Propagation Checker to watch your records go live across global resolvers in real time instead of guessing.

Step 1: Add Your Domain in Shopify Admin First

Before touching DNS, add your domain inside Shopify. This is important because Shopify needs to recognize your domain before it can issue an SSL certificate and serve your store on it.

  1. Log in to your Shopify admin at yourstore.myshopify.com/admin
  2. Go to Settings then Domains
  3. Click Connect existing domain
  4. Type your domain name (e.g., yourdomain.com) and click Next
  5. Shopify will show you the exact A record and CNAME values to use. Keep this page open while you edit DNS.

Shopify's current A record IP is 23.227.38.65 and the CNAME target is shops.myshopify.com. These have been stable for years, but always confirm them in your Shopify admin in case they update.

Step 2: Edit DNS at Your Registrar

Find your registrar below and follow the specific steps. If yours is not listed, the record names and values are the same everywhere; only the interface differs.

GoDaddy

  1. Log in at godaddy.com and click your account name, then My Products
  2. Find your domain and click DNS
  3. Under the A record section, find the record with Name @. Click the pencil icon to edit it.
  4. Change the Value to 23.227.38.65 and set TTL to 600 seconds (10 minutes). Save.
  5. Find the CNAME record with Name www. If it exists, edit it. If not, click Add.
  6. Set the Value to shops.myshopify.com and save.

GoDaddy sometimes pre-populates the www CNAME pointing at their own parking page. Make sure you overwrite that value completely.

Namecheap

  1. Log in and go to Domain List, then click Manage next to your domain
  2. Click the Advanced DNS tab
  3. Under Host Records, find the A record with Host @. Edit the Value to 23.227.38.65.
  4. Find or create a CNAME record with Host www and Value shops.myshopify.com
  5. Set TTL to Automatic or 600 seconds. Click the green checkmark to save each record.

Cloudflare

  1. Log in at cloudflare.com and select your domain
  2. Go to DNS then Records
  3. Edit or add an A record: Name = @, IPv4 address = 23.227.38.65
  4. Critical: Set the Proxy status to DNS only (the grey cloud). Do NOT proxy through Cloudflare for the A record pointing to Shopify. Cloudflare's proxy will break Shopify's SSL provisioning.
  5. Edit or add a CNAME record: Name = www, Target = shops.myshopify.com, Proxy status = DNS only

This is the most common mistake Cloudflare users make. The orange cloud looks like it provides security benefits, but when Shopify tries to validate your domain and issue a certificate, it cannot reach your store directly and the process fails. Grey cloud only.

Google Domains (now Squarespace Domains)

  1. Log in at domains.google.com or squarespace.com/domains
  2. Click your domain, then go to DNS
  3. Under Custom records, delete any existing A records for the root (@) and www
  4. Add a new A record: Host name = leave blank or enter @, Data = 23.227.38.65
  5. Add a new CNAME record: Host name = www, Data = shops.myshopify.com

Hover

  1. Log in at hover.com and click your domain
  2. Go to the DNS tab
  3. Edit the existing A record for @ to point to 23.227.38.65
  4. Edit or add a CNAME for www pointing to shops.myshopify.com
  5. Save changes

What If Your Registrar Uses Nameservers Instead of DNS Records

Some registrars or hosting packages push you toward changing your nameservers entirely rather than editing individual DNS records. Shopify explicitly recommends editing individual records rather than pointing nameservers at Shopify, because Shopify does not manage full DNS zones for custom domains. If you switch nameservers to Shopify, your email records, subdomains, and any other services will stop working.

Stick with editing individual A and CNAME records at your existing registrar. If your registrar's interface only shows a nameserver option and no way to edit records, contact their support to unlock DNS management, or transfer your domain to a registrar with full DNS control such as Namecheap or Cloudflare.

Step 3: Verify the Records Are Correct

After saving, do not just wait and hope. Check that the records were actually saved correctly using command-line tools or a lookup tool.

On Mac or Linux, open Terminal. On Windows, open Command Prompt or PowerShell.

Check the A record for your root domain: nslookup yourdomain.com Expected output should include: Address: 23.227.38.65 Check the CNAME for www: nslookup www.yourdomain.com Expected output should show: www.yourdomain.com canonical name = shops.myshopify.com

You can also use dig on Mac or Linux for more detailed output:

dig yourdomain.com A +short # Should return: 23.227.38.65 dig www.yourdomain.com CNAME +short # Should return: shops.myshopify.com.

Use the DNS Lookup tool on this site to check both record types from multiple locations without needing command-line access. This is especially useful for confirming that records have propagated beyond just your local resolver.

Step 4: Verify in Shopify and Set Your Primary Domain

Once DNS is propagating correctly, go back to your Shopify admin under Settings > Domains. Shopify will attempt to verify the domain automatically. If it shows a pending or error status, give it a few more minutes and click Verify connection.

Once verified, you will see options to:

  • Set as primary - makes this domain the main URL for your store
  • Redirect all traffic to this domain - ensures that traffic going to the www version redirects to your primary (or vice versa)

Enable the redirect option. Shopify handles 301 redirects between your root domain and www automatically, so you do not need to set anything up in DNS for that.

SSL Certificate Provisioning

Shopify automatically provisions a free SSL certificate via Let's Encrypt once your domain is verified. This usually happens within 15 to 60 minutes of DNS propagating. You do not need to upload any certificates or configure anything manually.

If the SSL certificate is not provisioning after several hours, the most common causes are:

  • Cloudflare proxy is still enabled (orange cloud) - switch to DNS only
  • CAA records at your registrar are blocking Let's Encrypt - check for any CAA records and either remove them or add one that permits letsencrypt.org
  • The A record is still pointing at your old host's IP - verify with nslookup that 23.227.38.65 is resolving
  • You have an old AAAA (IPv6) record pointing somewhere else - delete any AAAA records for @ and www

Common Problems and Fixes

The store loads but shows a security warning

This means the SSL certificate has not yet been provisioned. Wait up to two hours. If it persists, check Cloudflare proxy status and CAA records as described above.

The domain shows a GoDaddy or registrar parking page

Your DNS changes have not propagated yet, or the A record was not saved correctly. Run nslookup and confirm the IP. Check that you edited the correct record (@ or root) and not a subdomain entry.

www works but the root domain does not, or vice versa

You are missing one of the two required records. Check both the A record for @ and the CNAME for www independently using nslookup or dig.

Email stops working after pointing the domain

If your MX records disappeared, your registrar may have reset DNS when you made changes. Go back into your DNS panel and re-add your MX records for your email provider. MX records are separate from A and CNAME records and should not be touched when connecting to Shopify.

Shopify says the domain is connected to another store

A domain can only be connected to one Shopify store at a time. If this domain was previously connected to a different Shopify store, the previous store owner needs to remove it from their admin first. If you no longer have access to that store, contact Shopify support with proof of domain ownership.

How to Prevent These Issues in the Future

  • Keep a record of your DNS settings before making changes. Screenshot or export your current records so you can restore them if something breaks.
  • Lower your TTL before making changes. Set TTL to 300 seconds (5 minutes) a day before you plan to switch. This means old records expire faster and your changes propagate more quickly.
  • Do not use Cloudflare proxying with Shopify unless you specifically know what you are doing with SSL certificates and understand Cloudflare's Full (Strict) mode requirements.
  • Document your email records separately. Before touching any DNS for a domain that has active email, write down every MX, SPF, and DKIM record exactly as they appear.
  • Test before going live. Use Shopify's domain verification feature and confirm SSL is working before removing your old site or redirecting traffic.

How Long Does Propagation Take

With a fresh domain and no previous DNS records, propagation is often complete within 15 to 30 minutes. With an established domain that had a high TTL (3600 seconds or more), it can take up to 48 hours for all resolvers worldwide to flush their cache and pick up the new values. Most users see the changes within 2 to 4 hours. The propagation is not instant or uniform. Different ISPs and DNS resolvers around the world will update at different times, which is why your store might load correctly on your phone but not on your laptop, or why a colleague in another city can access it before you can.

Once both records resolve correctly and Shopify has verified the domain, your store is fully live on your custom domain. From this point forward, Shopify handles SSL renewal automatically and you do not need to touch DNS again unless you are adding subdomains or changing hosts.