Extensiones de segmentos SQL
Puedes generar una extensión de segmento utilizando consultas SQL de Snowflake sobre datos de Snowflake. SQL puede ayudarte a desbloquear nuevos casos de uso de segmentos, ya que ofrece la flexibilidad necesaria para describir las relaciones entre los datos de formas que no son posibles con otras características de segmentación.
Al igual que las extensiones de segmento estándar, puedes consultar eventos de hasta los dos últimos años (730 días) en tu extensión de segmento SQL. A diferencia de las extensiones de segmento estándar, las extensiones de segmento SQL consumen créditos.
Requisitos previos
Para usar las extensiones de segmentos SQL, necesitas estos permisos en tu espacio de trabajo:
| Permiso | Lo que permite |
|---|---|
| “Ver segmentos” | Abrir las extensiones de segmento y ver las extensiones de segmentos SQL |
| “Editar segmentos” | Crear, editar y actualizar las extensiones de segmentos SQL |
| “Ver PII” | Ejecutar consultas SQL de vista previa que pueden devolver datos de clientes |
Crear una extensión de segmento
Paso 1: Elige un editor
Al crear tu extensión de segmento SQL, puedes elegir entre dos tipos de editores SQL: el editor SQL y el editor SQL incremental.
- Actualización completa: Cada vez que se actualiza tu Segment, Braze consulta todos los datos disponibles para actualizarlo, lo que consume más créditos que las actualizaciones incrementales. Las extensiones de actualización completa pueden regenerar automáticamente la pertenencia cada día, pero no se pueden actualizar mediante actualización incremental.
- Actualización incremental: La actualización incremental es una forma más económica de configurar tu consulta, aunque la configuración requiere algunos pasos más. Si puedes completar estos pasos adicionales al crear tu Segment, vale la pena elegir esta opción, porque tu consulta se ejecuta con menos créditos.
Para que Operator escriba el SQL por ti, selecciona Preguntar a Operator en cualquiera de los dos editores y describe tu audiencia en lenguaje sencillo. Para más información, consulta Lo que puedes hacer con Operator.

Puedes hacer una actualización completa manual en todos los segmentos SQL creados en cualquiera de los dos editores SQL.
Para crear una extensión de segmento SQL de actualización completa:
- Ve a Audiencia > Extensiones de segmento.
- Selecciona Crear nueva extensión y, a continuación, selecciona Actualización completa.

- Añade un nombre para tu extensión de segmento e introduce tu SQL. Consulta el Paso 2 para ver los requisitos y recursos.

- Guarda tu extensión de segmento.
Para crear una extensión de segmento SQL de actualización incremental:
- Ve a Audiencia > Extensiones de segmento.
- Selecciona Crear nueva extensión y selecciona Actualización incremental.

- Añade un nombre para tu extensión de segmento e introduce tu SQL. Consulta el Paso 2 para ver los requisitos y recursos.

- Si lo deseas, selecciona Regenerar extensión diariamente.

Cuando esta opción está seleccionada, Braze actualiza automáticamente la pertenencia al Segment cada día. Esto significa que cada día a medianoche en la zona horaria de tu empresa (con un posible retraso de una hora), Braze busca nuevos usuarios en tu Segment y los añade automáticamente. Si una extensión de segmento no se ha usado en 7 días, Braze pausa automáticamente la regeneración diaria. Una extensión de segmento sin usar es aquella que no forma parte de ninguna Campaign ni de ningún Canvas (la Campaign o el Canvas no necesitan estar activos para que la extensión se considere “usada”). - Guarda tu extensión de segmento.

Las consultas SQL que tarden más de 20 minutos en ejecutarse agotarán el tiempo de espera.
Cuando la extensión termine de procesarse, podrás crear un Segment con tu extensión de segmento y dirigir tus Campaigns y Canvas a este nuevo Segment.
Paso 2: Escribe tu SQL
Tu consulta SQL debe escribirse con la sintaxis de Snowflake. Consulta la referencia de tablas para ver la lista completa de tablas y columnas que puedes consultar.

