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

Tracking new or repeat visitors using doplugin in appmeasurement for JS

Avatar

Avatar
Validate 1
Level 2
jayakrishnaap
Level 2

Likes

14 likes

Total Posts

24 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
jayakrishnaap
Level 2

Likes

14 likes

Total Posts

24 posts

Correct Reply

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

28-08-2019

Team,

We are planning to track the "new or repeat" visitors through doPlugins function. We have made all the initial configuration and the necessary settings to track those visitors from the plug in. However, Still we don't see the right data on the respective variable (Conversion variable). We feel like that we are missing or making some information incorrectly. We are using Tealium IQ as our tag management system and have added the plug in code under the java script extension. Also, using "Adobe Analytics App Measurement for JS" as a tag.

Please check the below and assist me to get the "new or repeat" visitors as expected.

----------------------------------Actual Code on my JavaScript extension---------------------

// Type your JavaScript code here...

//initialize AppMeasurement

var s_account="RSID"; //my RSID comes here

var s=s_gi(s_account);

/******** VISITOR ID SERVICE CONFIG - REQUIRES VisitorAPI.js ********/

s.visitor=Visitor.getInstance("INSERT-MCORG-ID-HERE");

/************************** CONFIG SECTION **************************/

/* You may add or alter any code config here. */

/* Link Tracking Config */

s.trackDownloadLinks=true;

s.trackExternalLinks=true;

s.trackInlineStats=true;

s.linkDownloadFileTypes="exe,zip,wav,mp3,mov,mpg,avi,wmv,pdf,doc,docx,xls,xlsx,ppt,pptx";

s.linkInternalFilters="javascript,fasenra.com"; //optional: add your internal domain here

s.linkLeaveQueryString=false;

s.linkTrackVars="None";

s.linkTrackEvents="None";

/* uncomment below to use doPlugins */

s.usePlugins=true;

