Need to understand “last seen”

So, I searched the forum on “last seen” and found a post describing the new feature. The post says that it means the last time a free or paid member opened an email OR browsed the site.

A couple of questions:
I assume Ghost plants a cookie whenever someone logs in. Is this how the “last seen” tracks a member browsing content?
Is there a way to split out persons who visit the site from persons who only open emails from persons who do both?


Bump. Anybody got feedback?

I’m bumping this because I really need to understand how this works.

Does “last seen” mean the last time a member logged in, OR the last time the site saw their login cookie on their device? (I get the “opened email” part, which I assume is based on an embedded pixel.)

If someone logged in months ago, but visits the site every day, what will “last seen” show?

Just had a look into this and found the LastSeenUpdater.js, a file that basically takes care of well…updating the “last seen” info.

To summarise: updateLastSeenAt is invoked when:

  • MemberPageViewEvent is triggered – e.g. a member is logged in on your site and views a page
  • MemberLinkClickEvent is triggered – e.g. a member clicks a link in your email (that doesn’t necessarily have to link to your site, but can also be an external link)
  • EmailOpenedEvent is triggered – pretty self explanatory, when a member opens an email

If someone logged in months ago, but visits the site every day, what will “last seen” show?

If the member isn’t logged in, in my opinion, the “last seen” should be the last time they logged in OR interacted with one of your emails (given that their email client isn’t blocking the pixel), given that all the implementations of the update method require a memberId.

Hope this helps – if you have specific scenarios, I am happy to take another look :slight_smile:

1 Like

Okay, this is helpful. Since once a member logs in they stay logged in (reading the cookie), I assume the MemberPageViewEvent combines “Is this a logged in member” with the event of viewing a page.

Sorry to be so concerned about this – but with the fact that someone could log in and not have to log in again for a while, but continue to visit, I didn’t want to assume that “Last seen on June 1” meant they hadn’t visited the site at all since then.

Thanks for your help!

Yes, as far as I can see, the MemberPageViewEvent can only be triggered if the member is logged in. Once the member is logged out, the memberId shouldn’t be present, therefore not being able to trigger update the relevant data in the database.

From the things I see, “Last seen on June 1” would mean they could have indeed visited the site since then, however, not while being logged in.

Okay, one follow-up question.

If the cookie is present, that means they are a logged-in member, and “Last Seen” would be triggered.

How long does the log-in cookie last? If I log in in January, and never log out, and visit the site regularly, would each of those visits update the “Last Seen” value?

The reason I am so concerned about this is that I am about to remove members who have unsubscribed from all email newsletters AND have not been seen since last year. I want to be very sure that the “Last Seen” value is appropriate for this task.

The login cookie is good for six months.

There’s no guarantee that they haven’t visited the site from another device that wasn’t logged in, but… presumably if you have paywalled content they’d have logged in to access it?

I wouldn’t delete a paying user, but if a user isn’t subscribed to email and hasn’t visited the site in six+ months, I think deleting them is fair. They can just make a new account if they want one, no?

1 Like

Yes, they can. The six-months cookie life is good info; will affect how I approach this. Thanks!

1 Like