GuidesCustom domain setup

Custom domain setup

Print QRs that redirect through your own branded short domain (e.g. qr.yourcompany.com), served over HTTPS with a TLS certificate issued for your domain. Available on Growth and above.

What you’ll need

  • A subdomain you control and can edit DNS for (e.g. qr.yourcompany.com). Apex/root domains like yourcompany.com aren’t supported, because most DNS providers can’t put a CNAME at the apex.
  • About 10 minutes of setup, then up to ~30 minutes for the certificate and HTTPS to finish provisioning. You don’t need to wait at your screen; the dashboard updates on its own.

How it works

Over the domain’s lifetime you’ll add three DNS records, one per step. The dashboard shows the exact Name and Value for each with a copy button, and walks you through them in order:

  1. A TXT record to prove you own the domain.
  2. A certificate validation CNAME so AWS can issue your TLS certificate.
  3. A serving CNAME that points your domain at its dedicated ExaRoutes distribution.

Steps

  1. Pick a subdomain. Most teams use qr.yourcompany.com or r.yourcompany.com. The shorter, the better: shorter URLs make denser, easier-to-scan QR codes.

  2. Add the domain in the dashboard. Settings → Domains → Add domain. Enter the subdomain. ExaRoutes generates a verification TXT record for it.

  3. Add the ownership TXT record. In your DNS provider, add the TXT record exactly as the dashboard shows it. The Name looks like _verify-<your-id>.qr.yourcompany.com and the Value is a one-time secret.

    TypeName (host)Value
    TXT_verify-<your-id>.qr.yourcompany.com(secret shown in dashboard)
  4. Verify. Click Verify. ExaRoutes checks the TXT record and, on success, requests a TLS certificate for your domain. If Verify fails, DNS may still be propagating, so wait a few minutes and try again.

  5. Add the certificate validation CNAME. After verifying, the dashboard shows a second record, a CNAME that lets AWS Certificate Manager validate and issue your certificate. Add it exactly as shown, and leave it in place afterward, since AWS uses it to auto-renew your certificate.

    TypeName (host)Value
    CNAME(validation name from dashboard)(validation target, ...acm-validations.aws)
  6. Add the serving CNAME. Once the certificate is issued, ExaRoutes creates a dedicated distribution for your domain and shows its address (a dxxxxxxxx.cloudfront.net hostname). Point your subdomain at it. The dashboard shows the exact hostname, which is unique to your domain and is not qr.exaroutes.com.

    TypeName (host)Value
    CNAMEqr.yourcompany.comdxxxxxxxx.cloudfront.net
  7. Wait for HTTPS to go live. The distribution takes about 15-30 minutes to deploy. The dashboard stepper advances from Certificate to HTTPS to Live on its own, and we email you when the domain is live. Once live, every new dynamic QR can use this domain.

Troubleshooting

If verification or provisioning fails:

  • Confirm each record’s Name and Value match exactly what the dashboard shows (no extra quotes, no trailing dots your provider didn’t add itself).
  • Make sure you used the subdomain as the record host, not the apex.
  • DNS changes can take up to an hour. Use dig TXT _verify-<your-id>.qr.yourcompany.com and dig CNAME qr.yourcompany.com to confirm propagation.
  • Some DNS providers apply a long default TTL, which slows down every step. Lower it while setting up if you can.
  • If a step shows failed, the dashboard explains why (most often the certificate validation CNAME is missing or wrong). Fix the record and click Retry.