diff --git a/assets/features/streaks/days_off.png b/assets/features/streaks/days_off.png new file mode 100644 index 00000000..61b48662 Binary files /dev/null and b/assets/features/streaks/days_off.png differ diff --git a/assets/features/streaks/freeze_accumulation.mp4 b/assets/features/streaks/freeze_accumulation.mp4 new file mode 100644 index 00000000..839e931f Binary files /dev/null and b/assets/features/streaks/freeze_accumulation.mp4 differ diff --git a/assets/features/streaks/freeze_grants.mp4 b/assets/features/streaks/freeze_grants.mp4 new file mode 100644 index 00000000..70d75b63 Binary files /dev/null and b/assets/features/streaks/freeze_grants.mp4 differ diff --git a/es/features/streaks.mdx b/es/features/streaks.mdx index 6afd94f2..d58b40fa 100644 --- a/es/features/streaks.mdx +++ b/es/features/streaks.mdx @@ -2,7 +2,7 @@ title: Rachas description: Aprende a usar rachas en una experiencia de producto gamificada con Trophy. og:description: Usa rachas diarias, semanales o mensuales para crear patrones de - uso habitual y mantener a los usuarios regresando a tu aplicación. + uso habituales y mantener a los usuarios regresando a tu aplicación. icon: flame --- @@ -10,23 +10,23 @@ import MetricChangeResponseBlock from "../../snippets/metric-change-response-blo ## ¿Qué son las Rachas? {#what-are-streaks} -Una racha es un período de días, semanas o meses consecutivos en los que un usuario ha realizado una acción clave en tu plataforma. Se ha demostrado que las rachas aumentan significativamente la retención, especialmente cuando la acción del usuario que se rastrea se alinea con el valor central de tu producto. +Una racha es un período de días, semanas o meses consecutivos en los que un usuario ha realizado una acción clave en tu plataforma. Se ha demostrado que las rachas aumentan significativamente la retención, particularmente cuando la acción del usuario que se rastrea se alinea con el valor central de tu producto. -## Frecuencia de Racha {#streak-frequency} +## Frecuencia de Rachas {#streak-frequency} -Las rachas en Trophy pueden ser **diarias, semanales o mensuales**. Esto significa que un usuario debe cumplir sus [condiciones de racha](#streak-conditions) al menos una vez cada día, semana o mes del calendario para mantener su racha. +Las rachas en Trophy pueden ser **diarias, semanales o mensuales**. Esto significa que un usuario debe cumplir sus [condiciones de racha](#streak-conditions) al menos una vez cada día calendario, semana o mes para mantener su racha. Si has [configurado zonas horarias](/es/features/users#param-tz) para tus usuarios, Trophy rastreará automáticamente la racha de cada usuario en su zona horaria local (incluyendo cuando los usuarios cambian de zona horaria) y mantendrá las rachas intactas. -Trophy calcula automáticamente los datos de racha para cada frecuencia de racha, lo que significa que puedes cambiar en cualquier momento. +Trophy calcula automáticamente los datos de rachas para cada frecuencia de racha, lo que significa que puedes cambiar en cualquier momento. ## Condiciones de Racha {#streak-conditions} En Trophy puedes establecer los umbrales que un usuario debe cumplir para extender su racha basándote en tus [Métricas](/es/features/metrics) configuradas. -Puedes elegir qué métricas deben formar parte de tu racha, y para las que elijas, puedes establecer un umbral personalizado que los usuarios deben cumplir. +Puedes elegir qué métricas deben formar parte de tu racha, y para aquellas que elijas, puedes establecer un umbral personalizado que los usuarios deben cumplir. -Al combinar métricas de esta manera, puedes elegir entre dos modos de evaluación: +Al combinar métricas, puedes elegir entre dos modos de evaluación: - `ALL` significa que un usuario debe cumplir todos los umbrales de métricas para extender su racha - `OR` significa que un usuario solo tiene que cumplir uno de tus umbrales de métricas para extender su racha -De esta manera puedes diseñar tu lógica de rachas para que se ajuste al caso de uso de tu aplicación. +De esta manera puedes diseñar tu lógica de racha para que coincida con el caso de uso de tu aplicación. -## Congelaciones de Rachas {#streak-freezes} +### Días libres {#days-off} -Las congelaciones de rachas ayudan a los usuarios a mantener sus rachas por más tiempo al permitirles perder períodos sin que se restablezcan a cero. Esto ayuda a mantener las rachas motivadoras incluso si los usuarios no mantienen un hábito de uso perfecto. +Para rachas diarias, puedes marcar días específicos de la semana como días libres en la [página de rachas](https://app.trophy.so/streaks) del panel de Trophy. Esos días no cuentan para la racha: los usuarios aún pueden extender su racha si están activos, pero perder un día libre no la romperá. -Las congelaciones de rachas son opcionales en Trophy pero pueden configurarse en la [página de rachas](https://app.trophy.so/streaks) del panel de Trophy. +Debes dejar al menos un día que cuente para la racha. Las rachas semanales y mensuales ignoran los días libres. -### Otorgar Congelaciones Iniciales {#granting-initial-freezes} +A diferencia de las [congelaciones de racha](#streak-freezes), los días libres no se consumen. Se aplican cada semana hasta que los cambies. -Puedes configurar cualquier número arbitrario de congelaciones para otorgar a nuevos usuarios cuando los identifiques por primera vez con Trophy. +Si has habilitado la [personalización de racha](#streak-personalization), los usuarios pueden anular los días libres predeterminados a través de las [preferencias de usuario](/es/features/users#streak-preferences). - -Otorgar demasiadas congelaciones a los usuarios puede disminuir su valor percibido, pero conceder muy pocas congelaciones podría resultar en un mayor número de rachas perdidas. Un buen punto de partida es una congelación por usuario, ¡pero el truco está en experimentar! - +## Congelaciones de racha {#streak-freezes} -### Acumulación de Congelaciones {#freeze-accumulation} +Las congelaciones de racha ayudan a los usuarios a mantener sus rachas por más tiempo al permitirles perder un número determinado de períodos sin que se reinicie a cero. Esto ayuda a mantener las rachas motivadoras incluso si los usuarios no mantienen un hábito de uso perfecto. -A medida que los usuarios agotan las congelaciones de rachas, necesitarán un suministro continuo de nuevas para seguir adelante. Para facilitar esto, Trophy puede otorgar automáticamente congelaciones de rachas a los usuarios con el tiempo. Puedes elegir un número arbitrario de días durante los cuales otorgar un número arbitrario de congelaciones a cada usuario. +Las congelaciones de racha son opcionales y pueden configurarse en la [página de rachas](https://app.trophy.so/streaks) del panel de Trophy. -Si has [configurado zonas horarias](/es/features/users#param-tz) para tus usuarios, Trophy consumirá automáticamente las congelaciones a medianoche en la zona horaria del usuario cuando sea necesario para extender su racha, y si hay nuevas congelaciones pendientes de otorgar a un usuario, se otorgarán hasta diez minutos después. +Cuando se habilitan, tú decides cuántas congelaciones puede tener un usuario y cuántas se le otorgan con el tiempo. Cuando un usuario pierde un período, se consume una congelación. Las congelaciones se consumen hasta que los usuarios no tengan más congelaciones disponibles, momento en el cual la racha del usuario se reinicia a cero. -### Cantidad Máxima de Congelaciones {#maximum-freeze-count} + +Las congelaciones de racha son diferentes de las [pausas de racha](#streak-pauses) en que las congelaciones permiten a los usuarios perder un número determinado de períodos sin romper su racha, independientemente del motivo, mientras que las pausas de racha protegen específicamente una racha durante un rango de fechas conocido y predefinido, como unas vacaciones programadas o un descanso. Las congelaciones se consumen automáticamente cuando el usuario pierde una actividad requerida, mientras que las pausas se crean manualmente con anticipación para cubrir ausencias planificadas. + -En Trophy también configuras el número máximo de congelaciones que cada usuario puede tener, hasta un límite de 100. La [acumulación de congelaciones](#freeze-accumulation) solo otorgará congelaciones hasta este límite. +### Concesión de congelaciones {#granting-freezes} -## Pausas de Racha {#streak-pauses} +Puedes configurar cualquier cantidad de congelaciones arbitrarias para conceder a nuevos usuarios cuando los identificas por primera vez con Trophy. Para configurar esto, habilita la concesión de congelaciones y establece el recuento inicial de congelaciones en la página de rachas del panel de Trophy. -Las pausas de racha protegen la racha de un usuario durante un rango de fechas conocido, como unas vacaciones u otra pausa planificada. Mientras una pausa cubre un período, Trophy mantiene la duración de la racha del usuario en lugar de terminarla si no cumple sus [condiciones de racha](#streak-conditions). + + + -### Crear Pausas {#creating-pauses} +Trophy también puede conceder automáticamente congelaciones de racha a los usuarios con el tiempo. Puedes elegir una cantidad arbitraria de días durante los cuales conceder una cantidad arbitraria de congelaciones a cada usuario. -Crea pausas con la [API de administración para crear pausas de racha](/es/admin-api/endpoints/streaks/create-pauses). Puedes crear pausas para hasta 100 usuarios en una sola solicitud. +Para configurar esto, establece el número de días durante los cuales conceder congelaciones y el número de congelaciones a conceder en la página de rachas del panel de Trophy. Aquí también puedes establecer el número máximo de congelaciones que cada usuario puede tener, hasta un límite de 100. + + + + + +Si has configurado zonas horarias para tus usuarios, Trophy consumirá automáticamente congelaciones a medianoche en la zona horaria del usuario cuando sea necesario para extender su racha, y si hay nuevas congelaciones que deban concederse a un usuario, se concederán hasta diez minutos después. +## Pausas de racha {#streak-pauses} + +Las pausas de racha protegen la racha de un usuario durante un rango de fechas conocido, como unas vacaciones u otro descanso planificado. Mientras una pausa cubre un período, Trophy mantiene la duración de la racha del usuario en lugar de finalizar la racha si no cumplen sus [condiciones de racha](#streak-conditions). + + +Las pausas de racha son diferentes de las [congelaciones de racha](#streak-freezes) en que las pausas protegen específicamente la racha de un usuario durante un rango de fechas conocido y predefinido, como unas vacaciones o descanso programado, mientras que las congelaciones permiten a los usuarios perderse un número establecido de días (o períodos) sin romper su racha, independientemente del motivo. Las pausas se crean manualmente con antelación para cubrir ausencias planificadas, mientras que las congelaciones se consumen automáticamente cuando el usuario pierde una actividad requerida. + + +### Crear pausas {#creating-pauses} + +Crea pausas con la [API de administración para crear pausas de rachas](/es/admin-api/endpoints/streaks/create-pauses). Puedes crear pausas para hasta 100 usuarios en una única solicitud. Cada pausa requiere: -- `userId`: el usuario para el que crear una pausa +- `userId`: el usuario para el cual crear la pausa - `start`: la primera fecha que cubre la pausa - `end`: la última fecha que cubre la pausa -Las fechas de inicio en el pasado se rechazan. Si has [configurado zonas horarias](/es/features/users#param-tz) para tus usuarios, Trophy evalúa `start` contra el día de hoy en la zona horaria local de cada usuario. +Las fechas de inicio en el pasado se rechazan. Si has [configurado zonas horarias](/es/features/users#param-tz) para tus usuarios, Trophy evalúa `start` contra hoy en la zona horaria local de cada usuario. -### Eliminar Pausas {#deleting-pauses} +### Eliminar pausas {#deleting-pauses} -Para dejar de aplicar una pausa, elimínala con la [API de administración para eliminar pausas de racha](/es/admin-api/endpoints/streaks/delete-pauses). +Para evitar que se aplique una pausa, elimínala con la [API de administración para eliminar pausas de rachas](/es/admin-api/endpoints/streaks/delete-pauses). -### Leer Pausas {#reading-pauses} +### Leer pausas {#reading-pauses} -La [API de rachas de usuario](/es/api-reference/endpoints/users/get-a-users-streak) devuelve las pausas próximas y actualmente activas en el campo `pauses`. Se omiten las pausas pasadas y eliminadas. +La [API de rachas de usuario](/es/api-reference/endpoints/users/get-a-users-streak) devuelve las pausas próximas y actualmente activas en el campo `pauses`. Las pausas pasadas y eliminadas se omiten. -Cada período en `streakHistory` incluye `usedPause`, que es `true` cuando la racha del usuario estuvo en pausa durante ese período. +Cada período en `streakHistory` incluye `usedPause`, que es `true` cuando la racha del usuario estuvo pausada durante ese período. -## Seguimiento de Rachas {#tracking-streaks} +## Hacer seguimiento de rachas {#tracking-streaks} -Trophy calcula automáticamente las rachas para todos los usuarios en función de los [eventos de métrica](/es/features/events#tracking-metric-events) que reportes a Trophy. +Trophy calcula automáticamente las rachas para todos los usuarios según los [eventos de métricas](/es/features/events#tracking-metric-events) que reportas a Trophy. -No se requiere trabajo adicional para realizar el seguimiento de rachas, y puedes comenzar a usarlas de inmediato. Solo asegúrate de que las rachas estén habilitadas en el panel de Trophy. +No se requiere trabajo adicional para hacer seguimiento de rachas, y puedes empezar a usarlas de inmediato. Solo asegúrate de que las rachas estén habilitadas en el panel de Trophy. -Para un recorrido completo sobre cómo configurar una función de rachas usando Trophy, consulta nuestra [guía oficial](/es/guides/how-to-build-a-streaks-feature). +Para una guía completa sobre cómo configurar una funcionalidad de rachas usando Trophy, consulta nuestra [guía oficial](/es/guides/how-to-build-a-streaks-feature). -## Personalización de Rachas {#streak-personalization} +## Personalización de rachas {#streak-personalization} -Trophy puede permitir que los usuarios personalicen cómo funciona su racha dentro de los límites que establezcas para ellos. +Trophy puede permitir que los usuarios personalicen cómo funciona su racha dentro de los límites que establezcas para ellos. Para hacer esto, activa la personalización de rachas en la [página de rachas](https://app.trophy.so/streaks) del panel de Trophy. -Para hacer esto, activa la personalización de rachas en la [página de rachas](https://app.trophy.so/streaks) del panel de Trophy. +Una vez habilitado, los usuarios podrán personalizar las [condiciones de racha](#streak-conditions) que deben cumplir para extender su racha, incluido el modo de evaluación de racha, el umbral para cada métrica y [días libres](#days-off), a través de preferencias de usuario. + + +Para obtener más información sobre cómo establecer las preferencias de usuario para un usuario específico, consulta la documentación dedicada sobre [preferencias de usuario](/es/features/users#streak-preferences). + -## Mostrar Rachas {#displaying-streaks} +## Visualización de Rachas {#displaying-streaks} -Trophy expone los datos de rachas de dos formas, que pueden usarse para construir elementos de interfaz dentro de tus aplicaciones y mostrar rachas a los usuarios. +Trophy expone los datos de rachas de dos formas, que pueden utilizarse para crear elementos de interfaz dentro de tus aplicaciones y mostrar rachas a los usuarios. - Consulta nuestra [guía completa](/es/guides/how-to-build-a-streaks-feature) sobre cómo agregar una funcionalidad de rachas a tu aplicación para más detalles. + Consulta nuestra [guía completa](/es/guides/how-to-build-a-streaks-feature) sobre cómo añadir una + función de rachas a tu aplicación para obtener más detalles. ### Respuesta de Evento de Métrica {#metric-event-response} @@ -179,14 +207,14 @@ Cuando [incrementas una métrica](/es/features/events#tracking-metric-events) pa -Esto puede usarse para activar transaccionalmente elementos de UI/UX incluyendo: +Esto puede utilizarse para activar de forma transaccional elementos de interfaz/experiencia de usuario que incluyen: - Mostrar ventanas emergentes dentro de la aplicación - Reproducir efectos de sonido ### API de Rachas de Usuario {#user-streaks-api} -La [API de rachas de usuario](/es/api-reference/endpoints/users/get-a-users-streak) devuelve la racha actual de un usuario individual, junto con su historial reciente de rachas y cualquier [pausa de racha](#streak-pauses) próxima o activa. Usa el parámetro de consulta `historyPeriods` para controlar cuántos períodos devolver. +La [API de rachas de usuario](/es/api-reference/endpoints/users/get-a-users-streak) devuelve la racha actual de un solo usuario, junto con su historial reciente de rachas y cualquier [pausa de racha](#streak-pauses) próxima o activa. Utiliza el parámetro de consulta `historyPeriods` para controlar cuántos períodos devolver. {/* vale off */} @@ -255,7 +283,7 @@ La [API de rachas de usuario](/es/api-reference/endpoints/users/get-a-users-stre {/* vale on */} -Usa estos datos para mostrar el historial de rachas de un usuario dentro de tu aplicación. +Utiliza estos datos para mostrar el historial de rachas de un usuario dentro de tu aplicación. Trophy solo establecerá valores de atributos que hayan sido creados previamente @@ -227,7 +227,7 @@ Cuando le informas a Trophy sobre un usuario en tu plataforma, llamamos a esto * La identificación en línea es la forma más sencilla de informar a Trophy sobre tus usuarios, ya que no requiere ningún código específico de identificación de usuarios. Simplemente le informas a Trophy sobre los usuarios a medida que utilizan normalmente tu plataforma. -En la práctica, esto significa que cada vez que utilizas la [API de Eventos de Métricas](/es/api-reference/endpoints/events/submit-a-metric-event), proporcionas los detalles completos del usuario que desencadenó el evento. +En la práctica, esto significa que cada vez que utilices el [API de Eventos de Métrica](/es/api-reference/endpoints/events/submit-a-metric-event), debes pasar los detalles completos del usuario que desencadenó el evento. Aquí hay un ejemplo donde se realiza una llamada a la API de eventos de métricas, y los detalles del usuario que realizó la interacción se incluyen en el cuerpo de la solicitud: @@ -367,7 +367,7 @@ Una vez que hayas obtenido y mostrado las preferencias, los usuarios pueden real ### Preferencias de Racha {#streak-preferences} -Trophy permite configurar las preferencias de racha de los usuarios, lo que les permite personalizar las condiciones que deben cumplir para extender su racha. +Trophy admite preferencias de usuario para rachas, permitiendo a los usuarios personalizar las condiciones que deben cumplir para extender su racha, incluyendo qué días de la semana cuentan para ella. Para usar las preferencias de racha, debes tener la [personalización de rachas](/es/features/streaks#streak-personalization) habilitada. @@ -375,9 +375,10 @@ Para usar las preferencias de racha, debes tener la [personalización de rachas] Una vez habilitada la personalización de rachas, la [API de actualización de preferencias](/es/api-reference/endpoints/users/update-user-preferences) te permitirá sobrescribir la configuración predeterminada de rachas para un usuario específico. -Las siguientes configuraciones de racha pueden ser sobrescritas por las preferencias del usuario: +Las siguientes configuraciones de racha pueden ser anuladas por las preferencias de usuario: +- `metrics`: Un array de [métricas](/es/features/metrics) con umbrales personalizados requeridos para extender la racha. - `evaluationMode`: Determina cómo se combinan las métricas para extender la racha. Puede ser `ALL` o `OR`. -- `metrics`: Un array de métricas con umbrales personalizados requeridos para extender la racha. +- `daysOff`: Un array de números de días de la semana (`0` = domingo hasta `6` = sábado) que anulan los [días libres](/es/features/streaks#days-off) de la organización. El usuario no perderá su racha si está inactivo en estos días. diff --git a/features/streaks.mdx b/features/streaks.mdx index 503949ac..61d03f95 100644 --- a/features/streaks.mdx +++ b/features/streaks.mdx @@ -37,49 +37,82 @@ You can choose which metrics should be part of your streak, and for those that y /> -When combining metrics in this way, you can choose between two evaluation modes: +When combining metrics, you can choose between two evaluation modes: - `ALL` means a user must meet every metric threshold to extend their streak - `OR` means a user only has to meet one of your metric thresholds to extend their streak In this way you can design your streak logic to match your application use case. -## Streak Freezes {#streak-freezes} +### Days Off {#days-off} -Streak freezes help users keep their streaks for longer by allowing them to miss periods without it resetting to zero. This helps keep streaks motivating even if users don't maintain a perfect usage habit. +For daily streaks, you can mark specific days of the week as days off on the [streaks page](https://app.trophy.so/streaks) of the Trophy dashboard. Those days do not count toward the streak: users can still extend their streak if they are active, but missing a day off will not break it. -Streak freezes are optional in Trophy but can be configured on the [streaks page](https://app.trophy.so/streaks) of the Trophy dashboard. +You must leave at least one day that counts toward the streak. Weekly and monthly streaks ignore days off. -### Granting Initial Freezes {#granting-initial-freezes} +Unlike [streak freezes](#streak-freezes), days off are not consumed. They apply every week until you change them. -You can configure any number of arbitrary freezes to grant to new users when you first identify them with Trophy. +If you've enabled [streak personalization](#streak-personalization), users can override the default days off through [user preferences](/features/users#streak-preferences). - -Giving users too many freezes may decrease their perceived value, but granting too few freezes might result it a higher number of lost streaks. A good starting point is one freeze per user, but the trick is to experiment! - +## Streak Freezes {#streak-freezes} + +Streak freezes help users keep their streaks for longer by allowing them to miss a set number of periods without it resetting to zero. This helps keep streaks motivating even if users don't maintain a perfect usage habit. -### Freeze Accumulation {#freeze-accumulation} +Streak freezes are optional and can be configured on the [streaks page](https://app.trophy.so/streaks) of the Trophy dashboard. -As users use up streak freezes, they'll need a continuous supply of new ones to keep them going. To facilitate this, Trophy can automatically grant streak freezes to users over time. You can choose an arbitrary number of days over which to grant an arbitrary number of freezes to each user. +When enabled, you decide how many freezes a user can have, and how many are granted to them over time. When a user misses a period, one freeze is consumed. Freezes are consumed until users have no freezes left, at which point the user's streak is reset to zero. -If you've [configured time zones](/features/users#param-tz) for your users, Trophy will automatically consume freezes at midnight in the user's time zone when necessary to extend their streak, and if any new freezes are due to be granted to a user, they will be granted up to ten minutes later. + +Streak freezes are different from [streak pauses](#streak-pauses) in that freezes allow users to miss a set number of periods without breaking their streak, regardless of the reason, while streak pauses specifically protect a streak over a known and pre-defined date range, such as a scheduled vacation or break. Freezes are consumed automatically when the user misses a required activity, whereas pauses are manually created in advance to cover planned absences. + + +### Granting Freezes {#granting-freezes} + +You can configure any number of arbitrary freezes to grant to new users when you first identify them with Trophy. To set this up, enable freeze grants and set the starting freeze count on the streaks page of the Trophy dashboard. + + + + -### Maximum Freeze Count {#maximum-freeze-count} +Trophy can also automatically grant streak freezes to users over time. You can choose an arbitrary number of days over which to grant an arbitrary number of freezes to each user. -In Trophy you also configure the maximum number of freezes that each user can have, up to a limit of 100. [Freeze accumulation](#freeze-accumulation) will only ever grant freezes up to this limit. +To set this up, set the number of days over which to grant freezes and the number of freezes to grant on the streaks page of the Trophy dashboard. Here you can also set the maximum number of freezes that each user can have, up to a limit of 100. + + + + +If you've configured time zones for your users, Trophy will automatically consume freezes at midnight in the user's time zone when necessary to extend their streak, and if any new freezes are due to be granted to a user, they will be granted up to ten minutes later. ## Streak Pauses {#streak-pauses} Streak pauses protect a user's streak over a known date range, such as a vacation or other planned break. While a pause covers a period, Trophy maintains the user's streak length instead of ending the streak if they miss their [streak conditions](#streak-conditions). + +Streak pauses are different from [streak freezes](#streak-freezes) in that pauses specifically protect a user's streak over a known and pre-defined date range, such as a scheduled vacation or break, while freezes allow users to miss a set number of days (or periods) without breaking their streak, regardless of the reason. Pauses are manually created in advance to cover planned absences, whereas freezes are consumed automatically when the user misses a required activity. + + ### Creating Pauses {#creating-pauses} Create pauses with the [create streak pauses admin API](/admin-api/endpoints/streaks/create-pauses). You can create pauses for up to 100 users in a single request. @@ -114,9 +147,13 @@ For a full walk through on how to set up a streak feature using Trophy, check ou ## Streak Personalization {#streak-personalization} -Trophy can support users personalizing how their streak works within guardrails you set for them. +Trophy can support users personalizing how their streak works within guardrails you set for them. To do this, turn on streak personalization in the [streaks page](https://app.trophy.so/streaks) of the Trophy dashboard. -To do this, turn on streak personalization in the [streaks page](https://app.trophy.so/streaks) of the Trophy dashboard. +Once enabled, users will be able to customize the [streak conditions](#streak-conditions) that they must meet to extend their streak, including streak evaluation mode, the threshold for each metric, and [days off](#days-off), through user preferences. + + +To learn more about how to set user preferences for a specific user, read the dedicated documentation on [user preferences](/features/users#streak-preferences). +