Expand my Community achievements bar.

Join us at Adobe Summit 2024 for the Coffee Break Q&A Live series, a unique opportunity to network with and learn from expert users, the Adobe product team, and Adobe partners in a small group, 30 minute AMA conversations.
SOLVED

Capture last section of download link url

Avatar

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.

Topics

Topics help categorize Community content and increase your ability to discover relevant content.

1 Accepted Solution

Avatar

Correct answer by
Level 8

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

Avatar

Employee Advisor

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>

Avatar

Level 3
Hi, so for every url we have, we would have to add in the custom code? Is that what you are saying?

Avatar

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?

Avatar

Correct answer by
Level 8

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.