Signup call-to-action when you read for a while

When people browse around reading topics anonymously, they aren’t getting their read time saved to the server, and their visits don’t count for promotion. But most importantly, the last read position doesn’t get saved, so they don’t enter where they left off.

I want to let these people know what they’re missing out on.

  1. When logged in as anon, instead of throwing out post read time data, save it to localStorage.
  2. Save visits to localStorage too (one per calendar day).
  3. On the second visit if read time was already >=10 minutes, or immediately when read time is >= 30 minutes, pop up a call-to-action explaning the benefits of logging in and signing up for an account.

This needs to be disabled on sites that are: invite only, login required, must approve users. TODO: Should it be disabled with SSO? Probably not.

Proposed copy

Not sure which style is better. Patches welcome :stuck_out_tongue:

On a “visit” (full page load >24 hours after the first one)

Hey, welcome back! You’ve read quite a few posts, but you’re not signed up for an account, so you’re missing out. Logged-in users get their last post position saved in every topic, and you can track topics so that they’re highlighted in the list when there’s new posts. Why not create one now?
Click to hide forever.

When read time hits 30 minutes:

Sorry to interrupt your reading, but you’ve been missing out. If you sign up for an account, when you come back, the page will pick up where you left off, along with lots of other cool features, including notifications for new posts in threads you care about.
Don’t worry! We’ll remember where you are right now and make sure to bring you right back.
Sign me up! Maybe Later Never show this again


  • If the activation is too touchy, we’ll annoy drive-by visitors.
  • Need to add a new facility (that’s not the bootbox modal) for a popup that doesn’t block you from continuing to use the site.

The feature is now ready in a WIP form. Here’s the current display conditions:

  • entered 5 topics
  • read for 15 minutes
  • page was loaded 24 hours after the first visit (tech note: this prevents it from ever showing up if localStorage is disabled)
  • “Maybe Later” not clicked in the last 24 hours

I like it! As long as it is scoped to anon users who have significant read time it fits our Just In Time philosophy.


On by default but setting to disable.

I have no real idea of how Discourse would be be as an “interested” anon, so I can only guess.

AFAIK some browsers prompt for “Site wants to use local storage. Allow?”
For non-techies this might raise concern, heck, some people don’t even like cookies.

But I agree that if someone has invested considerable time on a Discourse forum it is a very good idea to make them aware of the benefits of being a registered member.

I have felt that when they feel compelled strongly enough to want to reply that that would be enough incentive to register.

In any case, the benefits of being registered vs. an anon “lurker” should be more prominent somewhere somehow

Maybe something like “no need to bookmark your favorite discussions here, get emails”

That’s exactly what this is about. Talking about the benefits when we’re fairly certain the user fits a certain archetype, and not before that.


The trick is to find a balance between being obvious without being obnoxious.

From what I can surmise, many registered members fail to read the FAQ or pay heed to “educational” modals.

Maybe a lightbox wouldn’t be pushing things too far?

Very good idea! Also like the two distinct triggers with their respective copy. Only thing I wouldn’t want here is any form of pop-up whatsoever. I don’t quite know where to put the “welcome back!” yet, but the “sorry to interrupt your reading” should not have to be sorry at all, because it could be put in an unobtrusive place like this:

Edit: On second thought, are the two pieces of copy really necessary? I still like the two triggers, but I think perhaps they should both boil down to the same call-to-action. Less fuzz all around, for admins, translators and the UX.


That could begin to look odd if there’s already a banner on the site. Would it replace an existing banner or appear in addition?

That’s not a banner, what is pictured is text at the bottom of a topic.

Whoops, that’s what I get for responding before I caffeinate…

1 Like

I like this but I think that sites who are exclusive to certain people but allow public reading would not want something like this. Perhaps if implemented an enable / disable function would best suffice?

1 Like

That’s what “require approval” is, which would turn this off.

Has this already been released?

No, it is under discussion. I think it’s a very good idea though.


I strongly agree that this should not be a pop up. If I’m browsing a site, even one I’ve visited quite a bit and am pretty familiar with, and a pop up appears blocking my field of view, my immediate reflex is going be to feel annoyed and instantly click in the area outside the popup. If that doesn’t cause the popup to close, I will then feel even more annoyed and begin hunting for an exit button on the pop up itself. Not a very good user experience.

The inline banner is a pretty decent idea though, IMO. For best results, I would recommend putting SSO buttons on the message banner itself. That way, the user will know that the signup process is unlikely to take more than 10-15 seconds. :smile:


Comments on the copy / wording? :smile:

It replaces the “Log In to Reply” button that is normally there.

Current conditions are:

  • entered 5 topics
  • read for 15 minutes
  • page was loaded 24 hours after the first visit (tech note: this prevents it from ever showing up if localStorage is disabled)
  • “Maybe Later” not clicked in the last 24 hours

The 3rd paragraph (these need a lot more copy editing):

    sso: "Use your account on the main site to log in."
    only_email: "Signing up is easy: you just need a valid email account and a password."
    only_other: "Use your %{provider} account to sign up."
    one_and_email: "Use your %{provider} account, or an email and password, to sign up."
    multiple_no_email: "Choose from any of the %{count} supported login providers to get started."
    multiple: "Signing up couldn't be easier: use any of the %{count} available login providers, or sign up with an email and password."

Too much text …

Change “Sounds Great!” to “Sign Up” and “Maybe Later”, “Remind me tomorrow”

Make box a 1/3 the width and docked below header, get rid of at least 60% of the text.

I placed it at the bottom of the topic instead of docked below the header so that it doesn’t pop in while you’re reading something.

Yeah, it’s a bit wide (except on mobile)

[quote=“sam, post:17, topic:32228”]
get rid of at least 60% of the text.
[/quote]Any suggestions as to how? Don’t want to lose the “explaining the benefits” part. Code is here:

I can copyedit the text, worry about getting the feature in, and working, and I’ll tweak the text as we go. Don’t get hung up on specifics of text.


I really like the idea of popping it here:

cause it is a general use blank space that we will extend for other short lived notifications.

1 Like