> ## Documentation Index
> Fetch the complete documentation index at: https://docs.scanova.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Referencia de configuración del SDK

> Todas las opciones de init del SDK de navegador de Scanova: interruptores de registro automático, modo de depuración, endpoint propio y valores por defecto.

El SDK se configura con una sola llamada `scanova('init', siteId, options)`. Esta página documenta todas las opciones disponibles.

## Sintaxis

```javascript theme={null}
scanova('init', 'YOUR_SITE_ID', {
  // options here
});
```

## Referencia de opciones

| Opción         | Tipo    | Por defecto               | Descripción                                                                                        |
| -------------- | ------- | ------------------------- | -------------------------------------------------------------------------------------------------- |
| `autoPageview` | boolean | `false`                   | Envía automáticamente un evento `pageview` en cada carga de página.                                |
| `autoClicks`   | boolean | `false`                   | Registra automáticamente los clics en enlaces, botones y elementos `[role="button"]`.              |
| `autoForms`    | boolean | `false`                   | Registra automáticamente los envíos de formulario.                                                 |
| `autoScroll`   | boolean | `false`                   | Registra la profundidad de desplazamiento en los hitos del 25 %, 50 %, 75 % y 90 %.                |
| `debug`        | boolean | `false`                   | Muestra la actividad del SDK en la consola del navegador. Útil durante el desarrollo.              |
| `endpoint`     | string  | `https://t.scanova.io/ct` | Sustituye el endpoint de recogida de eventos. Cámbialo solo si el soporte de Scanova te lo indica. |

## Detalle de cada opción

### `autoPageview`

Dispara un evento `pageview` cada vez que el SDK se inicializa en una página, lo que ocurre automáticamente en las cargas completas. Para aplicaciones de una sola página, la [guía de SPA](/es/conversion-tracking/browser/spa-frameworks) explica cómo disparar vistas de página al cambiar de ruta.

```javascript theme={null}
scanova('init', 'YOUR_SITE_ID', { autoPageview: true });
```

Cada evento `pageview` incluye `page_url`, `referrer`, `scan_session_id` y el contexto de dispositivo y visitante. Consulta [Eventos automáticos](/es/conversion-tracking/browser/auto-tracking#page-view) para ver el payload completo.

### `autoClicks`

Escucha los clics en:

* Etiquetas `<a>`
* Etiquetas `<button>`
* Elementos con `role="button"`

El evento de clic capturado incluye `element_type`, `element_text` y, en los enlaces, opcionalmente `destination_url`.

Consejo: añade `data-scnv-name="My Button"` a cualquier elemento para sustituir la etiqueta capturada:

```html theme={null}
<button data-scnv-name="Pricing CTA">Start Trial</button>
```

### `autoForms`

Escucha el evento `submit` de los elementos `<form>`. Captura `form_name` y `form_action`. Los valores de los campos **nunca se capturan**: solo el identificador del formulario.

Consejo: añade `data-scnv-name="Contact Form"` a un formulario para darle un nombre legible en los informes.

### `autoScroll`

Dispara eventos de profundidad cuando la persona supera el 25 %, 50 %, 75 % y 90 % de la altura de la página. Cada hito se dispara una sola vez por carga e incluye `scroll_depth` en los metadatos.

### `debug`

Activa el registro en consola. Úsalo durante el desarrollo para confirmar que el SDK se inicializa, captura eventos y los envía correctamente.

```javascript theme={null}
scanova('init', 'YOUR_SITE_ID', { debug: true });
// Console output:
// [QCG SDK] Initialized with Site ID: YOUR_SITE_ID
// [QCG SDK] Loaded version 1.x.x
```

Desactiva `debug` en producción; la opción es `false` por defecto.

## Configuración recomendada para producción

```javascript theme={null}
scanova('init', 'YOUR_SITE_ID', {
  autoPageview: true,
  autoClicks: true,
  autoForms: true,
  autoScroll: true,
  debug: false
});
```

## Configuración mínima (solo vistas de página)

```javascript theme={null}
scanova('init', 'YOUR_SITE_ID', {
  autoPageview: true
});
```

## Configuración solo manual (sin registro automático)

Úsala si quieres control total sobre lo que se registra: cada evento se enviará explícitamente con `scanova('track', ...)`.

```javascript theme={null}
scanova('init', 'YOUR_SITE_ID', {
  autoPageview: false,
  autoClicks: false,
  autoForms: false,
  autoScroll: false
});
```

## Importante: un solo init por carga de página

Llama a `scanova('init', ...)` **una vez** por ciclo de vida de la página. Llamarlo varias veces registra escuchadores duplicados y produce eventos por duplicado.

En aplicaciones de una sola página, llama a `init` una vez al arrancar la aplicación, no en cada cambio de ruta. Usa la [guía de SPA](/es/conversion-tracking/browser/spa-frameworks) para el seguimiento en los cambios de ruta.

## Desactivar el seguimiento para ciertos usuarios

El SDK no tiene un método `disable()` incorporado. Para no registrar a ciertos usuarios (personal con sesión iniciada, quienes se han dado de baja, bots), omite la carga del snippet de forma condicional:

```html theme={null}
<script>
  // Example: skip tracking for your own team
  const isInternalUser = document.cookie.includes('internal_user=true');

  if (!isInternalUser) {
    (function(w,d,s,o,f,js,fjs){
      w['ScanovaTrackingObject']=o;w[o]=w[o]||function(){(w[o].q=w[o].q||[]).push(arguments)};
      js=d.createElement(s),fjs=d.getElementsByTagName(s)[0];
      js.id=o;js.src=f;js.async=1;fjs.parentNode.insertBefore(js,fjs);
    })(window,document,'script','scanova','https://cdn.scanova.io/ct/js/qcg.min.js');
    scanova('init', 'YOUR_SITE_ID', { autoPageview: true });
  }
</script>
```

El mismo patrón sirve para el consentimiento del RGPD: carga el SDK solo después de que la persona dé su consentimiento. Consulta [Privacidad y RGPD](/es/conversion-tracking/event-model#privacy-and-gdpr) para más detalles.
