Skip to content
Ideas for your business

Connect a Custom Domain to KeptLink: DNS Setup for Any Provider

Use go.yourbrand.com for KeptLink short links and QR codes: find your DNS host, add the two DNS records step by step for 12 providers, and fix common errors.

Quick answer

Pick a subdomain such as go.yourbrand.com, add it on your workspace's Domains page, find the company that hosts your domain's DNS (the Domains page tells you), then add two DNS records there: a TXT record that proves you own the domain and a CNAME record that points the subdomain to KeptLink. Select Verify; your domain is usually ready within minutes.

On this page
  1. Before you start: find your DNS host
  2. 1. Choose a subdomain
  3. 2. Add it in KeptLink
  4. 3. Add the records at your DNS provider
  5. 4. Verify
  6. 5. Optional: choose what your bare domain opens
  7. Troubleshooting

A custom domain puts your own name on your short links and QR codes: go.yourbrand.com/menu instead of keptlink.app/abc2345. You connect a subdomain you already own, and KeptLink takes care of the rest, including the HTTPS certificate.

You need access to your domain’s DNS settings. They’re usually where you bought the domain (GoDaddy, Namecheap, Squarespace and so on), or at a DNS service such as Cloudflare or Amazon Route 53.

Before you start: find your DNS host

Your DNS host is the company whose servers answer for your domain, and it’s where the records must go. It’s often the company you bought the domain from (your registrar), but not always: if you or your web designer pointed the domain’s nameservers to another service, such as Cloudflare or your website builder, that service is your DNS host. Records added anywhere else have no effect.

The quickest way to find it:

  • Let KeptLink tell you. After you add your subdomain on the Domains page, KeptLink looks up your domain’s nameservers and shows “Your DNS is managed by …” with that provider’s steps.
  • Check your nameservers yourself. Your registrar shows them on the domain’s settings page, usually under Nameservers. A free lookup such as the Google Admin Toolbox Dig (choose NS) shows them too. Match them with this table:
DNS hostYour nameservers look like
Amazon Route 53ns-81.awsdns-10.com
ns-659.awsdns-18.net
Bluehostns1.bluehost.com
ns2.bluehost.com
Cloudflaregabe.ns.cloudflare.com
sima.ns.cloudflare.com
GoDaddyns39.domaincontrol.com
ns40.domaincontrol.com
Google Cloud DNSns-cloud-a1.googledomains.com
ns-cloud-a2.googledomains.com
Hostingerns1.dns-parking.com
ns2.dns-parking.com
IONOSns-1and1.ui-dns.com
ns-1and1.ui-dns.de
Namecheapdns1.registrar-servers.com
dns2.registrar-servers.com
Network Solutionsns7.worldnic.com
ns8.worldnic.com
Porkbuncuritiba.ns.porkbun.com
fortaleza.ns.porkbun.com
Squarespace Domains (incl. former Google Domains)ns01.squarespacedns.com
ns02.squarespacedns.com
Wixns14.wixdns.net
ns15.wixdns.net

Nameservers ending in googledomains.com belong to either Google Cloud DNS or Squarespace Domains (which took over Google Domains): use the one where you manage the domain. If your nameservers aren’t in the table, they usually contain the DNS host’s name; look for its DNS or zone editor and follow the steps under Another provider.

1. Choose a subdomain

Pick a short, recognizable subdomain that you don’t use for anything else, for example go.yourbrand.com, links.yourbrand.com or qr.yourbrand.com. Root domains like yourbrand.com can’t be connected.

Open your workspace, go to Domains, enter the subdomain and select Add domain. KeptLink shows the two DNS records you need. They are unique to your workspace, so copy them from the Domains page rather than from this guide.

Type Name Value
TXT _keptlink.go.yourbrand.com kl-verify= followed by your token
CNAME go.yourbrand.com domains.keptlink.app

The TXT record proves that you control the domain: only someone who can change its DNS can add it. The CNAME record makes your subdomain an alias of KeptLink, so visitors of go.yourbrand.com reach your links, and lets us get the HTTPS certificate. Add both; neither touches your website or email.

3. Add the records at your DNS provider

Most providers add your domain to the name automatically, so you enter only the part before your domain. For go.yourbrand.com that means:

  • TXT name: _keptlink.go
  • CNAME name: go

If your provider shows the full name after you save, check that it doesn’t end with your domain twice (like go.yourbrand.com.yourbrand.com).

The Domains page recognizes most DNS providers and shows the steps for yours, with your own values. Here are the same steps for the most common providers:

The steps below use go.yourbrand.com as the example. Your own values are on theDomains page, which also tells you which provider manages your DNS.

Amazon Route 53

  1. Sign in to the AWS console and open Route 53.
  2. In the navigation pane, choose Hosted zones, then choose yourbrand.com.
  3. Choose Create record (Simple routing), then the Record type. Add the TXT record: Record type TXT, Record name _keptlink.go, Value "kl-verify=…" (the value from your Domains page). Choose Create records.
  4. Add the CNAME record: Record type CNAME, Record name go, Value domains.keptlink.app. Choose Create records.

Good to know

  • Route 53 needs the TXT value in double quotation marks: type it exactly as shown, quotes included.
  • Type only the part shown here in Record name: Route 53 shows .yourbrand.com after the box.
  • A CNAME can't share its name with any other record.

Checked against Amazon Route 53's help: docs.aws.amazon.com (1), docs.aws.amazon.com (2), docs.aws.amazon.com (3).

Bluehost

  1. Sign in to the Bluehost Portal and choose Domains in the left menu.
  2. Select yourbrand.com, then the DNS tab.
  3. Select + Add record and choose the type. Add the TXT record: Type TXT, Host Record _keptlink.go, TXT Value kl-verify=… (the value from your Domains page). Save the record.
  4. Add the CNAME record: Type CNAME, Host Record go, Points To domains.keptlink.app. Save the record.

Good to know

  • Enter only the part shown here as the host record: Bluehost adds your domain.
  • A CNAME can't share its host with other records.
  • If you manage DNS in cPanel instead (Hosting → cPanel → Zone Editor), the same values work there.

Checked against Bluehost's help: bluehost.com (1), bluehost.com (2), bluehost.com (3).

Cloudflare

  1. Sign in to the Cloudflare dashboard and select yourbrand.com.
  2. Go to DNS → Records.
  3. Select Add record and choose the type. Add the TXT record: Type TXT, Name _keptlink.go, Content kl-verify=… (the value from your Domains page). Select Save.
  4. Add the CNAME record: Type CNAME, Name go, Target domains.keptlink.app. Select Save.

Good to know

  • We recommend Proxy status DNS only (grey cloud) for the CNAME. Proxied also works, but your own Cloudflare rules and settings then apply before ours.
  • TXT records are always DNS only; TTL can stay Auto.
  • Enter only the part shown here: the provider adds your domain to the name.

Checked against Cloudflare's help: developers.cloudflare.com (1), developers.cloudflare.com (2), developers.cloudflare.com (3), developers.cloudflare.com (4).

GoDaddy

  1. Sign in to GoDaddy and open your Domain Portfolio.
  2. Select yourbrand.com to open its Domain Settings page, then select DNS.
  3. Select Add New Record and choose the type. Add the TXT record: Type TXT, Name _keptlink.go, Value kl-verify=… (the value from your Domains page). Select Save.
  4. Add the CNAME record: Type CNAME, Name go, Value domains.keptlink.app. Select Save.

Good to know

  • Enter only the part shown here: the provider adds your domain to the name.
  • Leave TTL at its default (1 hour).
  • If Domain Protection is on, GoDaddy asks for a 2-step verification code before saving.

Checked against GoDaddy's help: godaddy.com (1), godaddy.com (2), godaddy.com (3).

Google Cloud DNS

  1. In the Google Cloud console, open Network services → Cloud DNS (the Zones page).
  2. Select the zone for yourbrand.com.
  3. Select Add standard, then choose the Resource record type. Add the TXT record: Resource record type TXT, DNS name _keptlink.go, Value kl-verify=… (the value from your Domains page). Select Create.
  4. Add the CNAME record: Resource record type CNAME, DNS name go, Canonical name domains.keptlink.app.. Select Create.

Good to know

  • The DNS name field already shows .yourbrand.com. after the box: type only the part shown here.
  • The canonical name ends with a period, as shown.
  • A CNAME can't share its name with any other record.

Checked against Google Cloud DNS's help: docs.cloud.google.com (1), docs.cloud.google.com (2), docs.cloud.google.com (3).

Hostinger

  1. Sign in to hPanel. In the left sidebar, choose Domains, then DNS.
  2. Select yourbrand.com: you land on its DNS records page.
  3. Under Manage DNS records, choose the Type. Add the TXT record: Type TXT, Name _keptlink.go, TXT value kl-verify=… (the value from your Domains page). Select Add Record.
  4. Add the CNAME record: Type CNAME, Name go, Target domains.keptlink.app. Select Add Record.

