Referência de esquema do Query Studio
Referência completa de todas as tabelas consultáveis disponíveis no Zenovay Query Studio. Use este guia para explorar o esquema do banco de dados, entender tipos de coluna e escrever consultas SQL precisas.
Todas as consultas devem incluir WHERE website_id = 'your-website-id' para limitar os resultados ao seu site. As consultas sem este filtro serão rejeitadas.
O Query Studio aplica um máximo de 1.000 linhas por consulta e um tempo limite de 10 segundos. Apenas declarações SELECT são permitidas — todas as operações de gravação (INSERT, UPDATE, DELETE, DROP, etc.) são bloqueadas.
Análise principal
visitors
Registros de visitantes individuais com geolocalização, informações do dispositivo, parâmetros de rastreamento UTM e pontuações de engajamento comportamental. Esta é a tabela principal para análise granular em nível de visitante.
| Coluna | Tipo | Descrição |
|---|---|---|
id | uuid | Identificador único do registro do visitante |
website_id | uuid | Site ao qual este visitante pertence |
visitor_id | text | Identificador de visitante anônimo (hash) |
page_url | text | URL completa da página visitada |
landing_page | text | Primeira página em que o visitante chegou |
referrer | text | URL de referência que trouxe o visitante |
country_code | varchar | Código de país ISO 3166-1 alfa-2 (por exemplo, US, GB) |
country_name | varchar | Nome completo do país (por exemplo, United States) |
city | varchar | Nome da cidade da geolocalização IP |
device_type | text | Categoria de dispositivo: desktop, mobile ou tablet |
browser | varchar | Nome do navegador (por exemplo, Chrome, Firefox, Safari) |
os | varchar | Sistema operacional (por exemplo, Windows, macOS, iOS) |
utm_source | varchar | Parâmetro de origem UTM (por exemplo, google, newsletter) |
utm_medium | varchar | Parâmetro de meio UTM (por exemplo, cpc, email, organic) |
utm_campaign | varchar | Nome da campanha UTM |
channel | varchar | Canal de marketing atribuído (por exemplo, Organic Search, Direct, Social) |
had_interaction | boolean | Se o visitante interagiu com a página (cliques, rolagens, etc.) |
is_returning_visitor | boolean | true se o visitante já foi visto antes |
time_on_page | integer | Tempo gasto na página em segundos |
scroll_depth_percentage | integer | Profundidade de rolagem máxima atingida (0-100) |
value_score | integer | Pontuação de engajamento calculada (0-100) com base no comportamento |
conversion_event | varchar | Nome do evento de conversão disparado, se houver |
conversion_value | numeric | Valor monetário associado à conversão |
visited_at | timestamptz | Carimbo de tempo de quando a visita ocorreu |
analytics_daily
Estatísticas diárias pré-agregadas para consultas rápidas de dashboard. Use esta tabela em vez de visitors quando precisar de resumos diários — é significativamente mais rápida para relatórios de intervalo de datas.
| Coluna | Tipo | Descrição |
|---|---|---|
website_id | uuid | Identificador do site |
date | date | A data do calendário para este agregado |
visitors | integer | Contagem total de visitantes do dia |
page_views | integer | Visualizações de página totais do dia |
unique_visitors | integer | Contagem de visitantes únicos |
sessions | integer | Número de sessões distintas |
avg_session_duration | integer | Duração média da sessão em segundos |
bounce_rate | numeric | Taxa de rejeição como decimal (por exemplo, 0.45 = 45%) |
top_countries | jsonb | Principais países por contagem de visitantes |
top_devices | jsonb | Detalhamento do tipo de dispositivo |
top_browsers | jsonb | Detalhamento de uso do navegador |
top_referrers | jsonb | Principais fontes de referência |
top_pages | jsonb | Páginas mais visitadas |
Colunas JSONB como top_countries podem ser consultadas usando os operadores -> (retorna JSON) e ->> (retorna texto). Exemplo: top_countries->0->>'country' retorna o nome do principal país.
page_views
Eventos de visualização de página individual com métricas de desempenho e engajamento. Cada linha representa um carregamento único de página por um visitante em uma sessão.
| Coluna | Tipo | Descrição |
|---|---|---|
website_id | uuid | Identificador do site |
visitor_id | uuid | Referência ao visitante |
session_id | uuid | Sessão à qual esta visualização de página pertence |
page_url | text | URL completa da página |
page_title | text | Título HTML da página |
page_path | text | Caminho de URL sem domínio (por exemplo, /pricing) |
load_time_ms | integer | Tempo de carregamento da página em milissegundos |
time_on_page_seconds | integer | Tempo gasto nesta página em segundos |
scroll_depth_percentage | integer | Profundidade de rolagem máxima atingida (0-100) |
clicks_count | integer | Número de cliques nesta página |
had_interaction | boolean | Se ocorreu uma interação significativa |
timestamp | timestamptz | Quando a visualização de página ocorreu |
live_visitors
Visitantes atualmente ativos em seu site. Esta tabela é atualizada em tempo real e reflete os visitantes que estiveram ativos nos últimos minutos.
| Coluna | Tipo | Descrição |
|---|---|---|
website_id | uuid | Identificador do site |
visitor_id | uuid | Identificador do visitante |
current_page_url | text | Página que o visitante está vendo atualmente |
landing_page | text | Primeira página da sessão atual |
pages_viewed | integer | Número de páginas vistas nesta sessão |
device_type | varchar | Categoria de dispositivo |
browser | varchar | Nome do navegador |
country_name | varchar | País do visitante |
channel | varchar | Atribuição de canal de tráfego |
is_active | boolean | Se o visitante ainda está navegando ativamente |
is_new_visitor | boolean | true se esta for a primeira sessão do visitante |
Receita e pagamentos
payments
Transações de pagamento sincronizadas de provedores de pagamento conectados (Stripe, LemonSqueezy, Polar). Cada linha representa uma transação única.
| Coluna | Tipo | Descrição |
|---|---|---|
website_id | uuid | Identificador do site |
amount | numeric | Valor da transação na moeda especificada |
currency | varchar | Código de moeda ISO 4217 (por exemplo, USD, EUR) |
status | varchar | Status do pagamento: succeeded, pending, failed, refunded |
provider | varchar | Provedor de pagamento: stripe, lemonsqueezy, polar |
marketing_channel | varchar | Canal de marketing atribuído a este pagamento |
utm_source | varchar | Origem UTM ligada a esta transação |
customer_email | varchar | Endereço de e-mail do cliente |
customer_name | varchar | Nome de exibição do cliente |
created_at | timestamptz | Quando o pagamento foi criado |
revenue_attribution
Receita atribuída a canais de marketing em períodos definidos. Use esta tabela para análise de ROI do canal e relatórios de desempenho de marketing.
| Coluna | Tipo | Descrição |
|---|---|---|
website_id | uuid | Identificador do site |
period_start | date | Data de início do período de atribuição |
period_end | date | Data de término do período de atribuição |
marketing_channel | varchar | Nome do canal de marketing |
utm_source | varchar | Origem UTM para esta atribuição |
total_revenue | numeric | Receita total atribuída a este canal |
transaction_count | integer | Número de transações |
unique_customers | integer | Contagem de clientes pagadores únicos |
conversion_rate | numeric | Taxa de conversão como decimal |
identified_users
Usuários conhecidos que foram identificados através da API de identificação de visitantes. Inclui status de assinatura e dados de receita vitalícia.
| Coluna | Tipo | Descrição |
|---|---|---|
website_id | uuid | Identificador do site |
email | varchar | Endereço de e-mail do usuário |
name | varchar | Nome de exibição do usuário |
total_revenue | numeric | Receita vitalícia deste usuário |
subscription_status | varchar | Status atual: active, canceled, past_due, trialing |
subscription_plan | varchar | Nome do plano (por exemplo, Pro, Enterprise) |
total_sessions | integer | Número total de sessões |
first_seen_at | timestamptz | Quando o usuário foi identificado pela primeira vez |
last_seen_at | timestamptz | Carimbo de tempo da atividade mais recente |
Objetivos e funis
custom_goals
Definições de objetivo configuradas no painel. Cada objetivo rastreia uma ação do usuário específica, como visitar uma URL ou disparar um evento personalizado.
| Coluna | Tipo | Descrição |
|---|---|---|
website_id | uuid | Identificador do site |
name | varchar | Nome de objetivo legível para humanos |
goal_type | varchar | Tipo de objetivo: url, event, pageview |
url_pattern | text | Padrão de URL para corresponder (para objetivos do tipo URL) |
event_name | varchar | Nome do evento para corresponder (para objetivos do tipo evento) |
is_active | boolean | Se o objetivo está ativo no momento |
default_value | numeric | Valor monetário padrão por conclusão |
goal_completions
Eventos de conversão de objetivo individual. Cada linha representa uma única instância de um visitante completando um objetivo definido.
| Coluna | Tipo | Descrição |
|---|---|---|
goal_id | uuid | Referência à definição do objetivo |
website_id | uuid | Identificador do site |
visitor_id | text | Visitante que completou o objetivo |
completion_value | numeric | Valor desta conclusão específica |
page_url | text | Página onde a conclusão ocorreu |
utm_source | varchar | Origem UTM no momento da conclusão |
device_type | varchar | Dispositivo usado |
country_name | varchar | País do visitante |
completed_at | timestamptz | Quando o objetivo foi concluído |
funnels
Definições de funil para rastreamento de conversão em múltiplas etapas.
| Coluna | Tipo | Descrição |
|---|---|---|
id | uuid | Identificador único do funil |
website_id | uuid | Identificador do site |
name | varchar | Nome do funil |
funnel_steps
Etapas individuais em um funil, ordenadas sequencialmente. Faça join com funnels em funnel_id para obter a configuração completa do funil.
| Coluna | Tipo | Descrição |
|---|---|---|
funnel_id | uuid | Referência ao funil pai |
step_order | integer | Posição na sequência do funil (baseado em 1) |
step_name | varchar | Nome de exibição desta etapa |
step_type | varchar | Tipo de etapa: url, event |
url_pattern | text | Padrão de URL para corresponder (para etapas de URL) |
event_name | varchar | Nome do evento para corresponder (para etapas de evento) |
Erros e desempenho
error_groups
Tipos de erro agrupados com contagens de ocorrência e gravidade. Os erros são automaticamente desduplicados e agrupados por tipo e mensagem.
| Coluna | Tipo | Descrição |
|---|---|---|
website_id | uuid | Identificador do site |
error_type | varchar | Categoria de erro: javascript, network, unhandled_rejection |
error_message | text | A string da mensagem de erro |
occurrence_count | integer | Número total de ocorrências deste erro |
user_count | integer | Número de usuários únicos afetados |
severity | varchar | Nível de gravidade: low, medium, high, critical |
status | varchar | Status de triagem: open, resolved, ignored |
first_seen | timestamptz | Quando este erro foi registrado pela primeira vez |
last_seen | timestamptz | Ocorrência mais recente |
error_occurrences
Eventos de erro individual com contexto completo, incluindo rastreamentos de pilha e detalhes do ambiente.
| Coluna | Tipo | Descrição |
|---|---|---|
website_id | uuid | Identificador do site |
error_type | varchar | Categoria de erro |
error_message | text | A mensagem de erro |
stacktrace | jsonb | Rastreamento de pilha completo como JSON estruturado |
page_url | text | Página onde o erro ocorreu |
browser | varchar | Nome e versão do navegador |
os | varchar | Sistema operacional |
severity | varchar | Nível de gravidade |
timestamp | timestamptz | Quando o erro ocorreu |
performance_metrics
Medidas de Core Web Vitals (LCP, CLS, INP) coletadas do monitoramento de usuários reais. Cada linha é uma única medição de um carregamento de página.
| Coluna | Tipo | Descrição |
|---|---|---|
website_id | uuid | Identificador do site |
page_url | text | Página onde as métricas foram coletadas |
lcp_value | numeric | Largest Contentful Paint em milissegundos |
lcp_rating | varchar | Classificação LCP: good, needs-improvement, poor |
cls_value | numeric | Pontuação Cumulative Layout Shift |
cls_rating | varchar | Classificação CLS: good, needs-improvement, poor |
inp_value | integer | Interaction to Next Paint em milissegundos |
inp_rating | varchar | Classificação INP: good, needs-improvement, poor |
device_type | varchar | Tipo de dispositivo usado para esta medição |
browser | varchar | Nome do navegador |
recorded_at | timestamptz | Quando a medição foi registrada |
Monitoramento de tempo de atividade
uptime_checks
Resultados de verificação de tempo de atividade individual do sistema de monitoramento. Cada linha representa um único ping de verificação de integridade para seu site.
| Coluna | Tipo | Descrição |
|---|---|---|
website_id | uuid | Identificador do site |
checked_at | timestamptz | Quando a verificação foi realizada |
is_up | boolean | Se o site respondeu com sucesso |
status_code | integer | Código de status de resposta HTTP |
response_time_ms | integer | Tempo de resposta em milissegundos |
error_message | text | Mensagem de erro se a verificação falhar |
region | varchar | Região de monitoramento (por exemplo, us-east, eu-west, ap-south) |
uptime_daily
Agregados de tempo de atividade diário. Use-o para relatórios de SLA e análise de tendências em vez de consultar verificações individuais.
| Coluna | Tipo | Descrição |
|---|---|---|
website_id | uuid | Identificador do site |
date | date | Data do calendário |
uptime_percentage | numeric | Tempo de atividade em porcentagem (por exemplo, 99.95) |
avg_response_time_ms | integer | Tempo de resposta médio em milissegundos |
incidents_count | integer | Número de incidentes de tempo de inatividade |
checks_total | integer | Número total de verificações realizadas |
Comportamento do usuário
heatmap_data
Dados de mapa de calor de clique e rolagem agregados em uma sobreposição de grade. Cada linha representa uma célula de grade com contagens de interação acumuladas.
| Coluna | Tipo | Descrição |
|---|---|---|
website_id | uuid | Identificador do site |
page_path | varchar | Caminho da página para este mapa de calor |
heatmap_type | varchar | Tipo: click, scroll, move |
grid_x | smallint | Coordenada horizontal da grade |
grid_y | smallint | Coordenada vertical da grade |
hit_count | integer | Número de interações nesta célula da grade |
intensity | numeric | Valor de intensidade normalizado (0,0 a 1,0) |
heatmap_sessions
Resumos em nível de sessão de dados de interação de mapa de calor por página.
| Coluna | Tipo | Descrição |
|---|---|---|
website_id | uuid | Identificador do site |
page_url | text | URL completa da página |
total_clicks | integer | Número total de cliques registrados |
total_movements | integer | Número total de movimentos do mouse registrados |
total_scroll_events | integer | Número total de eventos de rolagem registrados |
replay_sessions
Metadados de gravação de sessão de reprodução. Cada linha representa uma sessão de navegação gravada que pode ser reproduzida no painel.
| Coluna | Tipo | Descrição |
|---|---|---|
website_id | uuid | Identificador do site |
visitor_id | varchar | Visitante que foi gravado |
duration_ms | integer | Duração total da gravação em milissegundos |
total_events | integer | Número de eventos DOM capturados |
total_size | integer | Tamanho dos dados de gravação em bytes |
started_at | timestamptz | Quando a gravação começou |
frustration_events
Sinais de frustração do usuário detectados, incluindo cliques de raiva, cliques mortos e cliques de erro.
| Coluna | Tipo | Descrição |
|---|---|---|
website_id | uuid | Identificador do site |
frustration_type | varchar | Tipo: rage_click, dead_click, error_click, thrashed_cursor |
page_url | text | Página onde a frustração foi detectada |
timestamp | timestamptz | Quando o evento ocorreu |
scroll_depth_stats
Estatísticas de profundidade de rolagem agregadas por página, mostrando até onde os visitantes rolam em cada página.
| Coluna | Tipo | Descrição |
|---|---|---|
website_id | uuid | Identificador do site |
page_path | varchar | Caminho da página |
depth_percentage | smallint | Bucket de profundidade de rolagem (por exemplo, 25, 50, 75, 100) |
reach_count | integer | Número de visitantes que atingiram essa profundidade |
session_history
Resumos de sessão concluída com métricas de engajamento e conversão.
| Coluna | Tipo | Descrição |
|---|---|---|
website_id | uuid | Identificador do site |
visitor_id | uuid | Identificador do visitante |
total_duration_seconds | integer | Duração total da sessão em segundos |
pages_viewed | integer | Número de páginas vistas na sessão |
bounce | boolean | true se o visitante saiu após uma página |
converted | boolean | true se um evento de conversão foi disparado |
conversion_value | numeric | Valor de conversão total para a sessão |
B2B e empresas
b2b_companies
Empresas identificadas visitando seu site, enriquecidas com dados firmográficos da resolução de IP para empresa.
| Coluna | Tipo | Descrição |
|---|---|---|
id | text | Identificador único da empresa |
name | text | Nome da empresa |
domain | text | Domínio do site da empresa |
industry | text | Classificação do setor |
employee_count | integer | Número estimado de funcionários |
revenue_range | text | Intervalo de receita anual estimado (por exemplo, $10M-$50M) |
b2b_company_visits
Agregados de visita em nível de empresa. Faça join com b2b_companies em company_id = id para obter detalhes completos da empresa.
| Coluna | Tipo | Descrição |
|---|---|---|
company_id | text | Referência à empresa |
website_id | uuid | Identificador do site |
total_visits | integer | Número total de visitas desta empresa |
total_page_views | integer | Número total de visualizações de página desta empresa |
engagement_score | numeric | Pontuação de engajamento calculada (0-100) |
last_visit | timestamptz | Carimbo de tempo da visita mais recente |
Marketing e campanhas
campaign_performance
Métricas de desempenho de campanha UTM agregadas por data. Use-a para análise de ROI de marketing e comparação de campanhas.
| Coluna | Tipo | Descrição |
|---|---|---|
website_id | uuid | Identificador do site |
utm_source | varchar | Parâmetro de origem UTM |
utm_campaign | varchar | Nome da campanha UTM |
visitors | integer | Número de visitantes desta campanha |
conversions | integer | Número de conversões atribuídas |
revenue | numeric | Receita total atribuída |
bounce_rate | numeric | Taxa de rejeição como decimal |
date | date | Data das métricas |
gsc_keyword_data
Dados de desempenho de palavras-chave do Google Search Console sincronizados através da integração do GSC. Mostra o desempenho de suas páginas nos resultados de pesquisa do Google.
| Coluna | Tipo | Descrição |
|---|---|---|
website_id | uuid | Identificador do site |
query | text | Consulta de pesquisa (palavra-chave) |
clicks | integer | Número de cliques dos resultados de pesquisa |
impressions | integer | Número de vezes mostrado nos resultados de pesquisa |
ctr | numeric | Taxa de cliques como decimal (por exemplo, 0.034 = 3,4%) |
position | numeric | Posição média nos resultados de pesquisa |
date | date | Data dos dados de pesquisa |
Eventos personalizados
custom_events
Eventos de rastreamento definidos pelo usuário enviados via API de eventos personalizados. Cada linha representa uma única ocorrência de evento com propriedades opcionais e dados de receita.
| Coluna | Tipo | Descrição |
|---|---|---|
website_id | uuid | Identificador do site |
event_name | varchar | Nome do evento personalizado (por exemplo, signup, add_to_cart) |
event_category | varchar | Categoria de evento para agrupamento |
visitor_id | uuid | Visitante que disparou o evento |
properties | jsonb | Propriedades chave-valor personalizadas anexadas ao evento |
revenue | numeric | Valor de receita associado a este evento |
page_url | text | Página onde o evento foi disparado |
A coluna properties é JSONB. Consulte propriedades específicas usando properties->>'key_name'. Exemplo: WHERE properties->>'plan' = 'pro'.
events
Eventos em nível do sistema rastreados automaticamente pelo rastreador Zenovay. Inclui visualizações de página, cliques, envios de formulário e outros tipos de eventos integrados.
| Coluna | Tipo | Descrição |
|---|---|---|
website_id | uuid | Identificador do site |
visitor_id | uuid | Identificador do visitante |
event_type | text | Tipo de evento: pageview, click, form_submit, video_progress, file_upload, scroll, custom |
event_name | text | Nome do evento específico |
event_value | text | Valor de string associado ao evento |
event_data | jsonb | Dados de evento estruturados adicionais |
timestamp | timestamptz | Quando o evento ocorreu |
Outro
chart_notes
Anotações de painel anexadas a datas específicas. Estas aparecem como marcadores em gráficos de série temporal para fornecer contexto para tendências de dados.
| Coluna | Tipo | Descrição |
|---|---|---|
website_id | uuid | Identificador do site |
note_date | date | Data à qual a anotação está anexada |
content | text | Conteúdo de texto da anotação |
show_on_chart | boolean | Se a anotação deve ser exibida em gráficos do painel |
alerts
Regras de alerta configuradas que acionam notificações quando as condições especificadas são atendidas.
| Coluna | Tipo | Descrição |
|---|---|---|
website_id | uuid | Identificador do site |
alert_type | text | Categoria de alerta: traffic_spike, traffic_drop, error_rate, uptime, goal |
name | text | Nome de alerta legível para humanos |
conditions | jsonb | Condições de acionamento de alerta como JSON estruturado |
status | text | Status do alerta: active, paused, triggered |
websites
Registros de configuração do site. Cada site rastreado tem uma entrada aqui com suas configurações e código de rastreamento.
| Coluna | Tipo | Descrição |
|---|---|---|
id | uuid | Identificador único do site (usado como website_id em todos os lugares) |
domain | varchar | Domínio do site (por exemplo, example.com) |
name | varchar | Nome de exibição do site |
is_active | boolean | Se o rastreamento está ativo no momento |
tracking_code | varchar | Código de rastreamento único para o script de incorporação |
timezone | varchar | Fuso horário para agregações de datas (por exemplo, America/New_York) |
Consultas de exemplo
Análise principal
SELECT page_url, COUNT(*) as visits, AVG(time_on_page) as avg_time
FROM visitors
WHERE website_id = 'YOUR_WEBSITE_ID'
AND visited_at >= date_trunc('month', now())
GROUP BY page_url
ORDER BY visits DESC
LIMIT 10;SELECT date, visitors, page_views, bounce_rate
FROM analytics_daily
WHERE website_id = 'YOUR_WEBSITE_ID'
AND date >= now() - interval '30 days'
ORDER BY date ASC;Receita e pagamentos
SELECT marketing_channel, SUM(amount) as total_revenue, COUNT(*) as transactions
FROM payments
WHERE website_id = 'YOUR_WEBSITE_ID'
AND status = 'succeeded'
AND created_at >= date_trunc('month', now())
GROUP BY marketing_channel
ORDER BY total_revenue DESC;SELECT email, name, total_revenue, subscription_status, subscription_plan
FROM identified_users
WHERE website_id = 'YOUR_WEBSITE_ID'
ORDER BY total_revenue DESC
LIMIT 20;Objetivos e funis
SELECT utm_source, COUNT(*) as completions, SUM(completion_value) as total_value
FROM goal_completions
WHERE website_id = 'YOUR_WEBSITE_ID'
AND completed_at >= date_trunc('week', now())
GROUP BY utm_source
ORDER BY completions DESC;Erros e desempenho
SELECT error_type, error_message, occurrence_count, user_count, severity, last_seen
FROM error_groups
WHERE website_id = 'YOUR_WEBSITE_ID'
AND status = 'open'
ORDER BY occurrence_count DESC
LIMIT 10;SELECT page_url,
ROUND(AVG(lcp_value), 0) as avg_lcp_ms,
ROUND(AVG(cls_value), 3) as avg_cls,
ROUND(AVG(inp_value), 0) as avg_inp_ms
FROM performance_metrics
WHERE website_id = 'YOUR_WEBSITE_ID'
AND recorded_at >= now() - interval '7 days'
GROUP BY page_url
ORDER BY avg_lcp_ms DESC
LIMIT 10;Monitoramento de tempo de atividade
SELECT date, uptime_percentage, avg_response_time_ms, incidents_count
FROM uptime_daily
WHERE website_id = 'YOUR_WEBSITE_ID'
AND date >= now() - interval '30 days'
ORDER BY date ASC;Comportamento do usuário
SELECT page_url, frustration_type, COUNT(*) as occurrences
FROM frustration_events
WHERE website_id = 'YOUR_WEBSITE_ID'
AND timestamp >= now() - interval '7 days'
GROUP BY page_url, frustration_type
ORDER BY occurrences DESC
LIMIT 10;SELECT visitor_id, duration_ms / 1000 as duration_seconds, total_events, started_at
FROM replay_sessions
WHERE website_id = 'YOUR_WEBSITE_ID'
AND duration_ms > 120000
ORDER BY started_at DESC
LIMIT 20;B2B e empresas
SELECT c.name, c.industry, c.employee_count, v.total_visits, v.engagement_score, v.last_visit
FROM b2b_company_visits v
JOIN b2b_companies c ON c.id = v.company_id
WHERE v.website_id = 'YOUR_WEBSITE_ID'
ORDER BY v.engagement_score DESC
LIMIT 15;Marketing e campanhas
SELECT utm_source, utm_campaign, SUM(visitors) as total_visitors,
SUM(conversions) as total_conversions, SUM(revenue) as total_revenue,
ROUND(AVG(bounce_rate), 3) as avg_bounce_rate
FROM campaign_performance
WHERE website_id = 'YOUR_WEBSITE_ID'
AND date >= now() - interval '30 days'
GROUP BY utm_source, utm_campaign
ORDER BY total_revenue DESC;SELECT query, SUM(clicks) as total_clicks, SUM(impressions) as total_impressions,
ROUND(AVG(ctr), 4) as avg_ctr, ROUND(AVG(position), 1) as avg_position
FROM gsc_keyword_data
WHERE website_id = 'YOUR_WEBSITE_ID'
AND date >= now() - interval '28 days'
GROUP BY query
ORDER BY total_clicks DESC
LIMIT 20;Eventos personalizados
SELECT event_name, event_category, COUNT(*) as occurrences, SUM(revenue) as total_revenue
FROM custom_events
WHERE website_id = 'YOUR_WEBSITE_ID'
AND properties->>'source' IS NOT NULL
GROUP BY event_name, event_category
ORDER BY occurrences DESC
LIMIT 20;Outro
SELECT note_date, content
FROM chart_notes
WHERE website_id = 'YOUR_WEBSITE_ID'
AND note_date >= date_trunc('month', now())
AND show_on_chart = true
ORDER BY note_date ASC;SELECT name, alert_type, status, conditions
FROM alerts
WHERE website_id = 'YOUR_WEBSITE_ID'
AND status = 'active'
ORDER BY name;