Expand my Community achievements bar.

SOLVED

Tracking ics link

Avatar

Level 2

Hi there,

 

I need to track the following link in Analytics:

https://www.blackberry.com/content/dam/bbcomv4/blackberry-com/global/ics/BlackBerry-Annual-General-a...

However, the visits (downloads) are not captured.

 

I have also tried with vanity and redirect link.

https://www.blackberry.com/us/en/company/investors/agm

It is not tracking

 

Any thoughts how to capture the click on the ics link?

 

Also, is it possible to used UTM with this link?

 

Thanks

N.

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Did you add "ics" to the list of extensions to track as downloads?

Jennifer_Dungan_1-1685662304064.png

 

 

 

And no, adding UTMs to this won't do anything... this is a file not a website with tracking on it to read parameters, it doesn't trigger tracking.

 

There are two things you can do:

1. Add "ics" as a file extension to let Adobe automatically track this as a download like other files

2. Add your own custom click tracking to the file when people click on it...

 

 

However, if users don't click directly on the ics file from a page with Adobe Tracking on it (i.e this is triggered to download via script based on some other action, or it's a link from an email that opens the file directly) this won't work...

 

If it's JS triggered, you can fire some custom code to track that the file was triggered to download... if it's direct from an email there is nothing you can do... you cannot track that... unless you create a "man in the middle".. send people to an "empty" page with tracking, collect tracking there, then redirect people to the file (it should look seamless to the user, but you can collect data on the page before the sending people to the file)

 

 

Your vanity URL solution might work, if you had adobe on the page before redirecting.. but it looks like its a server side redirect, so the page doesn't actually load... you would need to do a script redirect with enough of a delay to allow tracking to actually be captured before redirecting the user to the file.

View solution in original post

13 Replies

Avatar

Correct answer by
Community Advisor

Did you add "ics" to the list of extensions to track as downloads?

Jennifer_Dungan_1-1685662304064.png

 

 

 

And no, adding UTMs to this won't do anything... this is a file not a website with tracking on it to read parameters, it doesn't trigger tracking.

 

There are two things you can do:

1. Add "ics" as a file extension to let Adobe automatically track this as a download like other files

2. Add your own custom click tracking to the file when people click on it...

 

 

However, if users don't click directly on the ics file from a page with Adobe Tracking on it (i.e this is triggered to download via script based on some other action, or it's a link from an email that opens the file directly) this won't work...

 

If it's JS triggered, you can fire some custom code to track that the file was triggered to download... if it's direct from an email there is nothing you can do... you cannot track that... unless you create a "man in the middle".. send people to an "empty" page with tracking, collect tracking there, then redirect people to the file (it should look seamless to the user, but you can collect data on the page before the sending people to the file)

 

 

Your vanity URL solution might work, if you had adobe on the page before redirecting.. but it looks like its a server side redirect, so the page doesn't actually load... you would need to do a script redirect with enough of a delay to allow tracking to actually be captured before redirecting the user to the file.

Avatar

Level 2

Do you have any idea what “enough of a delay” means in terms of ms/s?

Avatar

Community Advisor

That is very dependent on your site and your code... an ideal solution would be not to do a time based delay, but a coded one based on confirmation that tracking has occurred...

 

Depending on your developers though, this may be an issue...

 

If this were me, I would propose this solution to my developers:

  • Create a blank white page (some url)
    • On this page would have the developers create an event listener for a specific custom event (that will be coded in Launch) on the blank page, when they see it, they would know that tracking is complete, and they can then trigger a redirect to the ics file for it to download
    • I would also ask the developers to have a backup set timeout, maybe 2 seconds (which should be more than enough), if they don't see the custom event trigger, send the user to the file download anyway (this would ensure that people who are blocking Adobe Launch or if something fails in the tracking code still get to their download)
  • With Adobe Launch, I would create a tracking rule (for that specific url for the ICS download), this rule would contain:
    • standard set variables / send beacons, etc (as per my setup)
    • Followed by a "wait for then" and a custom code rule... in this custom code, I would declare and dispatch that specific custom JS event

Your developers may have other solutions beyond event listener and custom event, but custom events is a standard mechanism....

 

This would ensure that as soon as tracking is complete, the user will be sent through, and at maximum they would wait up to 2 seconds...

 

