Modal pop-up for first time visitor

This is a feature suggestion, to have a modal pop-up that displays only for first time visitors to a Discourse site. The modal can be filled with HTML or other content types. The purpose is to say hello to first time visitors and encourage them to register.

This would most likely be implemented as a plug-in, called First time visitor.

Does something like this already exist?

Here are the settings I imagine the plug-in providing. I’d be glad to make a mock up, but I think we all know what a modal looks like.

Plug-in settings

  • Activate modal: on / off
  • Time delay before modal appears: ___ seconds
  • Modal appears on vertical scroll to: ___ % page
  • Modal content type: Markdown / HTML / Onebox / Default signup CTA
    • Enter content here
  • Display link to signup: on / off
  • Display link to a post: ____ [post id]
  • Display First time visitor on an anonymous user’s first ___ visits.

Would the signup cta do the trick? In the Discourse Admin Settings section, search for the following: enable signupI don’t know if you can customize it, but it does the trick as is.

1 Like

You could always try an external service, such as ? Here you can choose the type of window, who it targets etc.

I’ve been looking at this for my Discourse instance I’m currently working on.

1 Like

Only curious.

How to you differentiate between a “first time visitor” and a member that hasn’t logged in?

There is already the “Log In” modal for when a non-logged-in visitor wants to post a Reply.
There is already the “Hey there!” that shows at topic bottom when a non-logged-in visitor has read a few topics.

Would those not be enough?

This looks very promising. I may end up using this. Thanks

That accomplishes the most basic use case. If someone were to implement the proposed functionality, that would probably be the right place to start.

I’m assuming that Discourse is logging IP addresses and/or storing visit counts in a browser cookie. That info can be used to flag an anonymous user’s IP as belonging to a registered user. I’m assuming -optimistically- that Discourse’s API makes it easy to check this.

Yep, it does:


I feel bad resurrecting such an old post, but don’t see much elsewhere covering it… most likely meaning that it doesn’t exist or never happened. My twist is from one of my teams who wants to have a Modal pop-up when users first visit this new category… basically pinning it, with a twist.

Jody, this is feasible using a custom plugin (cause we would need server side state), if you would like us to quote the work shoot of an email to team.