Custom domain — white-label your short links
Run FastLinkIt under your own hostname. Once a custom domain is registered
and verified for your organization, every short link, link-in-bio page,
booking planner, fundraising campaign, payment product and shop owned by
any member of your organization automatically resolves under it. Visitors
see your brand in the URL bar instead of flnk.it.
Plan required. Custom domains are included with the Professional and Unlimited organization plans. Platform admins always have access.
What you can do with it
| Without a custom domain | With links.acme.com registered |
|---|---|
flnk.it/promo |
links.acme.com/promo |
flnk.it/p/portfolio |
links.acme.com/p/portfolio |
flnk.it/sales-call (booking) |
links.acme.com/sales-call |
flnk.it/donate-2026 (campaign) |
links.acme.com/donate-2026 |
flnk.it/shop/storefront |
links.acme.com/shop/storefront |
The mapping is organization-wide. You don't configure it per shortcode or per resource — every short code your team creates from now on serves through your hostname automatically. Adding a teammate to your org extends the coverage to their content immediately, no re-configuration.
You can register multiple hostnames if you run several brands. All
verified hostnames route into the same shared namespace, so
links.acme.com/promo and go.acme.io/promo resolve to the same shortcode.
Setup
1. Register the hostname
In Organization (/organization), scroll to the Custom Domains
card. Paste the hostname you own — for example links.acme.com.
- Use a subdomain wherever possible (
links.acme.com, notacme.com). Apex domains can clash with your existing website. - Hostname only — no scheme (
https://), no path, no port.
The platform creates an unverified row and shows you the DNS records you need to publish.
2. Add two DNS records
At your DNS provider (Cloudflare, Route 53, GoDaddy, your registrar's panel, etc.) add the following records on the parent zone:
| Type | Name | Value |
|---|---|---|
| CNAME | links (the subdomain) |
flnk.it |
| TXT | _flnkit-verify.links |
flnkit-verify=<token shown in the UI> |
The CNAME tells visitors' browsers where to send traffic. The TXT record proves to FastLinkIt that you actually own the hostname (so a random user can't claim someone else's brand).
If your DNS provider's UI doesn't include the parent zone in the Name
field, just enter _flnkit-verify for the TXT record's name and links
for the CNAME's name.
3. Click Verify
Most providers propagate DNS changes within a minute. Hit the Verify button in the Custom Domains card. The platform queries DNS live and stamps the row as Verified when it sees your token. If the record isn't found, the failure reason is shown so you can fix it (typo, wrong zone, slow propagation, etc.).
4. Provision an SSL certificate
The verified row is now active in the routing layer, but visitors will
get a browser warning until your hostname has a valid HTTPS certificate.
Open a quick support ticket (/support/tickets/create) and tell us
the verified hostname — we provision a free Let's Encrypt certificate via
our hosting control panel. The DNS pointing must be live before the cert
can be issued.
Once the certificate is in place, every short code your organization owns starts serving through the new hostname over HTTPS.
Managing domains
In the Custom Domains card on /organization:
| Action | Effect |
|---|---|
| Verify | Re-run the DNS check (e.g. after a propagation delay or after fixing a TXT typo) |
| Pause | Keep the verified row but stop routing traffic. Useful when temporarily migrating DNS away |
| Resume | Re-enable a paused row |
| Delete (trash icon) | Permanently remove the row. Traffic to the hostname stops resolving immediately. |
A row that's verified AND active shows a green badge. Verified-but-paused shows grey. Pending verification shows amber with the most recent error underneath if a previous Verify attempt failed.
How org-scoping works (and why it matters)
When a request comes in to links.acme.com/promo, FastLinkIt:
- Detects that the host matches a verified active org domain.
- Loads the set of user IDs that are active members of that org.
- Looks up the shortcode
promoas normal — but if the result's owner isn't in the set, treats it as not found.
This means only your organization's content ever serves under your custom domain. A short code with the same name owned by an unrelated user on flnk.it won't bleed through. Two organizations can even register the same shortcode without colliding because each domain scopes the namespace to its own members.
When a member is removed from your organization, their content
immediately stops resolving under your custom domain (it still works at
its flnk.it/... URL — only the custom-domain mapping is scoped).
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| Verify says "No matching TXT record found" | DNS hasn't propagated yet | Wait 1–5 minutes and retry |
| Verify says "DNS query failed" | Wrong record name (e.g. _flnkit-verify typed as flnkit-verify) |
Re-check the leading underscore on the TXT name |
| Browser shows certificate warning | SSL cert not provisioned yet | Open a support ticket — DNS must be verified first |
| Custom domain returns 404 for a shortcode | The shortcode's owner isn't a member of your org | Add them to the org, or re-create the shortcode with a member |
| Hostname is rejected as "reserved" | You tried to register a flnk.it subdomain or other reserved value | Use a hostname you own |
Admin overview
Platform admins can see every registered custom domain across all
organizations at /admin/custom-domains. Each row shows the
hostname, status, owning organization, owner email, member count, and
the timestamps of registration + last DNS check. The page supports
search and status filtering and exports to CSV / Excel / JSON / XML
via the standard Export button.
Related
- Organization — multi-user orgs and member roles
- Pricing — which plans include custom domains