Saltar al contenido principal

¿Qué son los Logros?

Los logros son recompensas que los usuarios pueden desbloquear mientras usan tu plataforma. Se pueden utilizar para recompensar a los usuarios por lograr un progreso continuo en los recorridos principales del usuario, o para motivar a los usuarios a explorar funciones más nuevas. Los logros funcionan mejor cuando están diseñados para incentivar a los usuarios a realizar acciones que probablemente aumenten la retención.
Usa las analíticas de métricas de Trophy para comparar la retención de cada interacción del usuario, y luego configura logros en torno a estas interacciones para maximizar el impacto en la retención.
Aquí veremos los tipos de logros que puedes construir con Trophy, las diferentes formas de usarlos y cómo integrarlos en tu plataforma. Mira cómo Charlie muestra el uso de logros en una aplicación NextJS:

Tipos de Logros

Trophy ofrece cuatro tipos de logros: Métricas, API, Rachas y logros compuestos, detallados a continuación.

Logros de Métricas

Los logros de métricas están vinculados a Métricas y se utilizan mejor cuando quieres incentivar a los usuarios a realizar la misma acción una y otra vez. Tomemos el ejemplo de una plataforma de estudio que usa Trophy para animar a los usuarios a ver más tarjetas de memoria con logros de métricas de la siguiente manera:
  • 1.000 tarjetas de memoria
  • 2.500 tarjetas de memoria
  • 5.000 tarjetas de memoria
  • 10.000 tarjetas de memoria
  • 25.000 tarjetas de memoria
  • 50.000 tarjetas de memoria
En este caso, crearías una métrica llamada Tarjetas Volteadas y crearías logros asociados a la métrica para cada hito. Dado que estos logros están directamente vinculados a la métrica Tarjetas Volteadas, Trophy rastreará automáticamente cuándo los usuarios desbloquean estos logros a medida que incrementan la métrica. Cuando se desbloquean logros, Trophy incluye información sobre los logros desbloqueados en la respuesta del API de Eventos y activa automáticamente los Correos de Logros si están configurados.
Response
{
  "metricId": "d01dcbcb-d51e-4c12-b054-dc811dcdc623",
  "eventId": "0040fe51-6bce-4b44-b0ad-bddc4e123534",
  "total": 750,
  "achievements": [
    {
      "id": "5100fe51-6bce-6j44-b0hs-bddc4e123682",
      "trigger": "metric",
      "metricId": "5100fe51-6bce-6j44-b0hs-bddc4e123682",
      "metricName": "Flashcards Flipped",
      "metricValue": 500,
      "name": "500 Flashcards Flipped",
      "description": "Write 500 words in the app.",
      "achievedAt": "2020-01-01T00:00:00Z"
    }
  ],
  "currentStreak": {
    "length": 1,
    "frequency": "daily",
    "started": "2025-04-02",
    "periodStart": "2025-03-31",
    "periodEnd": "2025-04-05",
    "expires": "2025-04-12"
  },
  "points": {
    "xp": {
      "id": "0040fe51-6bce-4b44-b0ad-bddc4e123534",
      "key": "xp",
      "name": "XP",
      "description": null,
      "badgeUrl": null,
      "maxPoints": null,
      "total": 10,
      "level": {
        "id": "1140fe51-6bce-4b44-b0ad-bddc4e123534",
        "key": "bronze",
        "name": "Bronze",
        "description": "Starting level",
        "badgeUrl": null,
        "points": 0
      },
      "added": 10,
      "awards": [
        {
          "id": "0040fe51-6bce-4b44-b0ad-bddc4e123534",
          "awarded": 10,
          "date": "2021-01-01T00:00:00Z",
          "total": 10,
          "trigger": {
            "id": "0040fe51-6bce-4b44-b0ad-bddc4e123534",
            "type": "metric",
            "metricName": "Flashcards Flipped",
            "metricThreshold": 100,
            "points": 10
          }
        }
      ]
    }
  },
  "leaderboards": {
    "daily_champions": {
      "id": "0040fe51-6bce-4b44-b0ad-bddc4e123535",
      "key": "daily_champions",
      "name": "Daily Champions",
      "description": null,
      "rankBy": "metric",
      "runUnit": null,
      "runInterval": 0,
      "maxParticipants": 100,
      "metricName": "Flashcards Flipped",
      "metricKey": "flashcards-flipped",
      "threshold": 10,
      "start": "2025-01-01",
      "end": null,
      "previousRank": 50,
      "rank": 12
    }
  }
}

Logros de API

Los logros de API solo se pueden completar una vez y son útiles para recompensar a los usuarios por realizar acciones específicas. Ejemplos comunes incluyen:
  • Un usuario completando su perfil después de registrarse
  • Un usuario vinculando su cuenta de redes sociales a una plataforma
  • Un usuario compartiendo su experiencia del producto en redes sociales
Los logros de API sirven como una forma fácil de recompensar a los usuarios por completar cualquier acción que consideres importante para la retención. Al igual que los logros de métricas, los logros de API también pueden activar Correos de Logros automatizados si están configurados.

Logros de Racha

Los logros de racha están directamente vinculados a la Racha de un usuario y se desbloquean automáticamente cuando los usuarios alcanzan una longitud de racha determinada. Puedes crear tantos logros de racha como desees para longitudes de racha crecientes, por ejemplo 7 días, 30 días y 365 días para motivar a los usuarios a usar tu aplicación cada vez más. Al igual que los logros de métricas y API, puedes agregar un nombre personalizado y asignar una insignia a los logros de racha.

Logros Compuestos

Los Logros compuestos se desbloquean automáticamente cuando un usuario ha completado todos los Logros prerequisitos que selecciones. Son ideales para crear recompensas escalonadas o de nivel de maestría que reconocen a los usuarios que han logrado un conjunto específico de hitos. Por ejemplo, podrías crear un Logro compuesto “Maestro del Estudio” que se desbloquea cuando un usuario ha completado:
  • 1,000 tarjetas de estudio
  • Racha de 7 días
  • Completar la incorporación
Los Logros compuestos son útiles para crear rutas de progresión y fomentar que los usuarios interactúen en diferentes áreas de tu aplicación. Al igual que otros tipos de Logros, pueden activar Correos de Logros cuando se desbloquean.

Crear Logros

Para crear nuevos Logros, dirígete a la página de Logros en el panel de Trophy y presiona el botón Nuevo Logro:
1

Ingresa un nombre

Ingresa un nombre para el Logro. Este será devuelto desde las API y estará disponible para usar en correos y otras áreas de Trophy según corresponda.
2

Ingresa una descripción (Opcional)

Ingresa una breve descripción del Logro. Esta será devuelta desde las API y estará disponible para usar en correos y otras áreas de Trophy según corresponda.
3

Agrega una insignia (Opcional)

Puedes agregar una insignia subiendo una imagen o ingresando una URL de imagen personalizada. La URL se devuelve en las respuestas de la API y se usa en correos y otras áreas de Trophy según corresponda.
4

Elige un tipo de activador

Elige cómo quieres que se desbloquee este Logro.
  • Elegir Métrica significa que el Logro se desbloqueará automáticamente cuando el total de la métrica del usuario alcance el valor de activación del Logro.
  • Elegir Racha significa que el logro se desbloqueará automáticamente cuando la longitud de la racha del usuario alcance el valor de activación del logro.
  • Elegir Llamada API significa que el logro solo se desbloqueará cuando se marque explícitamente como completado por tu código mediante una solicitud a la API de completar logro.
  • Elegir Compuesto significa que el logro se desbloqueará automáticamente cuando el usuario haya completado todos los logros prerequisitos que selecciones.
5

Configurar activador

Una vez que hayas elegido el tipo de activador para el logro, debes configurar los ajustes del activador.
  • Si elegiste el activador Métrica, deberás seleccionar la métrica y el valor total del usuario que debe desbloquear el logro al alcanzarlo.
  • Si elegiste el activador Racha, deberás establecer la longitud de racha que debe desbloquear el logro.
  • Si elegiste el activador Llamada API, deberás elegir una referencia única key que usarás para completar el logro mediante la API.
  • Si elegiste el activador Compuesto, deberás seleccionar los logros prerequisitos que deben completarse todos para que este logro se desbloquee. El logro compuesto se desbloqueará automáticamente cuando un usuario complete el último prerequisito.
6

Agregar filtros de atributos (Opcional)

Puedes asignar filtros de atributos a un logro para restringir aún más quién puede desbloquearlos y cuándo.
  • Para limitar un logro de Métrica a que solo se aplique a eventos con atributos de evento personalizados específicos, agrega uno o más filtros en la sección Atributos de Evento.
  • Para limitar cualquier tipo de logro a que solo se aplique a un usuario con uno o más atributos de usuario personalizados específicos, agrega atributos y los valores deseados en la sección Atributos de Usuario.
Cuando configuras múltiples filtros de atributos de evento, todos deben coincidir para que se aplique el logro de métrica. En las respuestas de la API, eventAttributes es el campo canónico e eventAttribute está obsoleto por compatibilidad con versiones anteriores.
7

Guarda los cambios

Guarda el nuevo logro.

Gestión de Logros

Trophy incluye herramientas integradas que te ayudan a probar y controlar qué logros se pueden desbloquear, por quién y cuándo, sin afectar el entorno de producción.

Estados de Logros

Aquí tienes una descripción general de los diferentes estados de logros y su significado. Inactivo Todos los logros se crean como inactivos. Los logros inactivos no se pueden completar y no se devuelven en ninguna API de logros. Los usuarios no los verán hasta que los actives. Activo Cuando activas un logro, lo pones en ‘producción’. Los usuarios pueden completarlo y se devolverá en todas las API de logros. Bloqueado Cuando bloqueas un logro, los usuarios que aún no lo hayan desbloqueado no podrán desbloquearlo, pero los usuarios que ya lo hayan desbloqueado no se verán afectados. Los logros bloqueados solo se devuelven en las API para usuarios que ya los han conseguido. Archivado Los logros archivados no se pueden completar y no se devuelven en ninguna API de logros.
Una vez que archivas un logro, desaparece de Trophy, así que asegúrate de archivar únicamente los logros que ya no necesites.
Los logros archivados pueden restaurarse contactando con soporte.

Flujo de Trabajo de Logros

Los logros pueden moverse entre diferentes estados según el siguiente flujo de trabajo:

Completar Logros

Si utilizas logros de métricas, no es necesario completar logros explícitamente. Una vez que hayas configurado el seguimiento de métricas en tu código, todos los logros vinculados a la métrica se rastrearán automáticamente. De manera similar, si estás utilizando logros de racha, todos los logros relacionados con la racha del usuario se desbloquearán automáticamente cuando un usuario alcance la longitud de racha respectiva. Los logros compuestos también se completan automáticamente. Se desbloquean tan pronto como un usuario haya completado todos sus logros prerequisito. No se necesitan llamadas API adicionales. Sin embargo, si estás utilizando logros de API, tendrás que marcarlos como completados para cada usuario según corresponda. Para hacer esto, puedes usar la API de Completar Logro utilizando el key del logro que deseas completar. Esto devolverá una respuesta que contiene los detalles del logro que se completó, que puede ser utilizada en cualquier flujo de trabajo posterior a la finalización, como mostrar una notificación dentro de la aplicación.
Response
{
  "completionId": "0040fe51-6bce-4b44-b0ad-bddc4e123534",
  "achievement": {
    "id": "5100fe51-6bce-6j44-b0hs-bddc4e123682",
    "trigger": "api",
    "name": "Finish onboarding",
    "description": "Complete the onboarding process.",
    "badgeUrl": "https://example.com/badge.png",
    "key": "finish-onboarding",
    "achievedAt": "2021-01-01T00:00:00Z"
  }
}

Retroactividad de Logros

Por defecto, cada vez que mueves un logro al estado ‘Activo’, Trophy verificará si algún usuario existente cumple con los requisitos del logro y lo completará automáticamente en segundo plano. Esto significa que cuando lances nuevos logros a producción, o edites un logro activo existente, la retroactividad ocurrirá automáticamente.
Cuando los logros se completan de esta manera, los usuarios no reciben notificaciones de que esto ha ocurrido. Esto es para prevenir que los cambios a tus logros en Trophy resulten en que los usuarios reciban muchas notificaciones.
Puedes verificar cuántos usuarios han completado logros en cualquier momento en la página de logros en el panel de Trophy. La columna Usuarios en los logros puede actualizarse durante la retroactividad.

Uso de Insignias

Puedes asignar una insignia a cualquier logro subiendo una imagen—Trophy la sirve y devuelve la URL—o proporcionando tu propia URL de imagen. Las respuestas relevantes de la API incluyen ese valor en badgeUrl para usarlo como src en etiquetas <img>.
Response
{
  "completionId": "0040fe51-6bce-4b44-b0ad-bddc4e123534",
  "achievement": {
    "id": "5100fe51-6bce-6j44-b0hs-bddc4e123682",
    "trigger": "api",
    "name": "Finish onboarding",
    "description": "Complete the onboarding process.",
    "badgeUrl": "https://example.com/badge.png",
    "key": "finish-onboarding",
    "achievedAt": "2021-01-01T00:00:00Z"
  }
}

Visualización de Logros

Trophy cuenta con varias API que permiten mostrar logros dentro de tus aplicaciones. Aquí exploraremos las diferentes formas de utilizarlas y los tipos de interfaces que puedes construir.
Consulta nuestra guía completa sobre cómo agregar una funcionalidad de logros a tu aplicación para más detalles.

Todos los Logros

Para mostrar una vista general de todos los logros que los usuarios pueden completar, utiliza el endpoint de todos los logros. Usa estos datos para construir interfaces que den a los usuarios una idea de las rutas de progresión dentro de tu aplicación.
El endpoint de todos los logros devuelve una lista de todos los logros dentro de tu cuenta de Trophy. Cada logro devuelto también incluye completions (el número de usuarios que han completado el logro) y rarity (el porcentaje de usuarios que han completado el logro) de la siguiente manera:
Response
[
  {
    "id": "5100fe51-6bce-6j44-b0hs-bddc4e123682",
    "trigger": "api",
    "name": "Finish onboarding",
    "description": "Complete the onboarding process.",
    "badgeUrl": "https://example.com/badge.png",
    "key": "finish-onboarding",
    "completions": 8,
    "rarity": 80
  },
  {
    "id": "5100fe51-6bce-6j44-b0hs-bddc4e123683",
    "trigger": "metric",
    "name": "500 Flashcards Flipped",
    "description": "View 500 flashcards in the app.",
    "badgeUrl": "https://example.com/badge.png",
    "metricId": "5100fe51-6bce-6j44-b0hs-bddc4e123683",
    "metricName": "Flashcards Flipped",
    "metricValue": 500,
    "completions": 6,
    "rarity": 60
  },
  {
    "id": "5100fe51-6bce-6j44-b0hs-bddc4e123684",
    "trigger": "streak",
    "name": "10 days of exercise",
    "description": "Exercise at least once a day for 10 days in a row.",
    "badgeUrl": "https://example.com/badge.png",
    "streakLength": 10,
    "completions": 2,
    "rarity": 20
  },
  {
    "id": "5100fe51-6bce-6j44-b0hs-bddc4e123685",
    "trigger": "achievement",
    "name": "Study Master",
    "description": "Complete all introductory milestones.",
    "badgeUrl": "https://example.com/badge.png",
    "achievementIds": [
      "5100fe51-6bce-6j44-b0hs-bddc4e123682", "5100fe51-6bce-6j44-b0hs-bddc4e123683", "5100fe51-6bce-6j44-b0hs-bddc4e123684"
    ],
    "completions": 1,
    "rarity": 5
  }
]

Logros del Usuario

Si en cambio estás construyendo elementos de interfaz específicos del usuario, utiliza el endpoint de logros del usuario para devolver los logros que un usuario específico ha completado.
También puedes incluir logros que un usuario aún no ha completado incluyendo el parámetro de consulta includeIncomplete=true.

Analítica de Logros

Si tienes logros configurados para cualquiera de tus Métricas, la página de analítica de métricas muestra un gráfico con el progreso actual de todos los usuarios de la siguiente manera:

Preguntas frecuentes

Usa logros de métricas para recompensar a los usuarios por realizar la misma acción repetidamente y motivarlos a repetirla más veces.Usa logros de Racha para recompensar a los usuarios por mantener su Racha.Usa logros de API cuando quieras recompensar a los usuarios por realizar acciones específicas que solo deben hacer una vez.Usa logros compuestos cuando quieras crear recompensas escalonadas o de nivel maestro que se desbloquean cuando los usuarios completan un conjunto específico de logros previos.
Los logros, al igual que toda la gamificación, generan mejor retención cuando están totalmente alineados con la razón principal por la que el usuario utiliza tu plataforma.Usa la analítica de métricas de Trophy para comparar la retención de cada interacción de usuario y luego configura logros en torno a esas interacciones para maximizar el impacto en la retención.

Obtener soporte

¿Quieres ponerte en contacto con el equipo de Trophy? Escríbenos por correo electrónico. ¡Estamos aquí para ayudarte!