Seguimiento conversiones

Atribuya cada cita confirmada al clic de anuncio que inició el recorrido.

Qué edición necesitas

El seguimiento de conversiones se incluye en la edición Tracking. Con la edición Embed el widget funciona igual, pero no se captura atribución ni se envía ningún evento, y las pestañas Analytics, Webhooks y Advanced muestran un aviso para mejorar. Su edición aparece en Ajustes → Square Booking → License.

Configuración simple o avanzada

Abra Ajustes → Square Booking → Analytics y elija cómo medir las reservas:

  • Simple — Native analytics. Sin Google Tag Manager: pegue su ID de medición de GA4, su conversión de Google Ads y su ID de Meta Pixel, y el plugin envía los eventos.
  • Avanzada — GTM / dataLayer, Server-side GTM o Advanced / custom. El plugin envía cada paso al dataLayer y, si están configurados, a su contenedor server-side y a su webhook; sus etiquetas deciden adónde van los datos.

Configure cada destino en un solo lugar. Si GA4 o Meta están configurados en el plugin y en GTM, cada reserva se cuenta dos veces; la pestaña muestra un aviso cuando lo detecta. Tras una actualización, el modo sigue en GTM / dataLayer y los nuevos destinos siguen desactivados: una instalación existente funciona igual que antes.

Pestaña Analytics: simple (analítica nativa) o avanzado (GTM, GTM server-side, personalizado).
Pestaña Analytics: simple (analítica nativa) o avanzado (GTM, GTM server-side, personalizado).

Qué captura el plugin

El widget envía un evento por paso del embudo de reserva: view_booking, select_location, select_service, select_staff, select_datetime, begin_checkout, add_payment_info, purchase. Volver atrás nunca repite un evento, y purchase se envía una sola vez por reserva de Square. Los eventos del embudo incluyen servicio, precio, ubicación, miembro del equipo y horario, nunca el nombre, email o teléfono del cliente.

Precios, servicios y miembros del equipo se leen de Square en el servidor: un valor modificado en el navegador no cambia lo que se informa. Cada compra tiene un único event_id, compartido por navegador y servidor, para que Google y Meta la cuenten una vez.

El primer y el último clic publicitario se guardan en una cookie first-party (gclid, gbraid, wbraid, fbclid, msclkid, ttclid, utm_*, página de entrada y referente) y se asocian a la reserva aunque el cliente haya visitado otras páginas antes.

Google Analytics 4

Introduzca el ID de medición (Administrar → Flujos de datos). Browser envía los eventos del embudo con gtag; el plugin solo carga gtag si la página no lo tiene ya y nunca envía dos veces las páginas vistas. Server backup envía también la compra desde el servidor con un secreto de API de Measurement Protocol: se registra aunque el navegador bloquee Google. GA4 conserva una compra por ID de reserva.

Google Analytics 4: eventos del navegador y copia desde el servidor.
Google Analytics 4: eventos del navegador y copia desde el servidor.

Google Ads

Introduzca el ID de conversión (AW-…) y la etiqueta de conversión de su acción de reserva. El ID de reserva de Square se envía como ID de transacción, así Google Ads cuenta cada reserva una vez. Enhanced Conversions añade email, teléfono y nombre del cliente para la coincidencia, solo con consentimiento ad_user_data. El valor es el precio del servicio en Square, un importe fijo o ninguno.

Conversión de Google Ads con conversiones mejoradas.
Conversión de Google Ads con conversiones mejoradas.

Meta Pixel y API de Conversiones

Introduzca el ID del Pixel (conjunto de datos). Browser Pixel envía ViewContent, InitiateCheckout, AddPaymentInfo y Schedule (o Purchase). Conversions API envía la misma reserva desde el servidor con el mismo ID de evento, y Meta deduplica ambos. El token de acceso se guarda cifrado y nunca aparece en la página ni en los ajustes. Use un código de evento de prueba del Administrador de eventos mientras verifica y luego quítelo.

