Expand my Community achievements bar.

SOLVED

Reset profile script value on session expiration

Avatar

Level 2

Hello All,

I have a scenario where a user journey consists of three pages. When a user visits page one, a value of 1 is set. Likewise, when the user visits page two, the value is set to 2, and the same applies to page three.Based on this value, I will display a particular experience on the home/logout page.

 

However, if the user remains inactive for more than 30 minutes, or if the current session expires, the value should be reset to '0'.

Here is my current script:

var journeyPage = user.get("journeyDrop");

if (page.url.indexOf('https://example.com/form.html') > -1) {
     journeyPage = 1;
}else if (page.url.indexOf('https://example.com/plans.html') > -1) {
     journeyPage = 2;
}else if (page.url.indexOf('https://example.com/success.html') > -1) {
     journeyPage = 3;
}
return journeyPage


 Thanks in advance!

Topics

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

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

 You can reset at the start of new session, I can think of two options:

1) Use SessionId

 

 

 

 

if(user.sessionId!=user.getLocal('lastSessionId')) {  user.setLocal('lastSessionId', user.sessionId);
 //Pseudo Code
}
else{
 //Pseudo Code
}

 

 

 

 

 2) Use user.isNewSession

   

 

 

 

if(user.isNewSession){
 //Pseudo Code
}
else{
 //Pseudo Code
}

 

 

 

 

View solution in original post

4 Replies

Avatar

Correct answer by
Community Advisor

 You can reset at the start of new session, I can think of two options:

1) Use SessionId

 

 

 

 

if(user.sessionId!=user.getLocal('lastSessionId')) {  user.setLocal('lastSessionId', user.sessionId);
 //Pseudo Code
}
else{
 //Pseudo Code
}

 

 

 

 

 2) Use user.isNewSession

   

 

 

 

if(user.isNewSession){
 //Pseudo Code
}
else{
 //Pseudo Code
}

 

 

 

 

Avatar

Level 2

Thank you, @nnakirikanti ,
The first method was effective, and I utilized it successfully.


However, when I attempted the second approach, it did not record a value of  "0"(on new session), any idea?
My second approach code:

 

 

var journeyPage = user.get("journeyDrop");
if (profile.isNewSession) {
    journeyPage = 0;
} else if (page.url.indexOf("https://example.com/form.html") > -1) {
    journeyPage = 1;
} else if (page.url.indexOf("https://example.com/plans.html") > -1) {
    journeyPage = 2;
} else if (page.url.indexOf("https://example.com/success.html") > -1) {
    journeyPage = 3;
}
return journeyPage;

 

 

 

 

 

Avatar

Level 2

Cool, It's fine now. Can you just correct("profile.isNewSession" to "user.isNewSession") this in comment (i.e, marked as correct reply).
Thank you once again for your response.