Descripción general
La integración utiliza un Cloudflare Worker que se ejecuta como middleware para recopilar metadatos de las solicitudes y enviarlos a nuestra API de Agent Analytics. El Worker captura información importante de las solicitudes, como direcciones IP, user agents y referrers, sin afectar el manejo real de la solicitud.Requisitos previos
- Una cuenta de Cloudflare con acceso a Workers
- Node.js instalado en tu máquina de desarrollo
- Acceso a la configuración de Cloudflare de tu dominio
- Un Log Ingestion Token de Profound para Agent Analytics
¿Tienes una tienda en Shopify? No pongas un Worker delante. En su lugar, usa una de las opciones de log drain de nuestra guía de Shopify, que recopila los registros fuera de banda.

Guía de implementación
1
Configura tu entorno de desarrollo
Crea un nuevo proyecto de Worker e instala las dependencias:Después de que npm se inicie, se te pedirá que selecciones un punto de partida. Selecciona “Hello World” como categoría inicial.
Selecciona la plantilla de worker “Hello World”.
Selecciona el lenguaje “TypeScript”.
Ahora la CLI creará un nuevo proyecto con el nombre 
Implementa la aplicación ahora. La aplicación se implementará con un dominio de desarrollo de Cloudflare y no afectará tu entorno de producción.
La CLI de Cloudflare te pedirá que inicies sesión y selecciones la cuenta en la que quieres implementar la aplicación. Elige la cuenta a la que está asociado tu dominio.Cloudflare debería abrir automáticamente una ventana del navegador con “Hello World”. Puedes navegar al directorio del proyecto una vez implementada la aplicación.
Crea un nuevo proyecto de Worker
Primero, usa la CLI de Cloudflare Worker para crear un nuevo proyecto de Worker:En este ejemplo, usamos la versión2.37.4 de la CLI de Cloudflare Worker. Puedes usar la versión más reciente, pero puede haber algunas diferencias menores en el proceso.


log-collector e instalará las dependencias necesarias.Selecciona Git para el control de versiones.

2
Configura tu Worker
Edita tu archivo Luego copia el código TypeScript en
wrangler.json para configurar la variable de entorno PROFOUND_API_URL y la vinculación de ruta:wrangler.json
src/index.ts:src/index.ts
El Worker registra dos fallos distintos.
Log ingestion rejected the request: <status> <body> significa que Profound recibió la solicitud y la rechazó. Suele tratarse de un problema de autenticación o de payload, y el estado y el cuerpo indican cuál. Failed to send logs: <name>: <message> significa que la solicitud nunca se completó. TimeoutError corresponde al tiempo de espera de cinco segundos. Otros nombres apuntan a un problema de conexión o de configuración. Ambos mensajes van a los registros del Worker. Puedes leerlos en Workers & Pages > tu Worker > Logs.bytes se deriva del encabezado de respuesta content-length en lugar del cuerpo de la respuesta. Leer el cuerpo (por ejemplo, mediante response.clone() y blob()) obliga a Cloudflare a almacenar todo el payload en búfer en el isolate del Worker, lo que falla con un 5xx en respuestas grandes o transmitidas por streaming. Este Worker nunca lee ni modifica el cuerpo de la respuesta. Transmite la respuesta del origen sin cambios, pero sigue estando en la ruta de la solicitud, por lo que los fallos de obtención del origen aparecen igual que sin él. Por tanto, bytes cuenta los encabezados más content-length, y solo cuando la respuesta realmente transmite un cuerpo (no HEAD, 204 ni 304).3
Implementa tu Worker
Inicia sesión en Cloudflare
Usa la CLI de Wrangler para implementar el Worker:Configura el Log Ingestion Token de Profound
Secrets es una función de Cloudflare Workers que te permite almacenar información sensible, como los Log Ingestion Tokens, en un entorno seguro.
Implementa el Worker
4
Prueba tu implementación
Verifica que tu Worker funciona correctamente:Ve a Agent Analytics en Profound y comprueba que los registros aparecen en el panel Logs. El filtro de registros de IA está activado de forma predeterminada. Desactívalo con el filtro situado en la parte superior del panel Logs.Si aparecen registros, todo está listo. Deberías ver cómo se completan los datos en el panel de Analytics.
Solución de problemas
-
Si los registros no aparecen, verifica que la variable de entorno
PROFOUND_API_URLy el secretoPROFOUND_LOG_INGESTION_TOKENestén configurados correctamente -
Log ingestion rejected the request: 401o403en los registros del Worker: el secretoPROFOUND_LOG_INGESTION_TOKENfalta, está mal escrito o no es el token emitido para este sitio. Vuelve a configurarlo connpx wrangler secret put PROFOUND_LOG_INGESTION_TOKEN -
Failed to send logs: TimeoutError: la solicitud de registro superó el tiempo de espera de cinco segundos. Es normal que haya un pequeño número de estos errores y solo te cuestan las líneas de registro afectadas, ya que el tiempo de espera mantiene la llamada de registro alejada de tus visitantes. Si la tasa es sostenida, conviene informar al soporte de Profound con algunos valores derequestIdde los registros del Worker -
Failed to send logs:con cualquier otro nombre de error: comparaPROFOUND_API_URLcon el valor del paso de configuración anterior. Una URL que se resuelve en un hostname de tu propia zona de Cloudflare hace que el Worker se llame a sí mismo, lo que falla en cada solicitud - Revisa Cloudflare Workers > Analytics en busca de errores de ejecución
- Asegúrate de que tu patrón de ruta coincida con la configuración de tu dominio
- Verifica que el Worker está recibiendo solicitudes revisando las métricas del panel de Cloudflare
-
5xx intermitentes tras implementar el Worker: revisa Metrics > Errors > Invocation Statuses en busca de
Exceeded Memory(Error 1102) oScript threw exception(Error 1101). Ambos significan que el propio Worker está fallando, no tu origen. Confirma que estás ejecutando el código anterior (sinclone(), sin lecturas del cuerpo) y que la llamada de registro está envuelta enctx.waitUntil()con un.catch() -
Rechazos en Google Ads / Merchant Center como “destination not working” o “image not accessible” tras implementar el Worker: provienen de
AdsBot-Googleo del fetcher de Merchant Center al recibir uno de los errores del Worker mencionados. Corrige los errores del Worker y luego solicita una nueva revisión -
Para descartar por completo el Worker, elimina la vinculación de ruta (
npx wrangler triggers deleteo elimina la ruta en el panel) y confirma que los errores se detienen
Recursos adicionales
- Documentación de Cloudflare Workers
- Documentación de la CLI de Wrangler
- Contacta con support@tryprofound.com para preguntas relacionadas con la API
Consideraciones de seguridad
- Almacena los Log Ingestion Tokens como secretos en entornos de producción
- Rota los Log Ingestion Tokens con regularidad
- Supervisa el uso y los registros del Worker para detectar patrones inusuales