# Modal pop-up for first time visitor

**URL:** https://meta.discourse.org/t/modal-pop-up-for-first-time-visitor/42939
**Category:** Feature
**Created:** [April 21, 2016, 2:36pm UTC](https://meta.discourse.org/t/modal-pop-up-for-first-time-visitor/42939 "2016-04-21T14:36:24Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![trudat](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/trudat/32/104354_2.png) [@trudat](https://meta.discourse.org/u/trudat)
#### Post date: [April 21, 2016, 2:36pm UTC](https://meta.discourse.org/t/modal-pop-up-for-first-time-visitor/42939/1 "2016-04-21T14:36:24Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![ron\_jeremy](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ron_jeremy/32/56621_2.png) [@ron\_jeremy](https://meta.discourse.org/u/ron_jeremy)
#### Post date: [April 21, 2016, 4:40pm UTC](https://meta.discourse.org/t/modal-pop-up-for-first-time-visitor/42939/2 "2016-04-21T16:40:57Z")

</div>

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

---

<div class="post-metadata">

### Author: ![tomwrench](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tomwrench/32/54576_2.png) [@tomwrench](https://meta.discourse.org/u/tomwrench)
#### Post date: [April 21, 2016, 7:55pm UTC](https://meta.discourse.org/t/modal-pop-up-for-first-time-visitor/42939/3 "2016-04-21T19:55:53Z")

</div>

You could always try an external service, such as [https://getsitecontrol.com/](https://getsitecontrol.com/) ? 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.

---

<div class="post-metadata">

### Author: ![Mittineague](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mittineague/32/114259_2.png) [@Mittineague](https://meta.discourse.org/u/Mittineague)
#### Post date: [April 21, 2016, 8:16pm UTC](https://meta.discourse.org/t/modal-pop-up-for-first-time-visitor/42939/4 "2016-04-21T20:16:25Z")

</div>

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?

---

<div class="post-metadata">

### Author: ![trudat](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/trudat/32/104354_2.png) [@trudat](https://meta.discourse.org/u/trudat)
#### Post date: [April 21, 2016, 8:44pm UTC](https://meta.discourse.org/t/modal-pop-up-for-first-time-visitor/42939/5 "2016-04-21T20:44:16Z")

</div>

> [@tomwrench](#):
>
> You could always try an external service, such as [https://getsitecontrol.com/](https://getsitecontrol.com/) ?

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

> [@ron\_jeremy](#):
>
> Would the signup cta do the trick? In the Discourse Admin Settings section, search for the following:
> 
> enable signup

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

> [@Mittineague](#):
>
> How to you differentiate between a “first time visitor” and a member that hasn’t logged in?

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.

---

<div class="post-metadata">

### Author: ![erlend\_sh](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/erlend_sh/32/119475_2.png) [@erlend\_sh](https://meta.discourse.org/u/erlend_sh)
#### Post date: [April 26, 2016, 9:56am UTC](https://meta.discourse.org/t/modal-pop-up-for-first-time-visitor/42939/6 "2016-04-26T09:56:01Z")

</div>

> [@trudat](#):
>
> Does something like this already exist?

Yep, it does:

> [@Signup call-to-action when you read for a while](https://meta.discourse.org/t/signup-call-to-action-when-you-read-for-a-while/32228):
>
> 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. When logged in as anon, instead of throwing out post read time data, save it to localStorage. Save visits to localStorage too (one per calendar day). On the second visit if rea…

---

<div class="post-metadata">

### Author: ![Jody](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jody/32/146176_2.png) [@Jody](https://meta.discourse.org/u/Jody)
#### Post date: [November 15, 2023, 3:28pm UTC](https://meta.discourse.org/t/modal-pop-up-for-first-time-visitor/42939/8 "2023-11-15T15:28:21Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [December 11, 2023, 1:09am UTC](https://meta.discourse.org/t/modal-pop-up-for-first-time-visitor/42939/9 "2023-12-11T01:09:30Z")

</div>

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`.
