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

How to configure % of Page viewed in Launch

Avatar

Avatar
Validate 1
Level 2
ynxinl55879595
Level 2

Likes

14 likes

Total Posts

9 posts

Correct Reply

0 solutions
Top badges earned
Validate 1
Boost 5
Boost 3
Boost 10
Boost 1
View profile

Avatar
Validate 1
Level 2
ynxinl55879595
Level 2

Likes

14 likes

Total Posts

9 posts

Correct Reply

0 solutions
Top badges earned
Validate 1
Boost 5
Boost 3
Boost 10
Boost 1
View profile
ynxinl55879595
Level 2

14-07-2019

Hi all

If need to see % of Page viewed in Analytics, How should I set up my Data elements and  Rules in Launch? thanks

Accepted Solutions (1)

Accepted Solutions (1)

Avatar

Avatar
Validate 1
Level 5
kumararajak
Level 5

Likes

119 likes

Total Posts

94 posts

Correct Reply

16 solutions
Top badges earned
Validate 1
Boost 50
Boost 5
Boost 3
Boost 25
View profile

Avatar
Validate 1
Level 5
kumararajak
Level 5

Likes

119 likes

Total Posts

94 posts

Correct Reply

16 solutions
Top badges earned
Validate 1
Boost 50
Boost 5
Boost 3
Boost 25
View profile
kumararajak
Level 5

14-07-2019

Hi Yn,

Goto Launch => Web Prperty => Extension => CONFIGURE TRACKER USING CUSTOM CODE => Open Editor, and use the below Plug in code

Capture5.JPG

/*

* Plugin: getPreviousValue_v1.0 - return previous value of designated

*   variable (requires split utility)

*/

s.getPreviousValue=new Function("v","c","el",""

+"var s=this,t=new Date,i,j,r='';t.setTime(t.getTime()+1800000);if(el"

+"){if(s.events){i=s.split(el,',');j=s.split(s.events,',');for(x in i"

+"){for(y in j){if(i[x]==j[y]){if(s.c_r(c)) r=s.c_r(c);v?s.c_w(c,v,t)"

+":s.c_w(c,'no value',t);return r}}}}}else{if(s.c_r(c)) r=s.c_r(c);v?"

+"s.c_w(c,v,t):s.c_w(c,'no value',t);return r}");

/*

* Utility Function: split v1.5 - split a string (JS 1.0 compatible)

*/

s.split=new Function("l","d",""

+"var i,x=0,a=new Array;while(l){i=l.indexOf(d);i=i>-1?i:l.length;a[x"

+"++]=l.substring(0,i);l=l.substring(i+d.length);}return a");

/* Adobe Consulting Plugin: getPercentPageViewed v3.01 w/handlePPVevents helper function (Requires AppMeasurement and p_fo plugin) */

s.getPercentPageViewed=function(pid,ch){var s=this,a=s.c_r("s_ppv");a=-1<a.indexOf(",")?a.split(","):[];a[0]=s.unescape(a[0]);

pid=pid?pid:s.pageName?s.pageName:document.location.href;s.ppvChange=ch?ch:!0;if("undefined"===typeof s.linkType||"o"!==

s.linkType)s.ppvID&&s.ppvID===pid||(s.ppvID=pid,s.c_w("s_ppv",""),s.handlePPVevents()),s.p_fo("s_gppvLoad")&&window

.addEventListener&&(window.addEventListener("load",s.handlePPVevents,!1),window.addEventListener("click",s.handlePPVevents, !1),window.addEventListener("scroll",s.handlePPVevents,!1),window.addEventListener("resize",s.handlePPVevents,!1)),s._ppvPreviousPage

=a[0]?a[0]:"",s._ppvHighestPercentViewed=a[1]?a[1]:"",s._ppvInitialPercentViewed=a[2]?a[2]:"",s._ppvHighestPixelsSeen=a[3]?a[3]:""};