Ten en cuenta que las tablas disponibles para consultar solo contienen datos de eventos. Si quieres consultar atributos de usuario, debes combinar tu segmento SQL con filtros de atributos personalizados del segmentador clásico.
Además, tu SQL debe cumplir las siguientes reglas:
- Escribe una sola instrucción SQL. No incluyas punto y coma.
- Tu SQL debe seleccionar solo una columna: la columna
user_id. Esto significa que tu SQL debe contener:
SELECT DISTINCT user_id FROM "INSERT TABLE NAME"
- No es posible consultar usuarios con cero eventos, por lo que cualquier consulta de usuarios que hayan realizado un evento menos de X veces tendría que seguir esta solución alternativa:
- Escribe una consulta que seleccione a los usuarios que hayan realizado el evento MÁS de X veces.
- Al hacer referencia a tu extensión de segmento en tu Segment, selecciona
no incluyepara invertir el resultado.
Requisitos de la columna user_id
La columna user_id debe ser una referencia directa y sin cambios a user_id de una tabla de origen. Braze rechaza las consultas en las que la columna user_id final es:
- Una columna calculada con un alias, como
COALESCE(m.orphaned_by_id, c.user_id) AS user_id - Una columna diferente renombrada como
user_id, comom.orphaned_by_id AS user_id - Una columna de subconsulta con el alias
user_id, como seleccionar desde una subconsulta que devuelve unuser_idcalculado
Si recibes el error “sql - Please select only the following columns: user_id”, pero tu consulta ya selecciona la columna user_id, comprueba si tu consulta usa alguno de estos patrones. Puede que la vista previa funcione aunque la consulta no se guarde.

Usa GROUP BY c.user_id o DISTINCT c.user_id directamente desde tu tabla de origen en lugar de asignar un alias o calcular la columna user_id.
Reglas adicionales
Además, tu consulta SQL estándar debe cumplir las siguientes reglas:
- No puedes usar instrucciones
DECLARE.
Todas las consultas de actualización incremental constan de dos partes: una consulta y los detalles del esquema.
- En el editor, escribe una consulta que seleccione los
user_idde la tabla que quieras. - Añade los detalles del esquema seleccionando un Operador, un Número de veces y un Período de tiempo en los campos de la parte superior del editor. La consulta comprueba si la suma de la columna agregada cumple la condición que estableces con esos campos. Esto funciona de forma similar al flujo de trabajo para crear extensiones de segmento clásicas.
- Operador: Indica si el evento ha ocurrido más, menos o exactamente un número determinado de veces.

- Número de veces: Cuántas veces quieres evaluar el evento en relación con el operador.

- Período de tiempo: Número de días, de 1 a 730, en los que quieres comprobar las instancias del evento. Este período de tiempo se refiere a los días pasados en relación con el día actual. El siguiente ejemplo muestra una consulta de usuarios que realizaron el evento más de 5 veces en los últimos 365 días.

- Operador: Indica si el evento ha ocurrido más, menos o exactamente un número determinado de veces.
En el siguiente ejemplo, el Segment resultante contendría a los usuarios que realizaron el evento favorited más de 3 veces durante los últimos 30 días, después de una fecha especificada.