If you only do a set timeout, then the users will always have to wait the full set timeout.... and if the above solution isn't something the team wants to, or can do, then a blanket setTimeout may be needed... 2 seconds is extreme... you can probably shave that time down to maybe 500 ms... but you would have to test the flow multiple times to make sure that your tracking loads when the server may be responding slowly....

Avatar

Level 2

How do you do the following step?

 

"With Adobe Launch, I would create a tracking rule (for that specific url for the ICS download), this rule would contain:
standard set variables / send beacons, etc (as per my setup)
Followed by a "wait for then" and a custom code rule... in this custom code, I would declare and dispatch that specific custom JS event"

Avatar

Community Advisor

I'm going to assume you just need help with the custom event part? Since setting variables and sending beacons in Launch is part of every tracking call...

 

Basically, after your analytics work, you need to add a custom code block:

Jennifer_Dungan_0-1685723211931.png

 

And in that code block something like:

const event = document.createEvent("Event");
event.initEvent("trackICS", true, true);
window.dispatchEvent(event);

 

 

Now, it's possible that the developers may not be able to create an event listener until the event is declared... so in theory, they may need to both declare and listen for the event, and you just need to dispatch it:

window.dispatchEvent(event);

 

 

This will take some time and testing to make sure the flow works.. you might need a developer to work closely with you while you get this process set up... and IF the event listener model doesn't work, the developer may have other ideas, like look for a variable to be set, or something else that they can detect... 

 

I've not done this solution.. this is off the top of my head, but this would be where I would start if I was trying to capture such a flow...

Avatar

Community Advisor

Tracking clicks on a link (especially for downloads or outbound links) is a common requirement for many analytics implementations. If the regular tracking doesn't capture these interactions, you might have to use custom event tracking.

Adobe Analytics provides ways to manually track link clicks using custom JavaScript. Here is a common approach:

  1. First, you need to set up a new event in Adobe Analytics for tracking these clicks. Go to your Adobe Analytics Admin panel, then go to "Report Suites" -> Choose your report suite -> Go to "Edit Settings" -> "Conversion" -> "Success Events". Here, you can add a new event for tracking your link clicks.

  2. Then, in your webpage HTML or JavaScript, you need to add an onclick event to the link that you want to track.

    <a href="https://www.blackberry.com/content/dam/bbcomv4/blackberry-com/global/ics/BlackBerry-Annual-General-a..."
    onclick="s.trackLink(this, 'eVar1', {'events':'event1'})">Download Link</a>


    In this example, 'eVar1' should be the eVar you want to set for this link (you can choose the appropriate eVar based on your implementation) and 'event1' should be the custom event that you set up in step 1.

    This code will send a hit to Adobe Analytics when the link is clicked. It will send the eVar and event information, which you can use to track these link clicks in your reports.

    As for the use of UTMs with the link, you generally use UTM parameters for tracking inbound traffic from other sites (like social media or email campaigns). If you're looking to track the traffic outbound from your site to the .ics link, then the UTM parameters won't be helpful in this case. You should use the custom event tracking method described above.

     




Avatar

Level 2

Thanks for your feedback. I am trying to track inbound traffic, for example, link in an email. I need to capture download clicks and the marketing channel. Any thoughts?

Avatar

Community Advisor

If it's coming from an email, this suggestion won't work.. as its based on tracking a custom click within the website... 

 

You cannot add click tracking in an email as emails do not support JavaScript.

Avatar

Community Advisor

If you are looking to track inbound traffic from an email or any other external source, you can indeed use UTM parameters. When a user clicks on a link in the email, the UTM parameters in the URL are used to track the source of the traffic.

To track the downloads and the marketing channel, you can append UTM parameters to your URL like this:

https://www.blackberry.com/content/dam/bbcomv4/blackberry-com/global/ics/BlackBerry-Annual-General-a...

Avatar

Community Advisor

And you aren't reading the context of the problem... of course you can use UTMs on email links.... the issue here is that the URL is a vanity URL that immediately redirects to the download link.. there is no tracking on the vanity URL because it has a server-side redirect... and there is no tracking on the actual file download because it's not a webpage.

 

And technically, the UTMs could be used with my above suggestion to not have a sever-side redirect and to initiate tracking on an empty page then use a JS redirect to the actual download..... then the solution could be used for website or email links (with UTMs) where tracking from any source could be tracked prior to the download occurring...

 

But this requires a more complex setup then simply adding UTMs or tracking clicks.