s.doPlugins=function(s) { 

   

// GET NEW or REPEAT Visitors

s.eVar13 = s.getNewRepeat(30,'s_getNewRepeat');

/*

* Plugin: getNewRepeat 1.2 - Returns whether user is new or repeat

*/

s.getNewRepeat=new Function("d","cn",""

+"var s=this,e=new Date(),cval,sval,ct=e.getTime();d=d?d:30;cn=cn?cn:"

+"'s_nr';e.setTime(ct+d*24*60*60*1000);cval=s.c_r(cn);if(cval.length="

+"=0){s.c_w(cn,ct+'-New',e);return'New';}sval=s.split(cval,'-');if(ct"

+"-sval[0]<30*60*1000&&sval[1]=='New'){s.c_w(cn,ct+'-New',e);return'N"

+"ew';}else{s.c_w(cn,ct+'-Repeat',e);return'Repeat';}");

/*

* Utility Function: split v1.5 (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");


}

// s.doPlugins=s_doPlugins;

s.trackingServer="sstats.adobe.com";

s.trackingServerSecure="fasenracom.sc.omtrdc.net";

-------------------------------------------------------------------------------------------------------------------------------------------

Thank you,

Jay.

Accepted Solutions (1)

Accepted Solutions (1)

Avatar

Avatar
Boost 5
Employee
harish_kumar
Employee

Likes

14 likes

Total Posts

35 posts

Correct Reply

13 solutions
Top badges earned
Boost 5
Boost 3
Boost 10
Boost 1
Applaud 5
View profile

Avatar
Boost 5
Employee
harish_kumar
Employee

Likes

14 likes

Total Posts

35 posts

Correct Reply

13 solutions
Top badges earned
Boost 5
Boost 3
Boost 10
Boost 1
Applaud 5
View profile
harish_kumar
Employee

31-08-2019

Put the plugin code out side and above the doPlugins function then call the s.getNewRepeat inside the doplugin code.

That should solve the issue. Refer the order of the code below :

/*

* Plugin: getNewRepeat 1.2 - Returns whether user is new or repeat

*/

s.getNewRepeat=new Function("d","cn",""

+"var s=this,e=new Date(),cval,sval,ct=e.getTime();d=d?d:30;cn=cn?cn:"

+"'s_nr';e.setTime(ct+d*24*60*60*1000);cval=s.c_r(cn);if(cval.length="

+"=0){s.c_w(cn,ct+'-New',e);return'New';}sval=s.split(cval,'-');if(ct"

+"-sval[0]<30*60*1000&&sval[1]=='New'){s.c_w(cn,ct+'-New',e);return'N"

+"ew';}else{s.c_w(cn,ct+'-Repeat',e);return'Repeat';}");

/*

* Utility Function: split v1.5 (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");

s.doPlugins=function(s) {

/ GET NEW or REPEAT Visitors

s.eVar13 = s.getNewRepeat(30,'s_getNewRepeat');

};

// s.doPlugins=s_doPlugins;

Answers (6)

Answers (6)

Avatar

Avatar
Contributor
MVP
AlexisCazes
MVP

Likes

186 likes

Total Posts

424 posts

Correct Reply

198 solutions
Top badges earned
Contributor
Shape 1
Give Back 10
Give Back 5
Give Back 3
View profile

Avatar
Contributor
MVP
AlexisCazes
MVP

Likes

186 likes

Total Posts

424 posts

Correct Reply

198 solutions
Top badges earned
Contributor
Shape 1
Give Back 10
Give Back 5
Give Back 3
View profile
AlexisCazes
MVP

05-09-2019

I do not think you need to implement this plugin nowadays.

I think Analysis Workspace has a dimention by default (might need to double check). Or you can use segmentation as described here:

Compare new visitors to return visitors

To use doPlugins in a tag management system then watch the video here Use doPlugins in the Adobe Analytics Extension

It would help you understand how to use it. This documentation should help you as well:

Call plug-ins with doPlugins function

All plugins should be outside the doPlugins function.

I usually put a console.log in the doPlugins function to understand when it is called. Did you try this?

Avatar

Avatar
Boost 5
Employee
harish_kumar
Employee

Likes

14 likes

Total Posts

35 posts

Correct Reply

13 solutions
Top badges earned
Boost 5
Boost 3
Boost 10
Boost 1
Applaud 5
View profile

Avatar
Boost 5
Employee
harish_kumar
Employee

Likes

14 likes

Total Posts

35 posts

Correct Reply

13 solutions
Top badges earned
Boost 5
Boost 3
Boost 10
Boost 1
Applaud 5
View profile
harish_kumar
Employee

02-09-2019

Please check the Tealium library load. This line of code is the correct format of calling the plugin. It could be related to the way Tealium load the library code.

Avatar

Avatar
Validate 1
Level 2
jayakrishnaap
Level 2

Likes

14 likes

Total Posts

24 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
jayakrishnaap
Level 2

Likes

14 likes

Total Posts

24 posts

Correct Reply

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

04-09-2019

Hi Hari,

Suggested -- Place the following code within the s_doPlugins() function, which is located in the area of the s_code.js file labeled Plugin Config .

Since I am using AppMeasurement for JS tag in Tealium IQ I don't find exact s_code.js. So I was trying to implement in above the app measurement function call on the tag template after editing and also in different format on the tag but still I don't see my prop4 is firing. Therefore, where is the exact and correct place to implement the plugin code on this AppMeasurement for JS tag.

Please suggest me to take necessary action to fire this plugin.

Thank you,
Jay.

Avatar

Avatar
Validate 1
Level 2
jayakrishnaap
Level 2

Likes

14 likes

Total Posts

24 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
jayakrishnaap
Level 2

Likes

14 likes

Total Posts

24 posts

Correct Reply

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

02-09-2019

Sure Hari, thanks for your reply. Will check and get back to you.

Avatar

Avatar
Boost 5
Employee
harish_kumar
Employee

Likes

14 likes

Total Posts

35 posts

Correct Reply

13 solutions
Top badges earned
Boost 5
Boost 3
Boost 10
Boost 1
Applaud 5
View profile

Avatar
Boost 5
Employee
harish_kumar
Employee

Likes

14 likes

Total Posts

35 posts

Correct Reply

13 solutions
Top badges earned
Boost 5
Boost 3
Boost 10
Boost 1
Applaud 5
View profile
harish_kumar
Employee

02-09-2019

Please check the Tealium library load. This line of code is the correct format of calling the plugin. It could be related to the way Tealium load the library code.

Avatar

Avatar
Validate 1
Level 2
jayakrishnaap
Level 2

Likes

14 likes

Total Posts

24 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
jayakrishnaap
Level 2

Likes

14 likes

Total Posts

24 posts

Correct Reply

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

02-09-2019

Hi Hariskum,

Thanks for your reply. I have modified the code as suggested and still I don't see the tags firing. Also, this was implemented in Tealium IQ JavaScript extension. I have also mapped the "eVar13" to the respective data layer. Please check and let me know if any. Tried with implementing in other scenario as well but it is also not firing.

//initialize AppMeasurement

var s_account="ageo1xxlonsamplepeeranalytics";

var s=s_gi(s_account);

/******** VISITOR ID SERVICE CONFIG - REQUIRES VisitorAPI.js ********/

s.visitor=Visitor.getInstance("INSERT-MCORG-ID-HERE");

/************************** CONFIG SECTION **************************/

/* You may add or alter any code config here. */

/* Link Tracking Config */

s.trackDownloadLinks=true;

s.trackExternalLinks=true;

s.trackInlineStats=true;

s.linkDownloadFileTypes="exe,zip,wav,mp3,mov,mpg,avi,wmv,pdf,doc,docx,xls,xlsx,ppt,pptx";

s.linkInternalFilters="javascript:,tealiumecommerce.com"; //optional: add your internal domain here

s.linkLeaveQueryString=false;

s.linkTrackVars="None";

s.linkTrackEvents="None";

/*

* Plugin: getNewRepeat 1.2 - Returns whether user is new or repeat

*/

s.getNewRepeat=new Function("d","cn",""

+"var s=this,e=new Date(),cval,sval,ct=e.getTime();d=d?d:30;cn=cn?cn:"

+"'s_nr';e.setTime(ct+d*24*60*60*1000);cval=s.c_r(cn);if(cval.length="

+"=0){s.c_w(cn,ct+'-New',e);return'New';}sval=s.split(cval,'-');if(ct"

+"-sval[0]<30*60*1000&&sval[1]=='New'){s.c_w(cn,ct+'-New',e);return'N"

+"ew';}else{s.c_w(cn,ct+'-Repeat',e);return'Repeat';}");

/*

* Utility Function: split v1.5 (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");

s.usePlugins=true;

s.doPlugins=function(s) {

   

s.eVar13 = s.getNewRepeat(30,'s_getNewRepeat');

};

//s.doPlugins=s_doPlugins;

s.trackingServer="sstats.adobe.com";

s.trackingServerSecure="tealiumecommerce.sc.omtrdc.net";

Regards,

Jay.