How to Use Signals and Quirks for User Authentication in Personalization

Last updated: October 8, 2025

When implementing personalization based on user authentication status, you have two main options: Signals and Quirks. This article explains how to use each method effectively.

Using Quirks for Authentication

For authentication purposes, it's generally better to use Quirks. A Quirk is a programmatically set key-value pair that stores information about a particular visitor.

  1. Set up a Quirk (e.g., isAuthorized = true) to represent the user's authentication status.

  2. Use this Quirk to create visibility rules for your components. For example, you can set Component A to be visible only when isAuthorized = true.

For more information on setting up visibility rules, refer to our Component Visibility Control documentation.

Using Signals for Authentication

While Quirks are preferred for authentication, you can also use Signals. However, be cautious with their configuration:

  1. Create a Signal based on a Quirk:

  2. Configure the Signal's lifetime:

    • Current session: Considers events in the current session only.

    • Permanent: Considers events from any session (use with caution).

    • Transient: Not suitable for authentication signals.

  3. If using a permanent Signal, implement both login and logout Signals:

    • Increment the score when the login Signal is triggered.

    • Decrement the score when the logout Signal is triggered.

  4. Attach your Signal to a specific audience to keep the classification vector up to date.

Best Practices

  • For simple authentication-based personalization, prefer Quirks over Signals.

  • If using Signals, carefully consider the lifetime and implement both login and logout mechanisms.

  • Use visibility rules with Quirks for straightforward component display logic based on authentication status.

For a more in-depth understanding of our personalization engine and the new business rules engine (visibility rules), consider scheduling a walkthrough session with our support team.