Custom link domains
A link domain is a hostname you own that points at our link service. Short links are then served from it, e.g.go.yourbrand.com/aB3x.
Routing types
Add a domain
Adding or provisioning a domain requires the Integrations permission
(
org.integrations). Anyone who can view campaigns can see the configured
domains.1
Add the domain
In Settings → Integrations → Link domains, add the hostname you want to
send links from (e.g.
go.yourbrand.com). It starts inactive — the setup
flow is add → point DNS → verify → provision, and it doesn’t go live until
that finishes.2
Point DNS at us
Create the CNAME record shown for your domain at your DNS provider. This
is what makes your hostname resolve to the link service.
3
Check DNS
Click Check DNS. This resolves the hostname and confirms it points here.
If it still resolves elsewhere, it tells you what it found so you can fix the
record. (DNS changes can take a few minutes to propagate.)
4
Provision SSL
Once DNS matches, Provision issues the TLS certificate so links load over
HTTPS. When that succeeds the domain goes active and campaigns can send on
it.
Tracked links over the API
Campaigns and flows shorten and track links for you. The single-send endpointPOST /v1/messages does too — pass a
destination_url and it mints a tracked short link (the same kind a campaign
makes), places it in the message, and records clicks.
The short link goes where you put a {link} token in body; if there’s no
token, it’s appended to the end.
{click_id} anywhere
in destination_url is filled in at click time.
Choosing the domain
The short link is built on one of your link domains.-
Omit
link_domainand it uses your workspace’s newest active domain — the simplest integration never has to name a domain. -
To pick a specific one (when a workspace has several), pass
link_domain— a domain id, name, or hostname:
GET /v1/link-domains:
Only active domains build working links. If the workspace has no active link
domain, a send with
destination_url returns an error rather than sending an
untracked link — add and verify a domain first, or drop
destination_url to send a plain message.Link routing rules
By default a click redirects to your offer. Link routing rules (in the campaign or link-domain settings) let you decide what happens when it shouldn’t — so a click is never a dead end and never wasted. Each rule answers one question:
Order is fixed and deliberate, most-certain fact first: expired → bot →
click cap → device. An earlier rule decides the click; a later one can’t rescue
it. So the order is the policy.
Scope precedence — narrowest wins. A rule can be set at the campaign, tenant
(workspace), link-domain, or global level; exactly one applies, resolved
campaign → tenant → link domain → global. Two rules never stack.
Click-quality controls
The platform can divert a small sample of clicks to check traffic quality (bots slipping through, broken redirect chains, junk from a network). Two modes:- Measure & forward (default, conservative) — the sampled click still reaches your offer via a measurement hop; the recipient converts as normal.
- Divert — the sampled click stops at our check and does not reach the offer.
How links connect to the pixel
When a recipient taps a tracked link and lands on a page that runs your pixel, the link service appends a?vcx= click id to the destination
(only for hosts you’ve registered as pixel origins — never to third-party offer
URLs). The pixel reads it and ties that browser session to the exact contact you
texted, so their on-site behavior can trigger flows. See
Identifying visitors.