/* Adobe Consulting Plugin: handlePPVevents helper function (for getPercentPageViewed v3.01 Plugin) */

s.handlePPVevents=function(){if("undefined"!==typeof s_c_il){for(var c=0,d=s_c_il.length;c<d;c++)if(s_c_il[c]&&

s_c_il[c].getPercentPageViewed){var a=s_c_il[c];break}if(a&&a.ppvID){var f=Math.max(Math.max(document.body.scrollHeight,

document.documentElement.scrollHeight),Math.max(document.body.offsetHeight,document.documentElement.offsetHeight),Math.max(document.

body.clientHeight,document.documentElement.clientHeight));c=(window.pageYOffset||window.document.documentElement.scrollTop||window.document.body.scrollTop)+(window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight);d=Math.min(Math.round

(c/f*100),100);var e="";!a.c_r("s_tp")||a.unescape(a.c_r("s_ppv").split(",")[0])!==a.ppvID||1==a.ppvChange&&

a.c_r("s_tp")&&f!= a.c_r("s_tp")?(a.c_w("s_tp",f),a.c_w("s_ppv","")):e=a.c_r("s_ppv");var b=e&&-1<e.indexOf(",")?e.split(",",4):[];f=0<b.length?b[0]:

escape(a.ppvID);var g=1<b.length?parseInt(b[1]):d,h=2<b.length?parseInt(b[2]):d;b=3<b.length?parseInt(b[3]):c;0<d&&(e=f+","

+(d>g?d:g)+","+h+","+(c>b?c:b));a.c_w("s_ppv",e)}}};

/* Adobe Consulting Plugin: p_fo (pageFirstOnly) v2.0 (Requires AppMeasurement) */

s.p_fo=function(on){var s=this;s.__fo||(s.__fo={});if(s.__fo[on])return!1;s.__fo[on]={};return!0};

/******************************************** END CODE TO DEPLOY ********************************************/

Check more details on getPercentPageViewed

Hope this helps.

Regards,

Kumararaja K

Answers (12)

Answers (12)

Avatar

Avatar
Validate 1
Level 5
kumararajak
Level 5

Likes

119 likes

Total Posts

94 posts

Correct Reply

16 solutions
Top badges earned
Validate 1
Boost 50
Boost 5
Boost 3
Boost 25
View profile

Avatar
Validate 1
Level 5
kumararajak
Level 5

Likes

119 likes

Total Posts

94 posts

Correct Reply

16 solutions
Top badges earned
Validate 1
Boost 50
Boost 5
Boost 3
Boost 25
View profile
kumararajak
Level 5

23-07-2019

Dear Srijith,

Yes, you need to assign some props/evars. modify the following script per your requirement

/* ******** prop01 & eVar01 Initial - Highest percentage page viewed (previous Page) ******** */

if(s.pageName) s.getPercentPageViewed();

if(s._ppvPreviousPage)

{

s.eVar01 = s._ppvHighestPercentViewed + "|" + s._ppvInitialPercentViewed;

}

if (s.eVar01) {

s.prop01 = 'D=v01';

}

1798742_pastedImage_0.png

Regards,

Kumararaja K

Avatar

Avatar
Validate 1
Level 2
ynxinl55879595
Level 2

Likes

14 likes

Total Posts

9 posts

Correct Reply

0 solutions
Top badges earned
Validate 1
Boost 5
Boost 3
Boost 10
Boost 1
View profile

Avatar
Validate 1
Level 2
ynxinl55879595
Level 2

Likes

14 likes

Total Posts

9 posts

Correct Reply

0 solutions
Top badges earned
Validate 1
Boost 5
Boost 3
Boost 10
Boost 1
View profile
ynxinl55879595
Level 2

05-08-2019

Dear kumararajak

Thanks for your information.

After disabled Data elements and rules in launch and moved the variables settings to Launch => Web Property => Extension => CONFIGURE TRACKER USING CUSTOM CODE => Open Editor,