La actualización incremental tiene en cuenta los eventos tardíos, es decir, los eventos que llegan después de la ventana de actualización diaria, como los eventos del SDK que no se enviaron cuando se capturaron. Cuando el Segment se actualiza, Braze vuelve a procesar las fechas a las que pertenecen esos eventos tardíos.
Cómo la actualización incremental hace seguimiento de los usuarios a lo largo del tiempo
Cuando usas la actualización incremental, Braze almacena recuentos diarios de cada usuario en una tabla interna de recuentos para poder evaluar tu Segment durante todo el período de tiempo sin volver a consultar todos los datos históricos cada día.
Qué se almacena: Braze mantiene una tabla de recuentos (similar a una tabla de cohortes de segmento) que acumula los recuentos diarios de cualificación de usuarios con el formato (date, user_id, count). Esta tabla conserva los datos históricos fuera de la ventana de actualización continua de dos días.
Qué ocurre en cada actualización: Cuando se ejecuta una actualización incremental, Braze borra de la tabla de recuentos solo los registros de la ventana de actualización continua de dos días. A continuación, vuelve a ejecutar tu consulta SQL con parámetros de tiempo actualizados (usando $start_date) para insertar filas nuevas para esas fechas. Las filas históricas fuera de la ventana de actualización continua de dos días permanecen intactas en la tabla de recuentos.
Cómo decide Braze quién pertenece al Segment: Braze evalúa los criterios de pertenencia de tu Segment con toda la tabla de recuentos acumulada, no solo con la carga útil más reciente de la ventana de actualización continua de dos días. Esto significa que los usuarios que se cualificaron hace más de dos días permanecen en el Segment a menos que los recuentos agregados dejen de cumplir tus criterios.
Escribir SQL que se actualice de forma fiable: Al escribir SQL para la actualización incremental, evita patrones de consulta que puedan producir resultados incoherentes durante las actualizaciones parciales. Por ejemplo, las agregaciones por ventanas como MAX(time) que dependen de datos que cruzan los límites de $start_date pueden alterar el estado de las filas de forma inesperada cuando solo se recalcula un subconjunto de fechas. Estructura tus consultas para que el resultado de cada fecha dependa solo de los eventos de esa fecha, lo que mantiene resultados coherentes tanto si la consulta procesa dos días como 730 días de datos.
Reglas adicionales
Además, tu consulta de actualización incremental debe cumplir las siguientes reglas:
- Escribe una sola instrucción SQL. No incluyas punto y coma.
- Tu segmento SQL incremental solo puede hacer referencia a un evento. Tus desplegables de fecha y recuento se aplican a ese evento.
- Tu SQL debe incluir el alias
$date()(por ejemplo,$date(time)), seleccionaruser_idy una agregaciónCOUNT(), agrupar por fecha yuser_id, y filtrar con$start_dateen tu columna de tiempo (por ejemplo,time > $start_date). Si guardas SQL sin$date()o sin estos campos, se devuelve un error. - No puedes usar instrucciones
DECLARE.

Si vas a crear un segmento SQL que usa la tabla CATALOGS_ITEMS_SHARED, debes especificar un ID de catálogo. Por ejemplo:
SELECT * FROM CATALOGS_ITEMS_SHARED
WHERE CATALOG_ID = 'XYZ'
LIMIT 10
Paso 3: Obtén una vista previa de la consulta
Antes de guardar, puedes ejecutar una vista previa de tu consulta. Las vistas previas de consultas se limitan automáticamente a 100 filas y agotan el tiempo de espera después de 60 segundos. El requisito de la columna user_id no se aplica al ejecutar una vista previa.
En las extensiones de segmento SQL incrementales, la vista previa no incluirá los criterios adicionales de tus campos de operador, número de veces y período de tiempo.
Paso 4: Determina si necesitas invertir el SQL
A continuación, determina si necesitas invertir el SQL. Aunque no es posible consultar directamente usuarios con cero eventos, puedes usar Invertir SQL para dirigirte a estos usuarios.

De forma predeterminada, Invertir SQL no está activado. Sin embargo, si usas el generador de SQL con IA para generar una instrucción SQL que deba negarse, ChatGPT podría devolver un resultado que active automáticamente esta característica.
Por ejemplo, para dirigirte a usuarios que tienen menos de tres compras, primero escribe una consulta que seleccione a los usuarios que tienen tres o más compras. Después, selecciona Invertir SQL para dirigirte a los usuarios con menos de tres compras (incluidos los que tienen cero compras).

