Discourse Welcome Modal

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 :slight_smile: )

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!

3 Likes