Inserta Banners automáticamente con la segmentación web
Para las ubicaciones web, puedes configurar opcionalmente la segmentación web en la configuración de la ubicación para especificar dónde debe aparecer el Banner en la página. Cuando la segmentación web está configurada, el SDK Web de Braze inserta los Banners automáticamente en la ubicación especificada, en lugar de hacerlo mediante una llamada explícita a
insertBanner(). Para obtener más información, consulta Segmentación web para Banners. Para obtener información general sobre los Banners y sus ubicaciones, consulta Acerca de los Banners y Administrar ubicaciones.

Web Targeting for Banners se encuentra actualmente en fase de acceso anticipado. Ponte en contacto con tu director de cuentas de Braze si te interesa participar en el acceso anticipado.
Requisitos previos
Como la inserción mediante segmentación web añade HTML a tu página, requiere la misma adhesión voluntaria que insertBanner:
braze.initialize("YOUR-API-KEY", {
baseUrl: "YOUR-ENDPOINT",
allowUserSuppliedJavascript: true, // required for Web Targeting auto-insert
});
Sin allowUserSuppliedJavascript: true, la inserción automática no hace nada y el SDK registra un error.
Desencadenar la inserción mediante segmentación web
Cuando se llama, el método insertWebTargetingBanners() intenta usar la información de segmentación web de cada Banner, si existe, para encontrar el lugar previsto para ese Banner en la página e insertarlo allí automáticamente. Llama a este método poco después de inicializar el SDK y después de cada sincronización de Banners completada a través del SDK Web.
Si el SDK Web no encuentra el lugar de inserción de destino para un Banner con información de segmentación web, reintenta insertarlo continuamente. Esto permite que la segmentación web se dirija a partes de tu página que quizá solo aparezcan después de la carga inicial. Puedes deshabilitar este comportamiento de reintento al inicializar el SDK con el parámetro enableWebTargetingBannerRetryLoop del método initialize().
braze.initialize("YOUR-API-KEY", {
baseUrl: "YOUR-ENDPOINT",
allowUserSuppliedJavascript: true,
enableWebTargetingBannerRetryLoop: false, // don't retry if the target isn't in the DOM yet
});
Habilitar la inserción mediante segmentación web al actualizar los Banners
Si lo deseas, puedes llamar a automaticallyInsertWebTargetingBanners() después de inicializar el SDK. Al invocar este método se establece una suscripción que realiza de inmediato la inserción mediante segmentación web para los Banners presentes después de que el SDK Web complete una sincronización de Banners. Esto evita tener que llamar a insertWebTargetingBanners(), aunque puedes usar solo ese método si quieres un control más preciso sobre cuándo se produce la inserción. Este método no inserta ningún Banner cuando se llama.
Aplicaciones de una sola página (SPA)
Ten en cuenta los siguientes detalles si tu sitio web usa una arquitectura de aplicación de una sola página (SPA) o sistemas similares (como React Router o Vue) para gestionar el enrutamiento y la navegación, o si tu sitio web elimina manualmente los Banners insertados:
- Si un Banner se inserta en el DOM con segmentación web pero luego se elimina debido a una nueva renderización al cambiar de ruta, el SDK Web no intenta volver a insertarlo automáticamente en la nueva página. Del mismo modo, si el Banner permanece después de la nueva renderización pero está limitado por URL a la ruta anterior, el SDK Web no lo elimina automáticamente del DOM.
- Llama a
insertWebTargetingBanners()después de cada renderización de ruta del lado del cliente para invocar toda la lógica de seguimiento que orquesta el SDK. Solo vuelve a insertar los Banners cuyo estado ha cambiado, así que puedes llamarlo sin problema en cada navegación.
Solución de problemas
Motivos habituales por los que un Banner no se inserta automáticamente, registrados mediante el registrador del SDK (enableLogging: true):
| Síntoma | Causa probable |
|---|---|
No se inserta nada en ningún sitio y el SDK registra “allowUserSuppliedJavascript is required” |
Se llamó a initialize() sin allowUserSuppliedJavascript: true. |
| El SDK registra “target element not found for selector” | El selector CSS todavía no coincide con ningún elemento. Si el elemento se renderiza más tarde, esto se resuelve solo mediante el bucle de reintentos; de lo contrario, revisa el selector configurado para la ubicación. |
| El SDK registra “cannot insert inside” un elemento | La información de segmentación web del Banner lo habría insertado en un elemento no compatible, como video o img. Consulta Segmentación web para Banners. |
| Un Banner se inserta una vez, pero no se actualiza al cambiar de ruta | Consulta Consideraciones para SPA: llama a insertWebTargetingBanners() después de cada renderización de ruta del lado del cliente. |
| Un Banner desaparece después de una nueva renderización del framework | Consulta Consideraciones para SPA. |
Próximos pasos
- Segmentación web para Banners: cómo los usuarios de la empresa configuran en el panel el selector CSS, la posición de inserción y la segmentación por URL de una ubicación.
- Administrar ubicaciones: crea ubicaciones, actualízalas y muestra Banners manualmente con
insertBanner. - Banners: Preguntas frecuentes

¿Quieres ayudar a priorizar las próximas novedades de la segmentación web? Escribe a [email protected].