A menos que quieras dirigirte específicamente a usuarios con cero eventos, no necesitarás invertir el SQL. Si Invertir SQL está seleccionado, confirma que la característica es necesaria y que el Segment coincide con la audiencia que quieres. Por ejemplo, si una consulta se dirige a usuarios con al menos un evento, al invertirla solo se dirigirá a usuarios con cero eventos.

Actualizar la pertenencia al Segment
Para actualizar la pertenencia al Segment de cualquier extensión de segmento creada con SQL, abre la extensión de segmento y selecciona Actualizar.

Si creaste un Segment en el que esperas que los usuarios entren y salgan con regularidad, actualiza manualmente la extensión de segmento que utiliza antes de dirigirte a ese Segment en una Campaign o un Canvas.
Administrar tus extensiones de segmento
En la página Extensiones de segmento, los Segments generados con SQL se indican con junto a su nombre.
Selecciona una extensión de segmento SQL para ver dónde se está usando, archivarla o actualizar manualmente la pertenencia al Segment.

Designar la configuración de actualización
Si no necesitas que tu extensión se actualice de forma periódica, puedes guardarla sin utilizar la configuración de actualización, y Braze generará por defecto tu extensión de segmento basándose en la pertenencia de usuarios en ese momento. Utiliza el comportamiento predeterminado si solo quieres generar la audiencia una vez y luego dirigirte a ella con una campaña puntual.
Tu segmento siempre empezará a procesarse después del guardado inicial. Cada vez que se actualice tu segmento, Braze volverá a ejecutar el segmento y actualizará la pertenencia al mismo para reflejar los usuarios de tu segmento en el momento de la actualización. Esto puede ayudar a que tus campañas recurrentes lleguen a los usuarios más relevantes.
Configurar una actualización periódica
Para establecer una programación recurrente designando la configuración de actualización, selecciona Habilitar actualización. La opción de designar la configuración de actualización está disponible para todos los tipos de extensiones de segmento, incluidos los segmentos SQL, las extensiones de segmento CDI y las extensiones de segmento basadas en formularios simples.

Para optimizar tu gestión de datos, la configuración de actualización se desactiva automáticamente para las extensiones de segmento no utilizadas. Las extensiones de segmento se consideran no utilizadas cuando:
- No se utilizan en ninguna campaña, Canvas o segmento activo o inactivo (borrador, detenido, archivado).
- No se han modificado en más de 7 días.
Braze notificará al contacto de la empresa y al creador de la extensión si se desactiva esta configuración. La opción de regenerar las extensiones diariamente puede volver a activarse en cualquier momento.
Seleccionar tu configuración de actualización

En el panel Configuración del intervalo de actualización, puedes seleccionar la frecuencia con la que se actualizará esta extensión de segmento: cada hora, cada día, cada semana o cada mes. También se te pedirá que selecciones la hora concreta (que corresponde a la zona horaria de tu empresa) a la que se produciría la actualización, por ejemplo:
- Si tienes una campaña de correo electrónico que se envía todos los lunes a las 11 de la mañana, hora de la empresa, y quieres asegurarte de que tu segmento se actualiza justo antes de enviarlo, debes elegir un programa de actualización semanal a las 10 de la mañana de los lunes.
- Si quieres que tu segmento se actualice todos los días, selecciona la frecuencia de actualización diaria y, a continuación, elige la hora del día en que se actualizará.

La posibilidad de establecer un programa de actualización por horas no está disponible para las extensiones de segmento basadas en formularios (pero puedes establecer programas diarios, semanales o mensuales).
Consumo de créditos y costes adicionales
Como las actualizaciones vuelven a ejecutar la consulta de tu segmento, cada actualización de segmentos SQL consumirá créditos de segmentos SQL, y cada actualización de extensiones de segmento CDI supondrá un coste dentro de tu almacén de datos de terceros.