Now is working properly!

The plugin referred seems not working very well so I changed to the one in getPercentPageViewed

Thanks so much for your support again.

BR,

Ynxin

Avatar

Avatar
Validate 1
Level 2
ynxinl55879595
Level 2

Likes

14 likes

Total Posts

9 posts

Correct Reply

0 solutions
Top badges earned
Validate 1
Boost 5
Boost 3
Boost 10
Boost 1
View profile

Avatar
Validate 1
Level 2
ynxinl55879595
Level 2

Likes

14 likes

Total Posts

9 posts

Correct Reply

0 solutions
Top badges earned
Validate 1
Boost 5
Boost 3
Boost 10
Boost 1
View profile
ynxinl55879595
Level 2

15-07-2019

Hi Arun

Thanks for the info

Avatar

Avatar
Level 1
kevinn604767
Level 1

Likes

0 likes

Total Posts

2 posts

Correct Reply

0 solutions
View profile

Avatar
Level 1
kevinn604767
Level 1

Likes

0 likes

Total Posts

2 posts

Correct Reply

0 solutions
View profile
kevinn604767
Level 1

25-09-2019

It worked for a while but it stopped working.  I checked the s_ppv cookie is not getting generated.  My Adobe Analytics extension in launch is current v1.7.8 with AppMeasurement 2.17.0 . I have pasted the below coding in the custom code within the Adobe Analytics extension.

s.usePlugins=true

