SMS: Link shortening
UpdatedWhen you enable SMS and turn on the setting Shorten links, we shorten links in your SMS and WhatsApp message bodies. This page explains how link shortening works.
How it works
In Workspace settings > SMS, you’ll see a toggle for Shorten links. When this is enabled, we automatically shorten links in your SMS/MMS messages.
When someone clicks a shortened link, the link directs them to Customer.io, where we’ll resolve the link and then send your audience to the ultimate destination.
Shortened links are especially helpful with link tracking. By default, we track the links that people click in your SMS or WhatsApp messages, but tracked links won’t reliably fit inside a 160 character SMS message; shortened links fix that!
We filter short links for profanities
We filter short link paths to ensure the randomly generated characters don’t contain profanities. If you see something inappropriate in a link path, please let us know.
Short link format
Shortened links use the format https://a.cx.io/lnk.abc123
(or https://e.cx.io/lnk.abc123
if you’re in our EU region). If you don’t use a custom domain, shortened links consume between 26 and 36 characters (out of the 160-maximum for SMS):
- 8 for the
https://
prefix. - 7 for the default domain (
a.cx.io
ore.cx.io
). Your custom short link domain could consume fewer characters. - 11-16 characters for the path (the slash and random characters
/lnk.abc123
). We start with a 10 character path and increase the length until we find a path that isn’t in use. - Shortened links expire after 90 days.
Enable or disable link shortening
If you don’t want to shorten links, you can disable link shortening. But if you don’t shorten links, keep in mind that you probably won’t want to track links in your messages because tracked links consume significant space in your messages.
Enabling or disabling link shortening affects all messages in your workspace—including active messages.
Go to your > workspace settings > SMS.
Turn Link shortening on or off. Add a custom short link domain if you want to use a custom domain. Otherwise, your shortened links will use the default domain (
a.cx.io
for the Americas ore.cx.io
for our EU region).
Add a custom short link domain
Custom short link domains help you brand your links and make them easier for your audience to recognize. As a part of this process, you’ll need to add CNAME and TXT records to your domain to verify that you own it and grant Customer.io permission to use it.
- Go to your > Workspace settings > SMS.
- Click Add custom domain.
- Enter your custom domain and click Add domain. This cannot be the same domain you use for link tracking.
- Go to your domain registrar and add the appropriate records to your domain. The Add custom domain dialog contains the values you’ll need to copy to your domain host.
It can take up to 24 hours for these records to propagate, though it usually happens much faster. Until then, you’ll see that your custom domain is pending. In many cases, you can wait a minute or two and refresh the page to see that your custom domain is active.


Track link-clicks in your messages
By default, we track the links that people click in your SMS and WhatsApp messages. To do this, Customer.io appends tracking code to your URLs, which makes them much longer than the original link. These long URLs can easily push your message over the 160-character limit for SMS.
Shortened links solve this problem by letting you track clicks without using up extra space.
If you don’t use Customer.io’s shortened links, then you should disable link tracking for your message. You’ll need to do this for each SMS or WhatsApp message individually.
You can also enable or disable link tracking on a per-link basis using the {% cio_link %}
liquidA syntax that supports variables, letting you personalize messages for your audience. For example, if you want to reference a person’s first name, you might use the variable {{customer.first_name}}
. tag with the track
parameter; track
is a boolean where true
enables tracking and false
disables it. It’s true
by default.
Enable or disable URL parameters
You configure URL parameters in Workspace Settings. Check out URL parameters for more info.
To track URL parameters, you must wrap links in the {% cio_link %}
tag.
{% cio_link url:"https://example.com" %}
If you want to disable URL parameters for a specific link, set url_params
to false
:
{% cio_link url:"https://example.com" url_params:false %}
Disable link tracking for individual links
To disable tracking for a specific link while keeping URL parameters enabled:
{% cio_link url:"https://example.url" track:false %}


Short link expiration
Short link paths expire after 90 days. Your workspace can reuse paths after they expire, but immediate reuse is unlikely given the large number of possible combinations.
While it’s unlikely that an expired path gets reused, or that users engage with messages older than 90 days, you should require a login if you send links to sensitive information. This ensures that you don’t expose personal information to users who click old links.
Do you need to extend the expiration period?
If you’re on a premium or enterprise plan, contact us to request a longer expiration period for your shortened links.