Link Tracking
When link tracking is enabled we can track general click metrics, to help you better understand the number and percentage of recipients who clicked links in your messages. We can also let you know which specific links your audience clicks.
Tracking links also allows you to see links clicks by going to a particular user’s Activity tab, and expanding a Clicked Link entry:


Your links must include the protocol—http or https
We can’t track links if you don’t include the protocol.
Emails
For Campaigns and API Triggered Broadcasts, link tracking is enabled for emails in your workflows by default. While editing the workflow, tap the email you want to edit and a panel of options will appear on the left. Here’s a better image to show where you can enable/disable that for a whole email in one of those workflows:


For Newsletter Broadcasts, you can enable/disable link tracking for the whole message on the “Goal” tab during setup:


Tracking personalized links in transactional emails
To track personalized links in transactional messages, you must populate your links using liquid. Use attributes or trigger properties—like {{trigger.custom_url}}
—to enter custom URLs.
If you provide custom URLs directly in the body
or subject
of a transactional /send/email
request, you should use data-cio-tag
to group links together for reporting purposes:
<a href="http://mydomain.com?token=123abc" data-cio-tag="YOUR-LINK-GROUP-NAME">CLICK HERE</a>
If you enter fully personalized URLs (without liquid) in the body
or subject
of a transactional API request and enable link tracking, Customer.io will track a new link for each transactional message you send, cluttering link tracking metrics.
Other message types
Link tracking is not enabled by default for other message types, though it does work for SMS, Push, webhooks, and Slack. To track links in these messages, we ask that you use a liquid tag when creating your link, like this:
{% cio_link url:http://example.com %}
- Adding a
track
value indicates to us that you would like Customer.io to track this particular link. - Adding a
url_params
value indicates to us that you would like Customer.io to add your URL parameters to this particular link. (Workspace-wide URL parameters are configured in your workspace settings.) - The default for both is
true
.
Here is an example showing the possibilities for both:
{% cio_link url:http://example.com track: true/false url_params: true/false %}
You may not want tracked links in non-email message types!
In order to track your links, we wrap the link’s URL in a URL that points to us so that we can log the click before forwarding the request to the final destination. This means that the URL we generate will generally be much longer than is desired for non-email message types.
Example:
http://e.customeriomail.com/e/c/eyJlbWFpb29pZCI6IlJLS2hBZ01BQVhKaVBtS2pKeGtWWllCME21N0Qzdz09IiwiaHJlZiI6Imh0dHBzOi8vZmFucy5jb20vaG91c2Utc7VsZXMvIi7ibGlua19pZCI7NTkwMTE5NzMsInBvc7l0779uIjoyMH0/e72cf17efa292d48f56d65535b3f7c45fe75d2365bf18caa1aebcaf6a2632c66
When generated for an SMS message, such a long link could cause the message to be split in two which will break the link.
Counting link clicks
There are two ways of counting clicks in Customer.io. Which way is better depends on the information you need!
Total clicks: For each tracked link in a given campaign or newsletter, you can find this in the “Top Clicked Links” metric in the campaign overview or newsletter report.
The amounts listed are the total number of times each link has been clicked, which includes multiple clicks on the same link from the same user. This is not a count of unique links.
Want to group links together in reports?
You can use the tag
data-cio-tag
to track links of the same type—like all of your password reset links or all of your links to your users’ dashboards. This helps you gather usable metrics for links that include personalized variables.<a href="http://mydomain.com?token=123abc" data-cio-tag="YOUR-LINK-GROUP-NAME">CLICK HERE</a>
Unique clicks: For a given tracked link, create a segment for the link you’d like to track, like this:
Then, when you save this segment, you’ll see how many people it contains. This is the number of unique clicks.
Automatically identify people who click tracked links
By default (for workspaces created after July 12, 2021), Customer.io automatically appends a _cio_id
parameter containing a person’s cio_idAn identifier for a person that is automatically generated by Customer.io and cannot be changed. This identifier provides a complete, unbroken record of a person across changes to their other identifiers (id, email, etc). to tracked linksA link in a message that logs when a person clicks it. You can gather metrics for tracked links and use them to determine your audience’s level of engagement.. If your tracked links send people to a webpage containing our JavaScript snippet, the snippet automatically identifies people.
Even if you don’t use our JavaScript Snippet, you can still take advantage of the _cio_id
parameter in tracked links to identify people. If you integrate directly with our API or one of our libraries, you can identify people using cio_<_cio_id-param-value>
rather than a person’s ID or email address.
To change or disable this setting:
Go to Settings > Workspace Settings.
Go to URL Parameters. If you already have URL parameters enabled, click Settings; otherwise, click Get Started.
Click Add _cio_id URL parameter.
This setting affects messages you send after you enable or disable it. It does not affect messages that you’ve already sent.
Security and privacy
You should not enable link tracking for links that contain secure or private information such as password resets or time-limited downloads.
Our tracked links are securely signed but the link information is not encrypted and is sent over HTTP by default. Optionally, you can choose to configure HTTPS Link Tracking, in which case we’ll generate https links instead whenever link tracking is enabled in your messages.
NOTE: If HSTS (HTTP Strict Transport Security) is enabled on your domain you must configure HTTPS Link Tracking or your tracked links will not resolve correctly.
Also be aware that we record clicked links in your Activity Logs and campaign metrics so the URLs of your tracked links may be logged and visible in your account. For this reason, we strongly recommend disabling link tracking for sensitive links.
How to disable link click tracking
There are a few ways to do this, depending on which links you want to disable.
Disable tracking for specific links
If you’d like to prevent tracking for specific links within emails, you’ll want to add class="untracked"
to the anchor element, like this:
<a href="http://mydomain.com" class="untracked">CLICK HERE</a>
If you’re using the drag-and-drop editor, you can remove tracking on specific text links by highlighting the text and then clicking Edit Link. From there you can add the untracked
class under the Custom Attributes section.


You can also disable link tracking on Buttons and Images in the drag-and-drop editor by clicking on the content block and then scrolling the Content Properties menu down to the Attributes section. There you can add a class attribute, and give it a value of untracked
.


Need to disable link tracking and URL parameters on the same link?
You can add both the disable-url-params
and untracked
classes to the same class attribute in the drag-and-drop editor. Just be sure to leave a space between the two class names.
See the URL parameters page for help disabling URL parameters.
Disable link tracking for individual emails
If you’d like to disable tracking for the entire email, you can do this within the workflow. Click the email you’d like to disable tracking for, and uncheck the ’track links’ box.


This will disable open and click tracking for that particular email only. If you want to disable tracking for a whole campaign, you will have to disable it in each email.
You can also disable open tracking for all messages sent from your workspace. This prevents emails from tracking opens, even if the Track opens and link clicks in this message setting is enabled at the message level.
Disable link tracking for a newsletter
Newsletter tracking can be disabled in the Goal section of the newsletter workflow:

