# Retraso de tiempo

El elemento **Retraso de tiempo** hace que los usuarios esperen un tiempo especificado. Después del retraso, pasan al siguiente paso. El retraso puede ser un período fijo, una hora específica o una fecha. También puede basarse en el valor de una Tag o en un atributo de Event.

## Opciones de retraso

### Duración fija

Cuando se establece un período fijo, el elemento Retraso de tiempo permite a los usuarios continuar su journey solo cuando transcurre el tiempo especificado.

Por ejemplo, si se establece un retraso de 8 horas, un usuario que llegue a este elemento del journey esperará 8 horas antes de pasar al siguiente paso.

<Aside type="note">
Tenga en cuenta que el período de retraso **no puede ser superior a 30 días.**
</Aside>

<img src="/journey-elements-README-32.webp" alt="El elemento Retraso de tiempo configurado con una duración fija, que muestra a un usuario esperando un período especificado antes de continuar."/>

### Hora específica

Puede establecer una hora exacta para que los usuarios avancen. Los usuarios que lleguen al elemento de retraso procederán a la hora especificada.

<Aside type="caution">
La opción de hora específica se establece en la zona horaria del usuario.
</Aside>

Por ejemplo, si un usuario llega a un elemento de retraso a primera hora de la mañana y usted ha configurado el retraso para que espere hasta las 5:30 PM, esos usuarios pasarán al siguiente punto del journey a las 5:30 PM según la zona horaria de su dispositivo.

<Aside type="note">
Si la hora que especifica ya ha pasado para algunos usuarios en sus zonas horarias, esos usuarios esperarán hasta esa misma hora exacta del día siguiente.
</Aside>

<img src="/journey-elements-README-33.webp" alt="El journey de un usuario es pausado por el elemento Retraso de tiempo hasta que se alcanza una hora específica en su zona horaria local."/>

### Fecha

Si desea configurar una campaña única en una fecha específica (por ejemplo, enviar una notificación de Black Friday), seleccione una fecha y hora concretas para continuar el journey.

<Aside type="caution">
Recuerde que la fecha y la hora se establecen según la zona horaria del usuario. Si la fecha y la hora que especifica ya han pasado para algunos usuarios en sus zonas horarias, procederán inmediatamente al siguiente elemento del journey. 
</Aside>

<img src="/journey-elements-README-34.webp" alt="Un elemento de Retraso de tiempo establecido en una fecha específica, ideal para programar campañas únicas como promociones de días festivos."/>

### Día de la semana

Si desea que el usuario pase al siguiente punto del journey solo en un día específico de la semana, seleccione la opción **Día de la semana** y establezca el día y la hora deseados.

<Aside type="caution">
Recuerde que el día y la hora se establecen según la zona horaria del usuario. Si el día y la hora que especifica ya han pasado para algunos usuarios en sus zonas horarias, esperarán hasta ese mismo día y hora de la semana siguiente.
</Aside>

<img src="/journey-elements-README-35.webp" alt="El elemento Retraso de tiempo configurado para un día específico de la semana, lo que permite programaciones semanales recurrentes."/>

### Retraso basado en datos de usuario o evento

Utilice esta opción cuando el tiempo de espera deba proceder de una Tag, un atributo de Event o un valor mapeado de una respuesta de [**Webhook**](#use-a-date-from-a-webhook-response).

1. En **Opción de retraso de tiempo**, seleccione **Basado en datos de usuario/evento**.
2. En **Obtener fecha de**, seleccione **Perfil de usuario** para usar una Tag, o **Evento** para usar un atributo de evento o un valor de una respuesta de webhook.
3. Si seleccionó **Perfil de usuario**, elija la Tag que contiene la fecha.
4. Si seleccionó **Evento**, elija el evento y el atributo que contiene la fecha. Para los valores mapeados de webhook, consulte [Usar una fecha de una respuesta de webhook](#use-a-date-from-a-webhook-response) a continuación.
5. Establezca el desfase: **Antes**, **Después** o **En** la fecha, y luego introduzca el número de días.

<img src="/journey-elements-README-36.webp" alt="Un Retraso de tiempo basado en datos de usuario o evento, que permite una programación dinámica y personalizada dentro de un Customer Journey."/>


<Aside type="note" title="Requisitos de formato de fecha">

* **Tags:** utilice una Tag del [tipo Fecha](/es/product/audience-data-and-segmentation/user-data-tags/tags#types-of-tags) y [establezca sus valores](/es/developer/api-reference/device-api#settags) en formato `2006-01-02T15:04:05` (en **UTC**).
* **Eventos:** [cree un Evento](/es/product/audience-data-and-segmentation/events#1-create-events-in-pushwoosh-control-panel), [añada un atributo de Fecha](/es/product/audience-data-and-segmentation/events#2-set-attributes) y envíe solicitudes [/postEvent](/es/developer/api-reference/user-centric-api#postevent) con fechas en formato `2006-01-02 15:04:05`.

</Aside>


<Aside type="caution">
Si la **fecha u hora ya ha pasado** cuando un usuario llega a este elemento, sale del journey.
</Aside>

#### Usar una fecha de una respuesta de webhook

Si un elemento [**Webhook**](/es/product/customer-journey/journey-elements/channels/webhook/#map-webhook-response-data-to-variables) anterior en el journey tiene configurado el **Mapeo de respuesta**, los atributos mapeados están disponibles en **Evento**.

1. En **Opción de retraso de tiempo**, seleccione **Basado en datos de usuario/evento**.
2. En **Obtener fecha de**, seleccione **Evento**.
3. En **Evento**, seleccione el paso del webhook por el nombre que le dio (por ejemplo, `Get appointment details`).
4. En **Valor del evento**, seleccione el atributo mapeado que contiene la fecha (por ejemplo, `visit_date`).
5. Establezca el desfase (por ejemplo, **Antes** `2` **Días**).

<img src="/journey-elements-time-delay-1.webp" alt="Retraso de tiempo configurado para Evento Webhook con visit_date y un desfase de 2 días antes" />

El valor debe seguir las mismas reglas de formato de fecha que las Tags y los Eventos (consulte **Requisitos de formato de fecha** más arriba).

<Aside type="caution">
Si el valor mapeado falta o no es una fecha válida, el usuario sale del journey con un error en este paso. Ejecute [**Probar webhook**](/es/product/customer-journey/journey-elements/channels/webhook/#test-the-webhook) antes del lanzamiento para confirmar su mapeo.
</Aside>


### Dividir ramas cuando la fecha está en el pasado o está vacía

Para permitir que los usuarios continúen cuando no cumplen la condición de retraso, active **Dividir en ramas si la fecha está en el pasado o la fecha está vacía**. El flujo se divide en **En el futuro** y **En el pasado**. Utilice la rama **En el pasado** para los usuarios cuyos valores de Tag, atributos de Evento o fechas mapeadas de webhook no coincidan con el retraso. Puede añadir otros elementos en esa rama (por ejemplo, otro **Retraso de tiempo**, **División de condición**, **Esperar disparador** o un mensaje).

Por ejemplo, si establece un recordatorio 2 días antes de una cita utilizando el atributo de fecha del evento de la cita. Si la cita es mañana, el usuario no cumplirá la condición de 2 días antes y saldrá a menos que active la división de ramas.

### Cuando las fechas de las citas cambian a mitad del journey

Si una fecha en una Tag o en un atributo de Evento cambia mientras el usuario ya está en el journey, la configuración del **Retraso de tiempo** se mantiene como estaba cuando el usuario llegó al elemento.

Considere la posibilidad de crear varios journeys cuando los usuarios reprogramen con frecuencia citas, entregas o eventos similares.

Por ejemplo, inicie un journey en el evento `AppointmentCreated` con un atributo DateTime (un journey de recordatorio). Establezca un recordatorio push 2 días antes de la visita utilizando **Basado en datos de usuario/evento**. Para gestionar las reprogramaciones:

1. Cree un evento `AppointmentChanged`.
2. En el journey de recordatorio, establezca `AppointmentChanged` como un objetivo de conversión para que los usuarios que reprogramen salgan del journey.
3. Cree un nuevo journey que comience en `AppointmentChanged` para recordar a los usuarios que actualizaron la fecha y hora de su visita.