# Discourse Welcome Modal

**URL:** <https://meta.discourse.org/t/discourse-welcome-modal/395095>\
**Category:** Theme component\
**Created:** [February 3, 2026, 11:48pm UTC](https://meta.discourse.org/t/discourse-welcome-modal/395095 "2026-02-03T23:48:20Z")\
**Posts on this page:** 1\
**Showing post:** 7

<div class="post-metadata">

**Author:** ![noahl](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/noahl/32/552343_2.png) [@noahl](https://meta.discourse.org/u/noahl)\
**Post date:** [February 6, 2026, 1:43pm UTC](https://meta.discourse.org/t/discourse-welcome-modal/395095/7 "2026-02-06T13:43:32Z")

</div>

> [@marksalter](#):
>
> Would be nice if we could stipulate which messages were shown to new users vs existing users who haven’t been active during the grace period

Love this idea! It was something I had considered for the first pass, but I decided to keep the initial release simple.

Anyway, I’ve just pushed an update that implements this segmentation! There is a small change to the logic to distinguish between different user states so you can tailor the content without being intrusive.

**How it works now:**

**1. The Definitions**

- **New Users:** Registered on or after your `feature_enabled_date`.
- **Existing Users:** Registered before that date.
- **Engaged Users:** Members visiting regularly (within your inactivity window).
- **Returning Users:** Previously engaged members who stayed away long enough to exceed the inactivity threshold.

**2. The Logic Flow** To ensure we don’t annoy your most active members, the component follows a specific priority:

- **New Registration:** They see the modal immediately (targeted with cards marked `new_users` or `both`).
- **Grace Period:** If an ‘Existing User’ visits during your grace period, the component **silently marks them as seen** so they aren’t interrupted.
- **The Inactivity Gap:** Once a user is marked as ‘seen’, the component tracks visits locally. If they visit daily, they stay **Engaged** and never see it again. They only see it (as a **Returning User** ) if the gap between their visits exceeds your `returning_user_inactivity_months` setting (this is a new setting 🙂 )

**3. Tailored Content** You can now use the `displayFor` setting on each card:

- `new_users`: Perfect for ‘How to post’ or ‘Introduce yourself.’
- `returning_users`: Perfect for ‘Check out what’s changed while you were gone.’
- `both`: Essential links like Guidelines or FAQ.

I’ve also added preview parameters so you can test these flows easily: `?show-welcome-modal=true&user-type=new` or `&user-type=returning`.

Thanks again for the nudge!

---

_[View the full topic](https://meta.discourse.org/t/discourse-welcome-modal/395095)._
