Ir al contenido

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.

Para crear una extensión de segmento SQL de actualización completa:

  1. Ve a Audiencia > Extensiones de segmento.
  2. Selecciona Crear nueva extensión y, a continuación, selecciona Actualización completa.

    Modal Crear nueva extensión con las opciones Actualización completa y Actualización incremental.

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

    Editor SQL que muestra un ejemplo de extensión de segmento SQL.

  4. Guarda tu extensión de segmento.

Para crear una extensión de segmento SQL de actualización incremental:

  1. Ve a Audiencia > Extensiones de segmento.
  2. Selecciona Crear nueva extensión y selecciona Actualización incremental.

    Modal Crear nueva extensión con las opciones Actualización completa y Actualización incremental.

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

    Editor SQL que muestra un ejemplo de extensión de segmento SQL incremental.

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

    Casilla para regenerar la 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”).

  5. Guarda tu extensión de segmento.

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.

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:
    1. Escribe una consulta que seleccione a los usuarios que hayan realizado el evento MÁS de X veces.
    2. Al hacer referencia a tu extensión de segmento en tu Segment, selecciona no incluye para 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, como m.orphaned_by_id AS user_id
  • Una columna de subconsulta con el alias user_id, como seleccionar desde una subconsulta que devuelve un user_id calculado

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.

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.

  1. En el editor, escribe una consulta que seleccione los user_id de la tabla que quieras.
  2. 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.
      Campo Operador con "Más de" seleccionado.

    • Número de veces: Cuántas veces quieres evaluar el evento en relación con el operador.
      Campo Número de veces con "5" introducido.

    • 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.
      Campo Período de tiempo con "365" introducido.

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.

Editor SQL que muestra un ejemplo de extensión de segmento SQL incremental.

Vista previa SQL de una extensión de segmento SQL incremental.

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)), seleccionar user_id y una agregación COUNT(), agrupar por fecha y user_id, y filtrar con $start_date en 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.

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.

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).

Extensión de segmento llamada "Clicked 1-4 emails in the last 30 days" con la opción de invertir SQL seleccionada.

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.

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.

Sección Uso en mensajería del editor SQL que muestra dónde se está usando el Segment SQL.

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.

Seleccionar tu configuración de actualización

Configuración del intervalo de actualización con una frecuencia de actualización semanal, hora de inicio a las 10 de la mañana y lunes seleccionado como día.

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á.

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.

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.

Una notificación que dice: "Las actualizaciones programadas se han desactivado para esta extensión porque no se utiliza en ninguna campaña, Canvas o segmento activos. La extensión de segmento se desactivó el 23 de febrero de 2025 a las 12:00 AM."

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.

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.

Panel de uso de créditos SQL en la página de extensiones de segmento 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.

New Stuff!