Link Tracking

When 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:

campaign-clicked-metric.png
campaign-clicked-metric.png

We also track which links they clicked:

In a running campaign, the Metric tab is selected. Underneath the chart in the center is a table with the title Total Clicked Links (Entire Campaign) followed by three links on the left that each have a total link count on the right.
In a running campaign, the Metric tab is selected. Underneath the chart in the center is a table with the title Total Clicked Links (Entire Campaign) followed by three links on the left that each have a total link count on the right.

You can view clicked links on a person’s profile through the Activity tab by expanding a Clicked action entry:

image.png
image.png

 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:

link-tracking-enable-for-workflow-email.png
link-tracking-enable-for-workflow-email.png

For newsletters, you can enable/disable link tracking for the whole message on the Content tab during setup:

link-tracking-enable-for-newsletter-email.png
link-tracking-enable-for-newsletter-email.png

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.

There are two ways of counting clicks in Customer.io. Which way is better depends on the information you need!

  1. 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.

    In a running campaign, the Metric tab is selected. Underneath the chart in the center is a table with the title Total Clicked Links (Entire Campaign) followed by three links on the left that each have a total link count on the right.
    In a running campaign, the Metric tab is selected. Underneath the chart in the center is a table with the title Total Clicked Links (Entire Campaign) followed by three links on the left that each have a total link count on the right.

    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>

  2. Unique clicks: For a given tracked link, create a segment for the link you’d like to track, like this:

    image.png
    image.png

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:

  1. Go to Workspace Settings > URL Parameters.

  2. If you already have URL parameters enabled, click Settings; otherwise, click Get Started.

  3. Toggle Add _cio_id URL parameter.

    Auto-identify setting
    Auto-identify setting

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.

You can disable tracking for:

  • specific links
  • specific emails
  • all links in a newsletter

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.

Untracked text link in drag-and-drop editor
Untracked text link in drag-and-drop editor

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.

Disable link tracking in drag-and-drop editor for other content blocks
Disable link tracking in drag-and-drop editor for other content blocks

 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.

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.

link-tracking-enable-for-workflow-email.png
link-tracking-enable-for-workflow-email.png

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.

You can disable link tracking in a newsletter through the Content tab during setup:

link-tracking-enable-for-newsletter-email.png
link-tracking-enable-for-newsletter-email.png
Copied to clipboard!
  Contents
Is this page helpful?