Good to know

  • Hostinger adds your domain to the name automatically: don't include it.
  • The default TTL is 14400 (4 hours); Hostinger says changes can take up to 24 hours.

Checked against Hostinger's help: hostinger.com (1), hostinger.com (2), hostinger.com (3), hostinger.com (4).

IONOS

  1. Sign in to IONOS and open Domains & SSL.
  2. Next to yourbrand.com, select the gear icon under Actions, then DNS.
  3. Select Add Record and choose the type. Add the TXT record: Type TXT, Host name _keptlink.go, Value kl-verify=… (the value from your Domains page). Select Save.
  4. Add the CNAME record: Type CNAME, Host name go, Point to domains.keptlink.app. Select Save.

Good to know

  • IONOS adds your domain to the host name automatically: don't include it.
  • If IONOS asks for the subdomain first, add it under the gear icon → Manage Subdomains, then open its DNS page.
  • A CNAME replaces email and other IONOS services on that subdomain. IONOS uses a one-hour TTL.

Checked against IONOS's help: ionos.com (1), ionos.com (2), ionos.com (3).

Namecheap

  1. Sign in to Namecheap and open Domain List in the left menu.
  2. Select Manage next to yourbrand.com, then open the Advanced DNS tab.
  3. In Host Records, select Add New Record and choose the record type (TXT Record or CNAME Record). Add the TXT record: Type TXT, Host _keptlink.go, Value kl-verify=… (the value from your Domains page). Select Save All Changes.
  4. Add the CNAME record: Type CNAME, Host go, Value domains.keptlink.app. Select Save All Changes.

Good to know

  • Namecheap adds your domain to the Host field automatically: don't include it.
  • A CNAME blocks every other record on the same host: remove any URL Redirect, A or CNAME record already on it.
  • TTL can stay Automatic. Namecheap says new records can take about 30 minutes to be accepted.

Checked against Namecheap's help: namecheap.com (1), namecheap.com (2), namecheap.com (3).

Network Solutions

  1. Sign in to Network Solutions and choose Domains in the left menu.
  2. Select yourbrand.com. Under Advanced Tools, select Manage next to Advanced DNS Records.
  3. Select + Add Record, choose the type, and under Refers to choose Other Host. Add the TXT record: Type TXT, Host Name _keptlink.go, TXT Value kl-verify=… (the value from your Domains page). Save the record.
  4. Add the CNAME record: Type CNAME, Host Name go, Alias to (hostname) domains.keptlink.app. Save the record.

Good to know

  • Type only the subdomain part as the host name. The default TTL is 7200 (2 hours).
  • This works only while your domain uses Network Solutions' name servers.

Checked against Network Solutions's help: networksolutions.com.

Porkbun

  1. Sign in to Porkbun and open Domain Management.
  2. Find yourbrand.com and select DNS under the domain name.
  3. Use Add Record and choose the Type. Add the TXT record: Type TXT, Host _keptlink.go, Answer kl-verify=… (the value from your Domains page). Add the record.
  4. Add the CNAME record: Type CNAME, Host go, Answer domains.keptlink.app. Add the record.

Good to know

  • Porkbun adds your domain to the Host automatically: don't include it.
  • A CNAME's host can't be shared with any other record. Leave TTL at its default.

Checked against Porkbun's help: kb.porkbun.com (1), kb.porkbun.com (2), kb.porkbun.com (3).

Squarespace Domains (incl. former Google Domains)

  1. Sign in to your Squarespace domains dashboard and select yourbrand.com.
  2. Select DNS, then DNS Settings, and scroll down to Custom Records.
  3. Select Add record and choose the type. Squarespace may ask for your password again. Add the TXT record: Type TXT, Name _keptlink.go, Text kl-verify=… (the value from your Domains page). Select Save.
  4. Add the CNAME record: Type CNAME, Name go, Data domains.keptlink.app. Select Save.

Good to know

  • Squarespace adds your domain to the Name field automatically: don't include it.
  • Don't put a period at the end of the CNAME's Data: Squarespace can't save it.
  • Custom records have a 4-hour TTL; Squarespace says changes can take 24 to 48 hours.

