Skip to main content

How to Buy a Domain on Azure

Azure lets you buy a domain through App Service Domains (inside the Azure portal). Microsoft notes that App Service domains use GoDaddy for domain registration and Azure DNS to host the domain, and Azure DNS usage charges apply in addition to the yearly registration fee: https://learn.microsoft.com/en-us/azure/app-service/manage-custom-dns-buy-domain

This guide is written for people buying a domain primarily to use it with a branded short-link service like Snipzr.


Quick reality check (important)

Azure “buy a domain” has limitations

Microsoft documents a few constraints for App Service Domains, including:

tip

If you can’t purchase through Azure due to subscription or TLD limits, you can still buy the domain from any registrar and then follow Snipzr’s setup steps using your DNS provider of choice.


Before you start (2 minutes)

You’ll usually choose:

  • Subdomain (simplest, recommended): go.yourbrand.com
  • Root/apex (shortest): yourbrand.com

Standard DNS doesn’t allow a true CNAME at the zone apex because the apex must also have NS/SOA records. Azure DNS explicitly notes you can’t create a CNAME at the zone apex (@) for this reason: https://learn.microsoft.com/en-us/azure/dns/dns-private-records#cname-records

Azure DNS provides Alias record sets (often casually called “ALIAS records”), but these are not a generic “CNAME flattening” feature for pointing your apex at an arbitrary third-party hostname. Alias record sets are designed to reference Azure resources (or another record set in the same zone): https://learn.microsoft.com/en-us/azure/dns/dns-alias

Recommended for Snipzr on Azure DNS: use a subdomain CNAME (e.g., go.yourbrand.com) pointing to the Snipzr target hostname.


Step-by-step: Buy the domain in Azure (App Service Domains)

Microsoft’s official walkthrough is here: https://learn.microsoft.com/en-us/azure/app-service/manage-custom-dns-buy-domain

1) Open the domain purchase flow

In the Azure portal, you can:

  • Go to your App ServiceCustom domainsBuy App Service domain, or
  • Search for App Service Domains and choose Create

Microsoft notes that buying from an app’s Custom domains page can pre-map hostnames like the root and www, but you can also create the domain independently: https://learn.microsoft.com/en-us/azure/app-service/manage-custom-dns-buy-domain

2) Choose subscription, resource group, and domain name

Enter the domain you want. If it’s taken, Azure will suggest alternatives.

Microsoft also lists which TLDs are supported for App Service domains: https://learn.microsoft.com/en-us/azure/app-service/manage-custom-dns-buy-domain

3) Fill contact info carefully (use an email you can access)

Microsoft notes that GoDaddy will send important transactional emails to the contact email, and these emails come from an @secureserver.net address: https://learn.microsoft.com/en-us/azure/app-service/manage-custom-dns-buy-domain

4) Choose renewal + privacy settings

Microsoft documents:

  • Domains renew in one-year increments
  • Auto renewal can be enabled
  • Privacy protection is enabled by default, but isn’t supported for some TLDs (listed in the doc)

https://learn.microsoft.com/en-us/azure/app-service/manage-custom-dns-buy-domain

5) Review + create

Finish the order. When it completes, Azure shows the domain resource.


After purchase: what Azure creates (and why cost can surprise people)

Microsoft states App Service domains use Azure DNS to host the domain, and Azure DNS charges apply: https://learn.microsoft.com/en-us/azure/app-service/manage-custom-dns-buy-domain

So you’ll typically see:

  • an App Service Domain resource (billing/registration)
  • an Azure DNS zone (where DNS records live)

Azure DNS pricing details: https://azure.microsoft.com/pricing/details/dns/


Use a subdomain like go.yourbrand.com

This is the most reliable setup with Azure DNS for short-link SaaS.

  1. In Azure, open your DNS zone (created with the domain)
  2. Add a CNAME record:
    • Name: go
    • Alias/Target: the Snipzr hostname target you’re given

If you’re unfamiliar with DNS record types, Microsoft’s custom domain guidance for App Service is still a helpful conceptual reference: https://learn.microsoft.com/en-us/azure/app-service/overview-custom-domains

tip

If you bought the domain through Azure (App Service Domains), Azure notes the registrar is GoDaddy and the DNS hosting is Azure DNS: https://learn.microsoft.com/en-us/azure/app-service/manage-custom-dns-buy-domain

That means the most reliable “works everywhere” Snipzr setup is usually a subdomain CNAME (like go.yourbrand.com).


The key limitation

If Snipzr gives you a hostname target (CNAME-style), Azure DNS does not provide a generic apex “CNAME flattening” feature that points @ to an arbitrary external hostname.

Azure DNS alias record sets are meant to reference Azure resources (or another record set), not arbitrary external hostnames: https://learn.microsoft.com/en-us/azure/dns/dns-alias

Azure also documents the DNS standards constraint behind apex CNAME limitations: https://learn.microsoft.com/en-us/azure/dns/dns-private-records#cname-records

What does work at the apex in Azure DNS

Azure DNS alias record sets can be used at the apex when pointing to supported Azure resources, such as:

Practical recommendation for Snipzr

  • If you want the simplest, most compatible setup: use a subdomain CNAME (e.g., go.yourbrand.com).
  • If you require the apex (yourbrand.com) to behave like it points to a third-party hostname target, you’ll usually move DNS to a provider that supports generic CNAME flattening (like Cloudflare), or you’ll put an Azure service (like Front Door) in front (more complex and typically unnecessary for a URL shortener).

Use this option if:

  • you want the shortest possible branded links on the root domain (yourbrand.com/abc), and
  • your Snipzr setup expects a hostname target (CNAME-style) for the apex/root.

Azure DNS alias record sets are not intended to point the apex to an arbitrary third-party hostname. They reference Azure resources (or another record set), so Cloudflare is often the simpler path when you need true generic apex CNAME-flattening behavior: https://learn.microsoft.com/en-us/azure/dns/dns-alias

Cloudflare CNAME flattening: https://developers.cloudflare.com/dns/cname-flattening/

Why Cloudflare DNS helps

Cloudflare supports CNAME flattening, which resolves the CNAME target behind the scenes and answers with A/AAAA records so the apex can behave “like a CNAME”: https://developers.cloudflare.com/dns/cname-flattening/

Cloudflare’s “full setup” (authoritative DNS) steps: https://developers.cloudflare.com/dns/zone-setups/full-setup/setup/

High-level steps

  1. Add your domain to Cloudflare and get the Cloudflare nameservers
  2. Update your domain’s nameservers at the registrar to the Cloudflare ones
  3. Recreate your needed DNS records in Cloudflare (including Snipzr records)
caution

If you bought the domain through Azure App Service Domains, the registrar is GoDaddy (per Microsoft). In some cases, changing nameservers may not be exposed cleanly in the Azure UI. If you can’t change nameservers, the simplest fallback is: keep DNS in Azure and use a subdomain (go.yourbrand.com) for Snipzr. https://learn.microsoft.com/en-us/azure/app-service/manage-custom-dns-buy-domain


Next