Saltar al contenido principal

Tablas para consultas sql

El comando sql`…` forma parte del Server SDK: lee datos directamente de la base de datos de Qubix y está disponible en los scripts, las reglas automáticas de Britva y los handlers de sitios. Esta es una referencia de qué tablas y columnas puede alcanzar, y bajo qué reglas.

Cómo funciona el acceso

  • Solo lectura. Solo se permiten consultas que comiencen con SELECT, WITH, SHOW, DESCRIBE o EXPLAIN. Cualquier modificación de datos (INSERT, UPDATE, DELETE) y el acceso a fuentes externas desde dentro de la consulta están bloqueados.
  • Parámetros seguros. Los valores pasados mediante ${…} siempre van como parámetros de la consulta, no intercalados en el texto. No es necesario escapar nada manualmente, y la sustitución en la consulta es imposible.
  • Solo ve sus propios datos. La consulta se ejecuta dentro de los permisos de su rol: obtiene exactamente las filas que tiene permiso de ver en los informes. Los datos de otros usuarios no son accesibles.
  • Un límite de tamaño. Una sola consulta devuelve como máximo unos pocos miles de filas (el administrador establece el límite exacto). Para selecciones grandes, agregue directamente en la consulta — count(), sum(), GROUP BY.

El nombre de la tabla se escribe sin prefijo de base de datos — simplemente qubix_events.

qubix_events — el flujo de eventos

La tabla principal: una fila por evento del visitante y por acción de conversión. A través de ella puede ver todo lo que ocurre con el tráfico — desde la primera visita hasta el depósito y la entrega de push.

Evento e identidad

ColumnaQué es
eventEl tipo de evento (valores en la tabla siguiente)
event_timeLa hora del evento
piuidEl identificador del visitante (persistente entre visitas)
pwa_idLa PWA a la que pertenece el evento
domainEl dominio en el que ocurrió el evento
urlLa dirección de la página

Geo y dispositivo

ColumnaQué es
geo, countryEl país del visitante (por GeoIP)
cityLa ciudad
languageEl idioma del navegador
uaEl User-Agent
ipLa dirección IP
deviceDatos del dispositivo (JSON)

Seguimiento y atribución

ColumnaQué es
click_idEl id de clic del rastreador
campaign_idLa campaña del rastreador
ad_idEl anuncio
sub_id_1sub_id_16Etiquetas personalizadas del rastreador
fbc, fbp, fbclidParámetros de atribución de Facebook
gclid, ttclidAtribución de Google / TikTok
source_clidEl id de clic original
pixelEl id del píxel
paramsTodos los parámetros de la dirección (un mapa «clave → valor»)

Oferta

ColumnaQué es
offer_idLa oferta
offer_urlEl enlace de la oferta

Push

ColumnaQué es
push_campaign_idLa campaña push
subscription_idLa suscripción push del visitante
message_idEl id del mensaje enviado
push_title, push_bodyEl texto del push

Conversión

ColumnaQué es
statusEl estado de la conversión
revenueLos ingresos por el evento
currencyLa moneda
response_codeEl código de respuesta (para eventos del lado del servidor)
error_messageEl texto del error, si lo hay
external_idUn identificador externo
extraDatos adicionales del evento (JSON)

Valores de event

Los principales tipos de evento que verá en el flujo:

GrupoValores
Visitas y vistascampaign_visit, render, white_page
Instalación de PWAinstall_accepted, install_rejected, install_blocked, installed, launch_pwa, install_fallback_redirect
Pushpush_prompt_shown, push_allow, push_deny, push_ignored, push_subscribe, push_sent, push_shown, push_click, push_dismiss, push_expired
Conversionesreg (registro), dep (depósito)

Los valores de los eventos de suscripción e instalación coinciden con los eventos del Browser SDK — lo que window.sdk envía desde el navegador llega directamente aquí.

Ejemplo

Cuántos visitantes de cada país permitieron el push en el último día:

JavaScript
const rows = sql`
SELECT geo, count() AS allowed
FROM qubix_events
WHERE event = 'push_allow'
AND event_time >= now() - INTERVAL 1 DAY
GROUP BY geo
ORDER BY allowed DESC`
for (const row of rows) console.log(row.geo, row.allowed)

Otras tablas

TablaQué contiene
pwa_appsConfiguración de aplicaciones PWA: pwa_id, name, status, country, category, rating, downloads, push_placement y otros campos del constructor
push_subscriptionsSuscripciones push: subscription_id, pwa_id, geo_country, active, subscribed_at
push_campaignsCampañas push: push_campaign_id, name, status, target_geo

Las métricas de informes ya preparadas (gasto, ingresos, ROAS, conversiones por anuncio) es más sencillo tomarlas no del flujo sin procesar sino de los campos del objeto ad — la lista completa está en Métricas y columnas.

Precaución

Los secretos del servicio no son accesibles desde las consultas — por ejemplo, las claves privadas para el push no se pueden leer. Una consulta siempre funciona en modo de solo lectura y únicamente dentro de los permisos de su rol.

Qué sigue