Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn more

View all

Sign in to view all badges

SOLVED

Capture last section of download link url

angelad64963316
Level 3
Level 3

hi

 

i would like to capture the last part of our long file download urls because it is much easier to report when they are friendly urls.  i know that i can use the following in a console to tell me the value of the page link. 

 

location.href.split('/').pop();

 

But i need this for the file download url which just happens to open in a new window, as expected behaviour for our website.

 

i feel like i'm close, i've tried to capture the value in an eVar; i've tried to use the value above in a data element but i'm not getting any joy.  Not sure where i'm going wrong.  Can someone put me out of my misery.

Analytics Download Links Launch.
1 Accepted Solution
evolytics_brian
Correct answer by
Community Advisor
Community Advisor

Hey, @angelad64963316  -

One easy way to do it would be to use the old doPlugins approach. Adding the following block of code to the "Configure Tracker Using Custom Code" section of the Adobe Analytics extension will evaluate every call to see if it is a download tracking call (s.linkType==="d"):

s.usePlugins = true;
s.doPlugins=function(s) {
  // custom logic here
  if(s.linkType && s.linkType === "d") {
    s.eVar1 = s.linkURL.split("/").pop();
    s.linkTrackVars += ",eVar1";
  }
}

In short, if the call is a download tracking call (triggered automatically based on the file extension OR triggered manually using the "d" identifier in the s.tl() call), we grab the destination URL (s.linkURL), pop off the file info and store it in eVar1, then update s.linkTrackVars to ensure eVar1 is on the call.

That should be all there is to it.

View solution in original post

4 Replies
Khurshid_Alam
Employee
Employee

You may use custom link tracking.

<a href="#" onclick="
s.linkTrackVars='eVar1';
s.eVar1= url; // You need to write script to save the last part of url here
s.tl(this,'d','Download');
s.manageVars('clearVars',s.linkTrackVars,1);">
Download
</a>

angelad64963316
Level 3
Level 3
Hi, so for every url we have, we would have to add in the custom code? Is that what you are saying?
angelad64963316
Level 3
Level 3
Khurshid, i'm afraid i'm not following this. We have hundreds of existing files on the site. Isn't it possible to somehow from Launch do something that captures the last part in the evar, without doing anything on the site, or am i dependent on dev support here?
evolytics_brian
Correct answer by
Community Advisor
Community Advisor

Hey, @angelad64963316  -

One easy way to do it would be to use the old doPlugins approach. Adding the following block of code to the "Configure Tracker Using Custom Code" section of the Adobe Analytics extension will evaluate every call to see if it is a download tracking call (s.linkType==="d"):

s.usePlugins = true;
s.doPlugins=function(s) {
  // custom logic here
  if(s.linkType && s.linkType === "d") {
    s.eVar1 = s.linkURL.split("/").pop();
    s.linkTrackVars += ",eVar1";
  }
}

In short, if the call is a download tracking call (triggered automatically based on the file extension OR triggered manually using the "d" identifier in the s.tl() call), we grab the destination URL (s.linkURL), pop off the file info and store it in eVar1, then update s.linkTrackVars to ensure eVar1 is on the call.

That should be all there is to it.

View solution in original post