PostHog

Rastrea vistas de página, eventos personalizados y grabaciones de sesión con PostHog.

PostHog es una plataforma de analítica de productos de código abierto que te da control total sobre tus datos. Boltdocs inyecta el fragmento JavaScript de PostHog automáticamente cuando lo configuras.

Referencia de ConfiguraciónLink

PropiedadTipoPredeterminadoDescripción
apiKeystring✓Tu clave API del proyecto PostHog (ej: 'phc_xxx')
hoststring'https://us.i.posthog.com'Host de la API de PostHog. Usa 'https://eu.i.posthog.com' para la nube de la UE
capturePageviewbooleantrueCapturar vistas de página automáticamente
capturePageleavebooleantrueCapturar eventos de salida de página automáticamente
sessionRecordingbooleanfalseHabilitar grabación de sesión
autocapturebooleanfalseHabilitar captura automática de clics

Ejemplo MínimoLink

ts
integrations: {
  analytics: {
    posthog: {
      apiKey: 'phc_xxxxxxxxxxxxxxxxxxxx',
    },
  },
}

Nube de la UELink

Si tu instancia de PostHog está en la región de la UE:

ts
integrations: {
  analytics: {
    posthog: {
      apiKey: 'phc_xxxxxxxxxxxxxxxxxxxx',
      host: 'https://eu.i.posthog.com',
    },
  },
}

Con Grabación de SesiónLink

ts
integrations: {
  analytics: {
    posthog: {
      apiKey: 'phc_xxxxxxxxxxxxxxxxxxxx',
      sessionRecording: true,
    },
  },
}

Qué se RastreaLink

Eventos AutomáticosLink

EventoDescripción
$pageviewSe ejecuta en cada navegación de página (incluyendo navegación del lado del cliente)
$pageleaveSe ejecuta cuando el usuario abandona una página

Eventos PersonalizadosLink

Puedes rastrear eventos personalizados usando el hook useTrackEvent():

tsx
import { useTrackEvent } from 'boltdocs'

export function MyComponent() {
  const trackEvent = useTrackEvent()

  const handleClick = () => {
    trackEvent('button_click', {
      button_id: 'downloadPdf',
      button_location: 'sidebar',
    })
  }

  return <button onClick={handleClick}>Descargar PDF</button>
}

Usando los HooksLink

useAnalytics()Link

Accede a la API completa de analítica:

tsx
import { useAnalytics } from 'boltdocs'

function MyComponent() {
  const { trackEvent, trackPageView } = useAnalytics()

  // Rastrear un evento personalizado
  trackEvent('search', { query: 'instalación' })

  // Rastrear una vista de página manualmente
  trackPageView('/docs/guides/getting-started/instalación', 'Instalación')
}

useTrackPageView()Link

Rastreo simplificado de vistas de página:

tsx
import { useTrackPageView } from 'boltdocs'

function DocPage({ title, path }) {
  const trackPageView = useTrackPageView()

  useEffect(() => {
    trackPageView(path, title)
  }, [path, title])
}

useTrackEvent()Link

Rastrea eventos arbitrarios:

tsx
import { useTrackEvent } from 'boltdocs'

function SearchBox() {
  const trackEvent = useTrackEvent()

  return (
    <input
      onChange={(e) => {
        trackEvent('search_input', { query: e.target.value })
      }}
    />
  )
}

Respetando la Privacidad del UsuarioLink

PostHog soporta la exclusión de captura de datos. Puedes usar la API de PostHog para respetar el consentimiento del usuario:

tsx
import { useEffect } from 'react'

function ConsentHandler({ hasConsent }) {
  useEffect(() => {
    if (window.posthog) {
      if (hasConsent) {
        window.posthog.opt_in_capturing()
      } else {
        window.posthog.opt_out_capturing()
      }
    }
  }, [hasConsent])

  return null
}

Solución de ProblemasLink

Los eventos no aparecenLink

  1. Verifica que la clave API sea correcta (comienza con phc_)
  2. Revisa la consola del navegador en busca de errores
  3. Usa el panel de Eventos en Vivo de PostHog para ver eventos en tiempo real

Los scripts no aparecen en desarrolloLink

Los scripts de PostHog solo se inyectan en compilaciones de producción. Ejecuta boltdocs build && boltdocs preview para probar localmente.

Vistas de página duplicadasLink

Las vistas de página se rastrean automáticamente en la navegación. No llames a trackPageView manualmente a menos que sea necesario.

Errores de compilaciónLink

Asegúrate de que integrations.analytics.posthog.apiKey sea una cadena no vacía.

Last updated on October 18, 2026

Was this page helpful?