Cómo conectar LLM Pulse a Tableau
Puedes crear paneles de Tableau con tus datos de LLM Pulse sin escribir código. La API de LLM Pulse devuelve una tabla plana cuando lo solicitas, y Tableau la lee mediante el REST API Connector que Tableau publica en Tableau Exchange.
Por qué no hay un conector de LLM Pulse para Tableau
A diferencia de Looker Studio y Power BI, Tableau ya no admite el tipo de conector personalizado que puede distribuir un proveedor de datos. El framework Web Data Connector está obsoleto y se está retirando, y Tableau Exchange solo acepta controladores de bases de datos. Tableau recomienda usar su REST API Connector genérico para APIs como la nuestra, que es lo que explica esta guía.
La diferencia práctica es pequeña: instalas un conector de Tableau en lugar de uno nuestro y pegas una URL.
Qué necesitas
- Una clave de API de LLM Pulse. Las claves de API requieren el plan Scale o superior. Crea una desde el menú del perfil > Claves de API.
- Tableau Desktop 2023.3 o posterior.
- El REST API Connector de Tableau, instalado desde Tableau Exchange. También instala un controlador, así que sigue las notas de instalación de Tableau.
Paso 1: Crea tu URL de datos
Todos los endpoints de lectura de LLM Pulse aceptan un parámetro output. Añade output=csv y la respuesta se convierte en una tabla plana que Tableau puede leer directamente.
El punto de partida más habitual es la serie temporal de tus métricas de visibilidad:
https://api.llmpulse.ai/api/v1/metrics/timeseries?project_id=YOUR_PROJECT_ID&range=90&granularity=week&metrics=mentions,visibility,citation_rate,ai_visibility_score&competitors=ALL_COMPETITOR_IDS&output=csv
Puedes encontrar tu ID de proyecto en la URL de cualquier página del proyecto, y los IDs de tus competidores en Competidores o en el endpoint /dimensions/competitors.
Paso 2: Conecta desde Tableau
- En Tableau Desktop, abre Data > New Data Source y elige REST API Connector.
- Pega la URL del paso 1.
- Configura la autenticación como Bearer token y pega tu clave de API de LLM Pulse.
- Configura el formato de respuesta como CSV.
- Carga los datos.
Tableau crea un extracto con una fila por fecha, actor y métrica.
Paso 3: Crea las vistas
La tabla de series temporales contiene estas columnas:
| Columna | Significado |
|---|---|
date |
Inicio del día, semana o mes, según la granularidad solicitada |
actor_type |
project para tu marca, competitor para un competidor seguido |
actor_name, actor_domain, actor_id |
Entidad a la que corresponde la fila |
metric |
Métrica que contiene la fila |
value |
El número, en la misma escala que muestra la aplicación |
Como la tabla está en formato largo, una hoja de trabajo puede mostrar cualquier métrica: coloca date en columnas, value en filas, actor_name en color y filtra por metric. Añade un segundo filtro en metric y tendrás un panel completo desde una única fuente de datos.
Otras tablas útiles
Cambia el endpoint en la URL y mantén output=csv:
| Qué quieres | Endpoint |
|---|---|
| Share of Voice a lo largo del tiempo | /metrics/sov |
| Instantánea de Share of Voice, ordenada | /metrics/sov con view=current |
| Los 4 competidores principales más Otros | /metrics/sov con view=breakdown |
| Rendimiento por prompt | /metrics/prompt_summary |
| Dominios más citados | /metrics/top_sources |
| Menciones y citaciones individuales | /dimensions/mentions, /dimensions/citations |
| Datos de Google Search Console | /search_console/timeseries, /search_console/queries, /search_console/pages |
Referencia completa de parámetros: consulta la descripción general de la API REST o la documentación de la API.
Información útil
- Las actualizaciones son extractos, no datos en vivo. El REST API Connector de Tableau carga los datos en un extracto, así que programa una actualización con la frecuencia que necesites. Los prompts se ejecutan semanalmente, por lo que una actualización diaria es más que suficiente.
- Compara marcas con prompts que no sean de marca. Añade
brand_kind=non_branda cualquier URL de métricas para comparar de forma justa tu marca con la competencia. Los prompts que mencionan una marca favorecen naturalmente a esa marca. Es lo que hace el Overview de la aplicación de forma predeterminada. - Los endpoints paginados devuelven una página cada vez.
/metrics/prompt_summary,/metrics/top_sources, las listas/dimensions/*y los endpoints de Search Console devuelven hasta 100 filas por petición. El número total de filas aparece en la cabecera de respuestaX-Total-Count, así que aumentaper_pageo avanza mediantepagepara cargarlo todo. - Las cargas muy grandes tienen un límite. Una única petición devuelve como máximo 200.000 filas. Si alcanzas ese límite, acorta el rango de fechas, solicita menos métricas o usa
granularity=week. - Las celdas de texto se escapan para hojas de cálculo. Si un prompt empieza por
=o-, se devuelve con un apóstrofo inicial para que nunca se interprete como una fórmula.
Solución de problemas
Tableau muestra una sola columna con todo el contenido. El formato de respuesta está configurado como JSON. Cámbialo a CSV en la configuración del conector.
Error 401 o 403. Comprueba que el token se envía como token Bearer, que la clave está activa en menú del perfil > Claves de API y que tu plan incluye acceso a la API (Scale y superiores). Los endpoints de Search Console también requieren Growth o superior y una propiedad conectada.
Error 422 que menciona output. Ese endpoint no tiene versión tabular. La lista anterior incluye todos los endpoints que la tienen.
Tabla vacía. Confirma que el ID de proyecto es correcto y que el rango de fechas incluye un período con ejecuciones. Los proyectos nuevos necesitan completar su primera ejecución semanal antes de que haya datos que mostrar.
Tableau no detecta columnas. Las tablas de series temporales, resumen y Share of Voice siempre devuelven su fila de encabezado, incluso para un período vacío. El resto de endpoints construyen sus columnas a partir de las propias filas, así que un rango de fechas sin datos devuelve un archivo vacío sin encabezado y Tableau no tiene esquema que leer. Apunta la conexión a un rango que tenga datos y actualiza.