utag_main_ses_id expiration

Gold Contributor
Gold Contributor

Hi, I cannot find this information anywhere. The only explanation for the Tealium session ID i can find is " A unique identifier for the session.".

So what is the expiration of the ses_id cookie? How is it defined exactly for each session? 

Thanks,

Audrey

9 REPLIES 9

utag_main_ses_id expiration

Tealium Employee

Here is a typical cookie value of utag_main

utag_main=v_id:0158c13e6db8001dcb119f9bf6e805078002907000fb8
$_sn:1
$_ss:1
$_st:1480712643834
$ses_id:1480710843834%3Bexp-session
$_pn:1%3Bexp-session
$dc_visit:1
$dc_event:1%3Bexp-session
$dc_region:us-east-1%3Bexp-session

ses_id expires at the end of the session.

 

At a high level, we look to see if this cookie exists and if not, we know it's the beginning of the session and create it. If it does exists then we do nothing which means it's an active session.

utag_main_ses_id expiration

Moderator
Moderator

Good info from @dan_george. 1 further piece of information you might find useful is that the session id is reset after 30 minutes of inactivity.

Here are some examples, @audrey_poulin:

Browse for 1 hour, leave, and return 30 minutes later - this would be 2 sessions (2 separate "ses_id" values)
Browse for 10 minutes, leave, and return 30 minutes later for another 20 minutes - 2 sessions (2 separate "ses_id" values)

Check out our new Swift integration library for iOS, macOS, tvOS and watchOS: https://github.com/Tealium/tealium-swift with updated
documentation https://community.tealiumiq.com/t5/Swift/tkb-p/swift.

utag_main_ses_id expiration

Gold Contributor
Gold Contributor

Hi @craig_rouse, yes, this is the information I was looking for.

And when you say that the cookie is reset after 30 minutes of inactivity, that means that if a user comes to the website, browses for 10 minutes, doesn't do anything for 40 minutes but left his browser on and clicks on a link on-site after that 40 minutes, this would count as 2 sessions, correct?

Also, if a user comes to the website for 10 minutes, leaves and comes back after 20 minutes, and then browses for another 5, this would count as one session?

 

utag_main_ses_id expiration

Tealium Employee

Hi @audrey_poulin both of the examples your state are correct. 

utag_main_ses_id expiration

Employee Emeritus

Hello @audrey_poulin. We just added information regarding session time criteria here: 

Thank you and let us know if you have any other questions!

Remember to give me a kudo if you like my post! Accepting my post as a solution is even better! Also remember that search is your friend.

utag_main_ses_id expiration

Gold Contributor
Gold Contributor
Thanks, that's good to know, although I would never have thought to look in the Audience Stream documentation for a Tealium IQ cookie question.

To be honest, this article: https://community.tealiumiq.com/t5/Tealium-iQ-Tag-Management/Tealium-Cookies/ta-p/138 is more where the session cookie should be better defined. It's really necessary to know when cookies expire since we may use those values in other tools that don't have the same definition of sessions or visitors.

utag_main_ses_id expiration

Bronze Contributor
Bronze Contributor

Hello Tealium Community,

Could you please tell us if this ID is Unique ?

Could it be possible that 2 sessions have the same ID ?

Cheers,

utag_main_ses_id expiration

Bronze Contributor
Bronze Contributor
+1 I need that information as well: how is the session ID calculated and is it possible to exist twice within a given time-period eg.: 1 year? @craig_rouse
Regards, Julian

utag_main_ses_id expiration

Tealium Employee
Reading the utag.js code directly, the session id is a just a timestamp tracking when someone landed on the page without a valid session in the cookie (after more than 30 mins). So theoretically two users arriving at the exact same time in milliseconds could be assigned the same session_id. We don't use that for any purposes than general tracking of user's sessions as far as I know.

RDses: function(o, a, c) {
a = (new Date()).getTime();//this is where the session is calculated
c = (a + parseInt(utag.cfg.session_timeout)) + "";
if (!o["cp.utag_main_ses_id"]) {
o["cp.utag_main_ses_id"] = a + "";
o["cp.utag_main__ss"] = "1";
o["cp.utag_main__sn"] = (1 + parseInt(o["cp.utag_main__sn"] || 0)) + "";
.....
Public