Link Tracking
UpdatedWhen link tracking is enabled, we track clicks to help you understand how people are engaging with your messages in campaigns, broadcasts, and transactional use cases.
We track the number and percentage of recipients who clicked links in your messages:
We also track which links they clicked:
You can view clicked links on a person’s profile through the Activity tab by expanding a Clicked action entry:
Your links must include the protocol — HTTP or HTTPS
We can’t track links if you don’t include the protocol. To generate secure HTTPS links, visit HTTPS Link Tracking.
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:
For newsletters, you can enable/disable link tracking for the whole message on the Content 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, but you can enable it for SMS, push, webhooks, Slack, and mailto links. To track these, you will need to 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 %}
For in-app messages, our SDKs automatically track links without this tag.
You may not want tracked links in non-email message types!
In order to track your links, we wrap the link 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.
Total Clicks is the 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 link sends people to a webpage containing our Data Pipelines JavaScript Source, which we recommend, you’ll need to append links with
ajs_uid=cio_{{customer.cio_id}}
to automatically identify people. See our JavaScript Source documentation for more information. - 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:
If you already have URL parameters enabled, click Settings; otherwise, click Get Started.
Toggle 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.
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.
We surface links in activity logs and campaign metrics.
This means your URLs are visible in your workspace, so to keep these private, we strongly recommend disabling link tracking for sensitive links.
How to disable link click tracking
You can disable tracking for:
- specific links
- specific emails
- all links in a newsletter
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 down to the Attributes section of the Content Properties menu. There you can add a class attribute with 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 all links in an email, go to the workflow in your campaign or api-triggered broadcast. Click the email you’d like to disable tracking for and uncheck “Track opens and link clicks in this message” on the left.
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
You can disable link tracking in a newsletter through the Content tab during setup: