Koru Countdown Bar

Barra de urgencia con cuenta regresiva. Aumenta conversiones con timers de fecha fija, evergreen o diario — configurable sin código.

La Koru Countdown Bar es una barra de urgencia con cuenta regresiva. Sirve para empujar conversiones en campañas, ofertas por tiempo limitado o promociones diarias.

Todo el contenido —mensaje, timer, colores, botón— se configura desde el panel de Koru, sin tocar el código del sitio. En el sitio solo pegás el código de integración (o instalás la app de VTEX) una sola vez.

Vas a necesitar tu Website ID required y tu App ID required. Los dos salen del panel de Koru, en la ficha de la app → botón Copiar Código / sección Info de Integración.

Instalación

Elegí la pestaña según tu tienda: si corrés en VTEX IO, instalá la app; para cualquier otra plataforma (Tiendanube, Shopify, WordPress, HTML propio, etc.) usá el código de integración.

El widget se instala como una app del theme y se renderiza con el bloque countdown-bar. El contenido lo decide Koru; en el theme solo van las credenciales.

Agregá la app como dependencia del theme

En el manifest.json de tu theme:

"dependencies": {
  "{vendor}.koru-countdown-bar": "0.x"
}

Reemplazá {vendor} por el nombre de tu cuenta VTEX. El nombre completo de la app publicada para tu cuenta te lo da Koru.

Declará el bloque donde quieras mostrarlo

En el bloque del theme correspondiente (header, footer, ficha de producto…) declarás el bloque countdown-bar con tus credenciales de Koru:

"countdown-bar": {
  "props": {
    "websiteId": "TU-WEBSITE-ID",
    "appId": "TU-APP-ID"
  }
}

Y lo agregás como hijo del bloque donde lo querés ver. Por ejemplo, arriba de todo en el header:

"header-layout.desktop": {
  "children": [
    "countdown-bar",
    "header-row#1-desktop",
    "header-row#2-desktop"
  ]
}

¿En varios lugares a la vez? Usá un #id por instancia

Si querés la barra en más de un lugar (ej: header y ficha de producto), declarás cada instancia con su propio #id y un blockClass para poder estilarla aparte:

"countdown-bar#pdp": {
  "props": {
    "websiteId": "TU-WEBSITE-ID",
    "appId": "TU-APP-ID",
    "blockClass": "koru-pdp"
  }
}

Ese blockClass genera el handle countdownBar--koru-pdp, que es lo que usás para el CSS del paso siguiente.

Koru tiene una sola posición por app. Para tenerlo en varios lugares a la vez, poné la posición en inline y resolvé cada ubicación por CSS con el blockClass de cada instancia.

(Opcional) Ajustá la forma por CSS

La barra hereda colores y tipografía de la tienda automáticamente. Lo que tiene que ver con la forma (radius, ancho, fijado) se hace por CSS en el theme, apuntando al handle de la instancia. En el archivo de override de la app (styles/css/<vendor>.koru-countdown-bar.css):

/* Tarjeta compacta y redondeada para la instancia del PDP */
.countdownBar--koru-pdp {
  max-width: 350px;
  margin: 0 auto 20px;
  border-radius: 15px;
  overflow: hidden;
}
 
/* Barra del header pegada al tope al scrollear */
.countdownBar--koru-header {
  position: sticky;
  top: 0;
  z-index: 1000;
}

Estilá con los handles directos (.countdownBar--…) en el archivo de override de la app. No uses :global() apuntando a la app desde otro archivo: el build de VTEX lo rechaza.

Configuración (cómo usar)

Una vez instalada, todo se maneja desde el panel de KoruConfigurar AppsKoru Countdown Bar. No hace falta volver a tocar el sitio.

Tipo de timer

Es lo primero que definís: cómo se cuenta el tiempo.

Tipo (timer_type)Qué haceCampos que usa
Fecha fija (to-date)Cuenta hasta una fecha y hora exactas. Ideal para un evento puntual (Black Friday, fin de promo).end_date
Diario (daily)Se reinicia todos los días y cuenta hasta una hora fija. Ideal para "la oferta termina hoy a las 23:59".daily_end_time
Evergreen (evergreen)Cuenta una duración fija desde que cada visitante entra (persistida por usuario). Ideal para urgencia personalizada.duration_min

Posición

Posición (position)Comportamiento¿Necesita CSS?
top-stickyBarra fija arriba, todo el ancho, en todas las páginas. Empuja el header de la tienda para no taparlo.No
bottom-stickyBarra fija abajo, todo el ancho.No
inlineSe inserta donde la coloques (ej: dentro del PDP).Sí, para darle forma

Contenido y botón

CampoDescripción
message_textMensaje principal de la barra (ej: "¡Oferta Limitada!").
button_textTexto del botón / call to action. Si lo dejás vacío, no se muestra el botón.
button_linkA dónde lleva el botón al hacer click (ej: la categoría en promo).
show_daysMostrar u ocultar el bloque de Días en el reloj.
close_buttonPermitir al visitante cerrar la barra (se recuerda en su sesión).
font_sizeTamaño del texto del mensaje, en px.

Comportamiento al finalizar

Qué pasa cuando el contador llega a cero (on_finish):

Ocultar (hide)

La barra desaparece. Es el comportamiento por defecto.

Mostrar mensaje (message)

La barra queda visible con el texto de finish_message (ej: "Oferta Terminada").

Redirigir (redirect)

Manda al visitante a la URL de finish_url.

Colores

Los colores son opcionales a propósito. Si no los definís en Koru, la barra hereda el look de la tienda (fondo, texto y tipografía del style.json en VTEX, o los estilos heredados en otras plataformas). Si querés colores propios, configurás: bg_color, text_color, timer_bg, timer_text, button_bg_color y button_text_color.

El botón tiene un acento de urgencia (rojo) por defecto para que resalte sobre la barra. Podés cambiarlo con button_bg_color / button_text_color.

Preguntas frecuentes

Cambié algo en Koru y no lo veo todavía

Los cambios de configuración pueden tardar hasta 1 hora en propagarse (caché). Para verlo al instante, limpiá el caché del navegador.

¿Afecta la velocidad del sitio?

No. En VTEX el widget no renderiza en el servidor (es client-only) y en otras tiendas el script se carga async, así que no bloquea el render.

No aparece la barra

Verificá que el Website ID y el App ID sean los correctos, y que la app figure activa para esa tienda en tu panel de Koru. El gating lo decide Koru: si la tienda no tiene la app activa, la barra no se muestra.

Koru Countdown Bar — Developers · Koru Suite