s.doPlugins=function(s) {

    /* Add calls to plugins here */

  if(s.pageName) s.getPercentPageViewed();

if(s._ppvPreviousPage)

{

s.prop7 = s._ppvPreviousPage;

s.prop10 = s._ppvHighestPercentViewed;

s.prop12 = s._ppvInitialPercentViewed;   

}

/******************************************* BEGIN CODE TO DEPLOY *******************************************/

/* Adobe Consulting Plugin: getPercentPageViewed v3.01 w/handlePPVevents helper function (Requires AppMeasurement and p_fo plugin) */

s.getPercentPageViewed=function(pid,ch){var s=this,a=s.c_r("s_ppv");a=-1<a.indexOf(",")?a.split(","):[];a[0]=s.unescape(a[0]);

pid=pid?pid:s.pageName?s.pageName:document.location.href;s.ppvChange=ch?ch:!0;if("undefined"===typeof s.linkType||"o"!==

s.linkType)s.ppvID&&s.ppvID===pid||(s.ppvID=pid,s.c_w("s_ppv",""),s.handlePPVevents()),s.p_fo("s_gppvLoad")&&window

.addEventListener&&(window.addEventListener("load",s.handlePPVevents,!1),window.addEventListener("click",s.handlePPVevents, !1),window.addEventListener("scroll",s.handlePPVevents,!1),window.addEventListener("resize",s.handlePPVevents,!1)),s._ppvPreviousPage

=a[0]?a[0]:"",s._ppvHighestPercentViewed=a[1]?a[1]:"",s._ppvInitialPercentViewed=a[2]?a[2]:"",s._ppvHighestPixelsSeen=a[3]?a[3]:""};

/* Adobe Consulting Plugin: handlePPVevents helper function (for getPercentPageViewed v3.01 Plugin) */

s.handlePPVevents=function(){if("undefined"!==typeof s_c_il){for(var c=0,d=s_c_il.length;c<d;c++)if(s_c_il[c]&&s_c_il[c].getPercentPageViewed){var a=s_c_il[c];break}if(a&&a.ppvID){var f=Math.max(Math.max(document.body.scrollHeight,document.documentElement.scrollHeight),Math.max(document.body.offsetHeight,document.documentElement.offsetHeight),Math.max(document.

body.clientHeight,document.documentElement.clientHeight));c=(window.pageYOffset||window.document.documentElement.scrollTop||window.document.body.scrollTop)+(window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight);d=Math.min(Math.round

(c/f*100),100);var e="";!a.c_r("s_tp")||a.unescape(a.c_r("s_ppv").split(",")[0])!==a.ppvID||1==a.ppvChange&&

a.c_r("s_tp")&&f!= a.c_r("s_tp")?(a.c_w("s_tp",f),a.c_w("s_ppv","")):e=a.c_r("s_ppv");var b=e&&-1<e.indexOf(",")?e.split(",",4):[];f=0<b.length?b[0]:escape(a.ppvID);var g=1<b.length?parseInt(b[1]):d,h=2<b.length?parseInt(b[2]):d;b=3<b.length?parseInt(b[3]):c;0<d&&(e=f+","+(d>g?d:g)+","+h+","+(c>b?c:b));a.c_w("s_ppv",e)}}};

/* Adobe Consulting Plugin: p_fo (pageFirstOnly) v2.0 (Requires AppMeasurement) */

s.p_fo=function(on){var s=this;s.__fo||(s.__fo={});if(s.__fo[on])return!1;s.__fo[on]={};return!0};

/******************************************** END CODE TO DEPLOY ********************************************/

Avatar

Avatar
Level 1
nilamd73762578
Level 1

Likes

0 likes

Total Posts

2 posts

Correct Reply

0 solutions
View profile

Avatar
Level 1
nilamd73762578
Level 1

Likes

0 likes

Total Posts

2 posts

Correct Reply

0 solutions
View profile
nilamd73762578
Level 1

24-09-2019

Its not working in my case. kindly upload output screenshot.

Avatar

Avatar
Validate 1
Level 5
kumararajak
Level 5

Likes

119 likes

Total Posts

94 posts

Correct Reply

16 solutions
Top badges earned
Validate 1
Boost 50
Boost 5
Boost 3
Boost 25
View profile

Avatar
Validate 1
Level 5
kumararajak
Level 5

Likes

119 likes

Total Posts

94 posts

Correct Reply

16 solutions
Top badges earned
Validate 1
Boost 50
Boost 5
Boost 3
Boost 25
View profile
kumararajak
Level 5

05-08-2019

Dear ynxinl55879595

Data element or Rules are not required at all.

All you need to do is,

Goto Launch => Web Property => Extension => CONFIGURE TRACKER USING CUSTOM CODE => Open Editor, and post the below Plug in code

1807801_Capture5.JPG

/*

* Plugin: getPreviousValue_v1.0 - return previous value of designated

*   variable (requires split utility)

*/

s.getPreviousValue=new Function("v","c","el",""

+"var s=this,t=new Date,i,j,r='';t.setTime(t.getTime()+1800000);if(el"

+"){if(s.events){i=s.split(el,',');j=s.split(s.events,',');for(x in i"

+"){for(y in j){if(i[x]==j[y]){if(s.c_r(c)) r=s.c_r(c);v?s.c_w(c,v,t)"

+":s.c_w(c,'no value',t);return r}}}}}else{if(s.c_r(c)) r=s.c_r(c);v?"

+"s.c_w(c,v,t):s.c_w(c,'no value',t);return r}");

/*

* Utility Function: split v1.5 - split a string (JS 1.0 compatible)

*/

s.split=new Function("l","d",""

+"var i,x=0,a=new Array;while(l){i=l.indexOf(d);i=i>-1?i:l.length;a[x"

+"++]=l.substring(0,i);l=l.substring(i+d.length);}return a");

/* Adobe Consulting Plugin: getPercentPageViewed v3.01 w/handlePPVevents helper function (Requires AppMeasurement and p_fo plugin) */

s.getPercentPageViewed=function(pid,ch){var s=this,a=s.c_r("s_ppv");a=-1<a.indexOf(",")?a.split(","):[];a[0]=s.unescape(a[0]);

pid=pid?pid:s.pageName?s.pageName:document.location.href;s.ppvChange=ch?ch:!0;if("undefine d"===typeof s.linkType||"o"!==

s.linkType)s.ppvID&&s.ppvID===pid||(s.ppvID=pid,s.c_w("s_ppv",""),s.handlePPVevents()),s.p _fo("s_gppvLoad")&&window

.addEventListener&&(window.addEventListener("load",s.handlePPVevents,!1),window.addEventLi stener("click",s.handlePPVevents, !1),window.addEventListener("scroll",s.handlePPVevents,!1),window.addEventListener("resiz e",s.handlePPVevents,!1)),s._ppvPreviousPage

=a[0]?a[0]:"",s._ppvHighestPercentViewed=a[1]?a[1]:"",s._ppvInitialPercentViewed=a[2]?a[2] :"",s._ppvHighestPixelsSeen=a[3]?a[3]:""};

/* Adobe Consulting Plugin: handlePPVevents helper function (for getPercentPageViewed v3.01 Plugin) */

s.handlePPVevents=function(){if("undefined"!==typeof s_c_il){for(var c=0,d=s_c_il.length;c<d;c++)if(s_c_il[c]&&

s_c_il[c].getPercentPageViewed){var a=s_c_il[c];break}if(a&&a.ppvID){var f=Math.max(Math.max(document.body.scrollHeight,

document.documentElement.scrollHeight),Math.max(document.body.offsetHeight,document.docume ntElement.offsetHeight),Math.max(document.

body.clientHeight,document.documentElement.clientHeight));c=(window.pageYOffset||window.do cument.documentElement.scrollTop||window.document.body.scrollTop)+(window.innerHeight||doc ument.documentElement.clientHeight||document.body.clientHeight);d=Math.min(Math.round

(c/f*100),100);var e="";!a.c_r("s_tp")||a.unescape(a.c_r("s_ppv").split(",")[0])!==a.ppvID||1==a.ppvChange&&

a.c_r("s_tp")&&f!= a.c_r("s_tp")?(a.c_w("s_tp",f),a.c_w("s_ppv","")):e=a.c_r("s_ppv");var b=e&&-1<e.indexOf(",")?e.split(",",4):[];f=0<b.length?b[0]:

escape(a.ppvID);var g=1<b.length?parseInt(b[1]):d,h=2<b.length?parseInt(b[2]):d;b=3<b.length?parseInt(b[3]):c ;0<d&&(e=f+","

+(d>g?d:g)+","+h+","+(c>b?c:b));a.c_w("s_ppv",e)}}};

/* Adobe Consulting Plugin: p_fo (pageFirstOnly) v2.0 (Requires AppMeasurement) */

s.p_fo=function(on){var s=this;s.__fo||(s.__fo={});if(s.__fo[on])return!1;s.__fo[on]={};return!0};

/******************************************** END CODE TO DEPLOY ********************************************/

Once done,

Goto Launch => Web Property => Extension => CONFIGURE TRACKER USING CUSTOM CODE => Open Editor, and post the below code under s.doplugin section

1807817_2.png

The above will definitely works.

Regards,

Kumararaja K

Avatar

Avatar
Validate 1
Level 2
ynxinl55879595
Level 2

Likes

14 likes

Total Posts

9 posts

Correct Reply

0 solutions
Top badges earned
Validate 1
Boost 5
Boost 3
Boost 10
Boost 1
View profile

Avatar
Validate 1
Level 2
ynxinl55879595
Level 2

Likes

14 likes

Total Posts

9 posts

Correct Reply

0 solutions
Top badges earned
Validate 1
Boost 5
Boost 3
Boost 10
Boost 1
View profile
ynxinl55879595
Level 2

05-08-2019

Dear Kumarajak

It would be really appreciated, thanks

BR

Ynxin

Avatar

Avatar
Validate 1
Level 5
kumararajak
Level 5

Likes

119 likes

Total Posts

94 posts

Correct Reply

16 solutions
Top badges earned
Validate 1
Boost 50
Boost 5
Boost 3
Boost 25
View profile

Avatar
Validate 1
Level 5
kumararajak
Level 5

Likes

119 likes

Total Posts

94 posts

Correct Reply

16 solutions
Top badges earned
Validate 1
Boost 50
Boost 5
Boost 3
Boost 25
View profile
kumararajak
Level 5

05-08-2019

Dear ynxinl55879595

Sure, i can help you on this, bit busy today. i'll post my detailed comment by end of today,

Regards,

Kumararaja K

Avatar

Avatar
Validate 1
Level 2
ynxinl55879595
Level 2

Likes

14 likes

Total Posts

9 posts

Correct Reply

0 solutions
Top badges earned
Validate 1
Boost 5
Boost 3
Boost 10
Boost 1
View profile

Avatar
Validate 1
Level 2
ynxinl55879595
Level 2

Likes

14 likes

Total Posts

9 posts

Correct Reply

0 solutions
Top badges earned
Validate 1
Boost 5
Boost 3
Boost 10
Boost 1
View profile
ynxinl55879595
Level 2

05-08-2019

Dear Kumararaja

After followed the instrustions (added plugin, and Launch configurations are as follow)

1.png

2.png

3.png

There are 2 main issues popped up:

1.  It created duplicate server calls that caused extra page views

2. The dev report shows as follow: all s._ppvHighestPercentViewed and s._ppvInitialPercentViewed share the same value while my web pages cannot be completely visible when they load. 

Could you kindly help explain how to set up properly? Thanks.

1807131_pastedImage_3.png

Avatar

Avatar
Validate 1
Level 2
srijithkumarkb
Level 2

Likes

6 likes

Total Posts

12 posts

Correct Reply

0 solutions
Top badges earned
Validate 1
Boost 5
Boost 3
Boost 1
View profile

Avatar
Validate 1
Level 2
srijithkumarkb
Level 2

Likes

6 likes

Total Posts

12 posts

Correct Reply

0 solutions
Top badges earned
Validate 1
Boost 5
Boost 3
Boost 1
View profile
srijithkumarkb
Level 2

23-07-2019

Hi Kumararajak,

This is regarding the % of page viewed plugin code you have provided. Just one question, We just need to paste this code in the tracker right, do we have to assign to some prop or evar or does it automatically capture the values where in Analytics reports do we see this info

Sorry If I am asking the very basic question.

Thanks

Srijith

Avatar

Avatar
Validate 1
Level 2
ynxinl55879595
Level 2

Likes

14 likes

Total Posts

9 posts

Correct Reply

0 solutions
Top badges earned
Validate 1
Boost 5
Boost 3
Boost 10
Boost 1
View profile

Avatar
Validate 1
Level 2
ynxinl55879595
Level 2

Likes

14 likes

Total Posts

9 posts

Correct Reply

0 solutions
Top badges earned
Validate 1
Boost 5
Boost 3
Boost 10
Boost 1
View profile
ynxinl55879595
Level 2

15-07-2019

Hi Kumararaja

Thanks, it definatly helps.

Avatar

Avatar
Affirm 250
Moderator
PratheepArunRaj
Moderator

Likes

295 likes

Total Posts

836 posts

Correct Reply

254 solutions
Top badges earned
Affirm 250
Contributor
Springboard
Shape 1
Validate 10
View profile

Avatar
Affirm 250
Moderator
PratheepArunRaj
Moderator

Likes

295 likes

Total Posts

836 posts

Correct Reply

254 solutions
Top badges earned
Affirm 250
Contributor
Springboard
Shape 1
Validate 10
View profile
PratheepArunRaj
Moderator

14-07-2019

Dear Yn,

Check out the URL : getPercentPageViewed

You need to add the Custom Code and the Plugin at Page Code Section of Adobe Analytics Extension in Launch.

Thank You!

Arun