Meta Pixel y API de Conversiones, deduplicados con un mismo ID de evento.
Meta Pixel y API de Conversiones, deduplicados con un mismo ID de evento.

Google Tag Manager

En modo GTM / dataLayer, cree activadores de evento personalizado para los eventos del embudo y dispare con ellos sus etiquetas de GA4, Google Ads o Meta. Una reserva confirmada envía purchase con datos de ecommerce de GA4:

dataLayer.push({
  event: "purchase",
  event_id: "28eaec0e-c209-4462-bb95-07f81625dac7",
  booking_id: "…",
  service_name: "Haircut & Style",
  value: 55,
  currency: "USD",
  location_name: "…",
  staff_name: "…",
  appointment_start: "2026-09-24T09:00:00-04:00",
  booking_source: "inline",
  ecommerce: { transaction_id: "…", value: 55, currency: "USD", items: [ … ] }
});

Le sigue sqb_booking_confirmed, con los mismos campos que en versiones anteriores (incluido user_data para las conversiones mejoradas): los activadores existentes siguen funcionando.

GTM server-side: indique la URL del contenedor (sin /g/collect) para enviar también la reserva de servidor a servidor, con el Booking event name. Esta vía resiste a los bloqueadores de anuncios.

GTM y GTM server-side.
GTM y GTM server-side.

Webhook

En la pestaña Webhooks, la URL recibe un POST JSON tras cada reserva confirmada por Square: la reserva de Square, el cliente y, desde la versión 1.4, los parámetros estándar, la atribución (primer y último clic) y el estado del consentimiento. Los campos existentes conservan su nombre. Un secreto de firma añade la cabecera X-Sqb-Signature (HMAC-SHA256 del cuerpo) que su servidor puede comprobar. Si el destino no responde temporalmente, se reintenta automáticamente. Conéctelo a Make, Zapier, n8n o su CRM.

Pestaña Webhooks: URL y secreto de firma.
Pestaña Webhooks: URL y secreto de firma.

Consentimiento

Al final de la pestaña Analytics elija: sin gestión del consentimiento (por defecto, como en versiones anteriores), Google Consent Mode v2 o un banner de cookies: Complianz, CookieYes, Usercentrics o el suyo mediante window.SqbConsentState. Sin consentimiento, los destinos de analítica y publicidad no reciben nada y no se guarda cookie de atribución. Las reservas siempre funcionan.

Consentimiento: ninguno, Google Consent Mode v2 o banner de cookies.
Consentimiento: ninguno, Google Consent Mode v2 o banner de cookies.

Pestaña Advanced

Desactive los eventos del embudo para conservar solo purchase y sqb_booking_confirmed, o añada un prefijo (por ejemplo sqb_) si su contenedor GTM ya usa el nombre purchase para otra herramienta. La sección Attribution fija la duración de la cookie y carga un pequeño script que mantiene la atribución en páginas en caché.

Pestaña Advanced: eventos del embudo y prefijo.
Pestaña Advanced: eventos del embudo y prefijo.

Pruebas

Ajustes → Square Booking → Diagnostics muestra el estado de cada destino, el último evento y las 50 últimas peticiones del servidor con su resultado; los datos personales y los tokens se ocultan. Los botones de prueba envían una reserva ficticia a su webhook, al GTM server-side, a GA4 (endpoint de validación) o a Meta (requiere un código de evento de prueba).

Diagnostics: estado de cada destino, botones de prueba y últimas peticiones del servidor.
Diagnostics: estado de cada destino, botones de prueba y últimas peticiones del servidor.
  • Haga una reserva con el modo sandbox activado.
  • Siga los eventos del embudo en la vista previa de GTM o en GA4 DebugView.
  • En el Administrador de eventos de Meta → Probar eventos, los eventos del navegador y del servidor aparecen deduplicados.
  • Revise el contenido del webhook en el historial de su automatización.

Vea Solución de problemas si los eventos no llegan.