La actualización de los segmentos podría requerir hasta 60 minutos debido a los tiempos de procesamiento de los datos. Los segmentos que estén actualmente en proceso de actualización tendrán un estado de “Procesando” dentro de tu lista de extensiones de segmento. Esto tiene un par de implicaciones:
- Para terminar de procesar tu segmento antes de una hora determinada, elige una hora de actualización que sea 60 minutos antes.
- Solo puede producirse una actualización a la vez para una extensión de segmento específica. Si hay un conflicto en el que se inicia una nueva actualización cuando una actualización existente ya ha comenzado a procesarse, Braze cancelará la nueva solicitud de actualización y continuará el procesamiento en curso.
Criterios para desactivar automáticamente las extensiones obsoletas
Las actualizaciones programadas se desactivan automáticamente cuando una extensión de segmento queda obsoleta. Una extensión de segmento se considera obsoleta si cumple los siguientes criterios:
- No se utiliza en ninguna campaña o Canvas activos
- No se utiliza en ningún segmento que esté en una campaña o Canvas activos
- No se utiliza en ningún segmento que tenga activado el seguimiento de análisis
- No se ha modificado en más de siete días
- No se ha añadido a una campaña o Canvas (incluidos borradores), ni a un segmento en más de siete días
Si la actualización programada está desactivada para una extensión de segmento, dicha extensión tendrá una notificación que así lo indique.

Cuando estés listo para utilizar una extensión de segmento obsoleta, revisa la configuración de actualización, selecciona el programa de actualización que se ajuste a tu caso de uso y, a continuación, guarda las modificaciones.
Créditos de Snowflake
Cada espacio de trabajo de Braze dispone de 5 créditos de Snowflake al mes. Si necesitas más créditos, ponte en contacto con tu director de cuentas. Los créditos se utilizan cada vez que actualizas, o guardas y actualizas, la membresía de un segmento SQL. Los créditos no se utilizan cuando ejecutas vistas previas dentro de un segmento SQL o guardas o actualizas una extensión de segmento clásica.

Los créditos de Snowflake no se comparten entre características. Por ejemplo, los créditos de las extensiones de segmento SQL y del Generador de consultas son independientes entre sí.
El uso de créditos está correlacionado con el tiempo de ejecución de tu consulta SQL. Cuanto mayor sea el tiempo de ejecución, más créditos costará una consulta. El tiempo de ejecución puede variar en función de la complejidad y el tamaño de tus consultas a lo largo del tiempo. Cuanto más complejas y frecuentes sean las consultas que ejecutes, mayor será la asignación de recursos y más rápido será el tiempo de ejecución.
Para ahorrar créditos, previsualiza tu consulta para asegurarte de que es correcta antes de guardar la extensión de segmento SQL.
Tus créditos se restablecerán a 5 el primer día de cada mes a las 12 am UTC. Puedes monitorizar el uso de tus créditos a lo largo del mes en el panel de uso de créditos. Desde la página Extensiones de segmento, haz clic en Ver uso de créditos SQL.

Cuando tus créditos lleguen a cero, ocurrirá lo siguiente:
- Todas las extensiones de segmento SQL configuradas para actualizarse automáticamente dejarán de actualizarse, lo que afectará a la membresía de estos segmentos y a cualquier Campaign o Canvas que se dirija a estos segmentos.
- Solo podrás guardar nuevas extensiones de segmento SQL como borradores durante el resto del mes.
Todos los usuarios de la empresa que hayan creado un segmento SQL y los administradores de la empresa recibirán una notificación por correo electrónico cuando se haya utilizado el 50 %, el 80 % y el 100 % de los créditos. Después de que tus créditos se restablezcan al inicio del mes siguiente, podrás crear más segmentos SQL y se reanudarán las actualizaciones automáticas.
Si deseas adquirir más créditos de segmento SQL o extensiones de segmento adicionales, ponte en contacto con tu director de cuentas.