Sign In

Custom Domains

Use your own domain for branded links and first-party tracking

Use your own domain for short links and tracking to build brand recognition and improve tracking accuracy.

Looking for the recommended setup?

Skip to the Recommended Setup section to see the best way to configure custom domains with first-party tracking.

Why Use a Custom Domain?

Branded Short Links

  • Professional appearance - Links like go.yoursite.com/x7Km9p look trustworthy
  • Higher click rates - Users are more likely to click links from your domain
  • Brand consistency - Match your brand across all touchpoints

Any custom domain works great for short links, including a dedicated root domain like yourbrand.link.

First-Party Tracking

  • Avoid ad blockers - Scripts from your own domain are treated as first-party
  • Better accuracy - First-party cookies are rarely blocked
  • More conversions captured - Data is attributed correctly

Important for conversion tracking

To avoid ad blockers, your tracking pixel must be served from a subdomain of the site where it's installed. If your marketing site is acme.com, use something like go.acme.com for tracking.

A separate domain (like links.io) works fine for short links, but won't give you first-party tracking benefits on acme.com.

Simplest setup: go.yoursite.com

Use a subdomain of your main marketing site for both short links and tracking. You get branded links plus full first-party tracking benefits with just one domain to configure.

The go prefix is short, memorable, and unlikely to conflict with existing subdomains.

Setup Overview

  1. Add your domain in qklnk settings
  2. Configure DNS with two records
  3. Wait for verification (usually a few minutes)

Step 1: Add Your Domain

  1. Go to Settings → Domains
  2. Enter your domain (e.g., go.yoursite.com)
  3. Click "Add Domain"

After adding your domain, return here for personalized DNS instructions.

Step 2: Configure DNS

Custom domains require two DNS records:

  1. Traffic routing - Points your domain to our servers
  2. SSL validation - Enables automatic SSL certificate provisioning

Both DNS records are required

Without the SSL validation record, your certificate cannot be automatically renewed.

Subdomain Setup (Recommended)

For subdomains like go.yoursite.com:

Record 1: Traffic Routing

DNS Record
Type: CNAME
Name: go
Value: proxy.qklnk.cc

Record 2: SSL Certificate Validation

DNS Record
Type: CNAME
Name: _acme-challenge.go
Value: go.yoursite.com.830ce750c89e58a6.dcv.cloudflare.com

Replace go.yoursite.com with your actual subdomain.

Using Cloudflare?

Set both records to DNS only (gray cloud icon). This allows our servers to handle SSL.

Root domain setup (advanced)

Root/apex domains like yoursite.com cannot use standard CNAME records. You'll need a DNS provider that supports CNAME flattening or ALIAS records.

With Cloudflare:

Cloudflare DNS
Type: CNAME
Name: @ (or leave blank)
Value: proxy.qklnk.cc
Proxy status: OFF (gray cloud)

With ALIAS/ANAME support:

ALIAS Record
Type: ALIAS (or ANAME)
Name: @ (or leave blank)
Value: proxy.qklnk.cc

SSL validation record:

DNS Record
Type: CNAME
Name: _acme-challenge
Value: yoursite.com.830ce750c89e58a6.dcv.cloudflare.com

Replace yoursite.com with your actual domain.

Step 3: Verification

After adding both DNS records, verification happens automatically. You'll see one of these statuses:

  • Pending - DNS records not yet detected (can take up to 24 hours)
  • Verified - Domain is active and ready to use

Troubleshooting

Domain stuck on "Pending"
  • Verify both DNS records are correctly configured
  • DNS propagation can take up to 24 hours
  • Use dnschecker.org to verify your records are visible globally
  • If using Cloudflare, ensure proxy is disabled (gray cloud icon)
SSL certificate errors
  • Verify the _acme-challenge CNAME record is in place
  • The value should be your-full-domain.830ce750c89e58a6.dcv.cloudflare.com (e.g., go.yoursite.com.830ce750c89e58a6.dcv.cloudflare.com)
  • Certificate provisioning may take a few minutes after DNS propagates
Links not redirecting
  • Ensure the traffic routing CNAME points to proxy.qklnk.cc
  • If using Cloudflare, the proxy must be disabled (gray cloud)
  • Try clearing your browser cache or testing in incognito mode

Recommended Setup

For the best experience, we recommend using a subdomain of your marketing site as your custom domain. This gives you both branded short links and first-party tracking in one setup.

Example Configuration

Say your main marketing site is acme.com:

  1. Add a custom domain like go.acme.com — this is your tracking domain and can also be used for short links
  2. Proxy the tracking script on your main domain so that acme.com/ql/* proxies to proxy.qklnk.cc

This ensures the tracking pixel is served as first-party on your marketing site, avoiding ad blockers and improving conversion accuracy.

Why proxy the script?

Even with a custom subdomain like go.acme.com, the tracking script needs to be served from the same domain where it runs (e.g., acme.com) for full first-party cookie access. Proxying acme.com/ql/* back to proxy.qklnk.cc achieves this.

See the Tracking Pixel — Self-Hosted Proxy docs for setup instructions using Cloudflare Workers, Nginx, or Apache.

You can also use a separate domain for short links

If you prefer branded short links on a dedicated domain (like acme.link), that works great alongside a subdomain for tracking. Just add both domains in your domain settings.