Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add in-client sessionization #19

Closed
alexanderdean opened this issue May 16, 2014 · 4 comments
Closed

Add in-client sessionization #19

alexanderdean opened this issue May 16, 2014 · 4 comments
Assignees
Labels
type:enhancement New features or improvements to existing features.
Milestone

Comments

@alexanderdean
Copy link
Member

It would be nice to create a way of doing client-side sessionization, somewhat similar to how the JavaScript Tracker does it:

The JavaScript Tracker sets a first-party cookie to track the Snowplow session. This
cookie is kept up to date with the latest activity. When there is a gap (of 30 minutes) in
activity, then the session index is incremented. This is sent through as vid here:

https://github.com/snowplow/snowplow/wiki/snowplow-tracker-protocol#15-user-related-parameters

It would be nice to do something equivalent for mobile. A few questions:

  1. How should we define the end of a session? Inactivity? Backgrounding? Something else?
  2. Should we make session definition customizable, or is that a world of pain?
  3. Where should this live? Do we overload the vid field or add this to the mobile context? Overloading vid feels a little messy but semantically this is the exact same data: the session index for a given client platform

/cc @yalisassoon @azsmith

@yalisassoon
Copy link
Member

From a purist perspective, I think sessionization should be done
server-side rather than client-side. If it's easy to do it client side then
by all means do it, but if it's not, then push that logic further down the
data pipeline.

On Fri, May 16, 2014 at 7:08 PM, Alexander Dean notifications@github.comwrote:

It would be nice to create a way of doing client-side sessionization,
somewhat similar to how the JavaScript Tracker does it:

The JavaScript Tracker sets a first-party cookie to track the Snowplow
session. This
cookie is kept up to date with the latest activity. When there is a gap
(of 30 minutes) in
activity, then the session index is incremented. This is sent through as
vid here:

https://github.com/snowplow/snowplow/wiki/snowplow-tracker-protocol#15-user-related-parameters

It would be nice to do something equivalent for mobile. A few questions:

  1. How should we define the end of a session? Inactivity?
    Backgrounding? Something else?
  2. Should we make session definition customizable, or is that a world
    of pain?
  3. Where should this live? Do we overload the vid field or add this to
    the mobile context? Overloading vid feels a little messy but
    semantically this is the exact same data: the session index for a given
    client platform

/cc @yalisassoon https://github.com/yalisassoon @azsmithhttps://github.com/azsmith


Reply to this email directly or view it on GitHubhttps://github.com//issues/19
.

Co-founder
Snowplow Analytics http://snowplowanalytics.com/
The Roma Building, 32-38 Scrutton Street, London EC2A 4RQ, United Kingdom
+44 (0)203 589 6116
+44 7841 954 117
@yalisassoon https://twitter.com/yalisassoonhttps://twitter.com/yalisassoon

@alexanderdean
Copy link
Member Author

I'm not sure if it's an expectation that mobile trackers will do client-side sessionization - @azsmith, @jonalmeida what have you seen of this in the other trackers? In any case, let's kick this to 0.2.0 so we have some time to figure out

@alexanderdean alexanderdean changed the title Come up with client-side sessionization algorithm Add in-client sessionization Jun 5, 2015
@alexanderdean
Copy link
Member Author

Depends on snowplow/iglu-central#180

@alexanderdean
Copy link
Member Author

We will populate a new context, ^^

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:enhancement New features or improvements to existing features.
Projects
None yet
Development

No branches or pull requests

4 participants