Checked against Squarespace Domains (incl. former Google Domains)'s help: support.squarespace.com (1), support.squarespace.com (2), support.squarespace.com (3).

Wix

  1. Go to Domains in your Wix account.
  2. Next to yourbrand.com, select the Domain Actions icon, then Manage DNS Records.
  3. In the section for the type (TXT (Text) or CNAME (Aliases)), select + Add Record. For a CNAME, select Got it first. Add the TXT record: Section TXT, Host Name _keptlink.go, Value kl-verify=… (the value from your Domains page). Select Save, then Save Changes.
  4. Add the CNAME record: Section CNAME, Host Name go, Value domains.keptlink.app. Select Save, then Save Changes.

Good to know

  • This works only while your domain uses Wix's name servers.
  • Type only the subdomain part in Host Name. Leave TTL at its default.
  • If Wix says the host name is already in use, another record uses it: remove or change that record first.

Checked against Wix's help: support.wix.com (1), support.wix.com (2), support.wix.com (3), support.wix.com (4).

Another provider

Look for a page called DNS, DNS records, Zone editor or Advanced DNS, add a TXT record and a CNAME record with the values from the Domains page, and enter only the part before your domain as the name if the provider shows your domain next to the field.

The KeptLink Domains screen after adding qr.example.com: setup progress and the TXT and CNAME records to add
KeptLink shows the exact records to add, with Copy buttons, and checks for them automatically.

4. Verify

Back on the Domains page, select Verify. When we find your TXT record, the status changes to Getting the certificate while we set up HTTPS. This usually takes a few minutes, as long as the CNAME is in place. Then the status shows Connected, and you can choose your domain when you create a link.

If the TXT record isn’t found yet, wait a few minutes and try again. You don’t have to keep the page open: we check automatically every 10 minutes for 7 days.

5. Optional: choose what your bare domain opens

Someone may type just go.yourbrand.com. Under Root fallback on the Domains page, enter where that should go, for example your website. It’s checked for safety like any link. Without one, the bare domain shows a “not found” page.

Troubleshooting

  • You added the records but nothing happens: check that you added them at your DNS host, not only at your registrar (see Before you start). Records at a company that doesn’t host your DNS are never seen.

  • The name ended up twice, like go.yourbrand.com.yourbrand.com: your provider adds your domain to the name automatically. Edit the record and enter only _keptlink.go (TXT) or go (CNAME). The Domains page points this out when it sees it.

  • Your provider won’t save the CNAME: another record already uses that name (an A record, another CNAME or a URL redirect). A CNAME can’t share its name, so remove the other record first, or choose a different subdomain.

  • “Waiting for DNS records” doesn’t change: check the TXT name (_keptlink.go, not _keptlink.go.yourbrand.com twice) and that the value matches the Domains page exactly.

  • Stuck at “Getting the certificate”: check that the CNAME points to domains.keptlink.app. If your domain has CAA records, they must allow letsencrypt.org, pki.goog and ssl.com, or certificates can’t be issued.

  • Your domain is on Cloudflare and the certificate doesn’t issue: look for an old _acme-challenge TXT record for the subdomain and remove it.

  • “Couldn’t connect”: we couldn’t confirm the records within 7 days. Fix them, then select Try again for new records.

  • “DNS record missing”: the CNAME no longer points to KeptLink, so links on your domain don’t work. Restore it, and they work again within minutes.

Still stuck? Contact us with your subdomain and a screenshot of your DNS records.

Frequently asked questions

Where do I find my DNS settings?

At the company that hosts your domain's DNS. That's usually where you bought the domain, unless you moved its nameservers to a service such as Cloudflare. After you add a domain, the Domains page in KeptLink names your DNS host and shows its steps.

Can I use my main domain, like yourbrand.com?

No. Use a subdomain such as go.yourbrand.com or links.yourbrand.com. Most DNS providers don't allow the CNAME record we need on a root domain, and a CNAME there would interfere with your email and website.

How long does it take?

Most providers publish new records within minutes, and verification usually succeeds within 5 to 30 minutes. Because of DNS caching it can occasionally take a few hours. We keep checking automatically every 10 minutes for 7 days.

What happens to my links if I remove the DNS record?

Links on your domain only work while its CNAME record points to KeptLink. If you remove or change the record, or let the domain expire, those links stop working, and we can't prevent that, because the DNS belongs to you. Restore the record and they work again.

Does my website or email change?

No. You only add records for one subdomain. Your website, your root domain and your email records stay exactly as they are.