Tracciamento conversioni

Attribuisci ogni appuntamento confermato al clic pubblicitario che ha avviato il percorso.

Quale edizione ti serve

Il tracciamento delle conversioni è incluso nell'edizione Tracking. Con l'edizione Embed il widget funziona allo stesso modo, ma non viene catturata l'attribuzione né inviato alcun evento, e le schede Analytics, Webhooks e Advanced mostrano un invito all'upgrade. La tua edizione è indicata in Impostazioni → Square Booking → License.

Configurazione semplice o avanzata

Apri Impostazioni → Square Booking → Analytics e scegli come misurare le prenotazioni:

  • Semplice — Native analytics. Nessun Google Tag Manager: incolla l'ID di misurazione GA4, la conversione Google Ads e l'ID Meta Pixel, e il plugin invia gli eventi.
  • Avanzata — GTM / dataLayer, Server-side GTM o Advanced / custom. Il plugin invia ogni passo al dataLayer e, se configurati, al tuo contenitore server-side e al webhook; i tuoi tag decidono dove vanno i dati.

Configura ogni destinazione in un solo posto. Se GA4 o Meta sono configurati sia nel plugin sia in GTM, ogni prenotazione viene contata due volte; la scheda mostra un avviso quando lo rileva. Dopo un aggiornamento la modalità resta su GTM / dataLayer e le nuove destinazioni restano disattivate: un'installazione esistente continua a funzionare come prima.

Scheda Analytics: semplice (analytics native) o avanzato (GTM, GTM server-side, personalizzato).
Scheda Analytics: semplice (analytics native) o avanzato (GTM, GTM server-side, personalizzato).

Cosa cattura il plugin

Il widget invia un evento per ogni passo del funnel di prenotazione: view_booking, select_location, select_service, select_staff, select_datetime, begin_checkout, add_payment_info, purchase. Tornare indietro non ripete mai un evento, e purchase parte una sola volta per prenotazione Square. Gli eventi del funnel contengono servizio, prezzo, sede, membro del team e orario, mai nome, email o telefono del cliente.

Prezzi, servizi e membri del team sono letti da Square sul server: un valore modificato nel browser non cambia ciò che viene riportato. Ogni acquisto ha un solo event_id, condiviso da browser e server, così Google e Meta lo contano una volta.

Il primo e l'ultimo clic pubblicitario sono conservati in un cookie first-party (gclid, gbraid, wbraid, fbclid, msclkid, ttclid, utm_*, pagina di atterraggio e referrer) e associati alla prenotazione anche se il cliente ha visitato altre pagine prima.

Google Analytics 4

Inserisci l'ID di misurazione (Amministrazione → Stream di dati). Browser invia gli eventi del funnel con gtag; il plugin carica gtag solo se la pagina non lo ha già e non invia mai due volte le visualizzazioni di pagina. Server backup invia anche l'acquisto dal server con un secret API del Measurement Protocol: viene registrato anche se il browser blocca Google. GA4 conserva un acquisto per ID di prenotazione.

Google Analytics 4: eventi dal browser e backup dal server.
Google Analytics 4: eventi dal browser e backup dal server.

Google Ads

Inserisci l'ID conversione (AW-…) e l'etichetta di conversione della tua azione di prenotazione. L'ID prenotazione Square è inviato come ID transazione, quindi Google Ads conta ogni prenotazione una volta. Enhanced Conversions aggiunge email, telefono e nome del cliente per l'abbinamento, solo con il consenso ad_user_data. Il valore è il prezzo del servizio Square, un importo fisso o nessuno.

Conversione Google Ads con conversioni avanzate.
Conversione Google Ads con conversioni avanzate.

Meta Pixel e API Conversions

Inserisci l'ID del Pixel (set di dati). Browser Pixel invia ViewContent, InitiateCheckout, AddPaymentInfo e Schedule (o Purchase). Conversions API invia la stessa prenotazione dal server con lo stesso ID evento, e Meta deduplica i due. Il token di accesso è salvato cifrato e non compare mai nella pagina né nelle impostazioni. Usa un codice evento di test di Gestione eventi durante le verifiche, poi rimuovilo.

Meta Pixel e API Conversions, deduplicati con lo stesso ID evento.
Meta Pixel e API Conversions, deduplicati con lo stesso ID evento.

Google Tag Manager

In modalità GTM / dataLayer, crea attivatori di evento personalizzato sugli eventi del funnel e usali per i tuoi tag GA4, Google Ads o Meta. Una prenotazione confermata invia purchase con i dati ecommerce 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: [ … ] }
});

Segue sqb_booking_confirmed, con gli stessi campi delle versioni precedenti (incluso user_data per le conversioni avanzate): gli attivatori esistenti continuano a funzionare.

GTM server-side: indica l'URL del contenitore (senza /g/collect) per inviare anche la prenotazione da server a server, con il Booking event name. Questo percorso resiste agli ad blocker.

GTM e GTM server-side.
GTM e GTM server-side.

Webhook

Nella scheda Webhooks, l'URL riceve un POST JSON dopo ogni prenotazione confermata da Square: la prenotazione Square, il cliente e, dalla versione 1.4, i parametri standard, l'attribuzione (primo e ultimo clic) e lo stato del consenso. I campi esistenti mantengono il loro nome. Un secret di firma aggiunge l'intestazione X-Sqb-Signature (HMAC-SHA256 del corpo) che il tuo endpoint può verificare. Un endpoint temporaneamente non disponibile viene ritentato automaticamente. Collegalo a Make, Zapier, n8n o al tuo CRM.

Scheda Webhooks: URL e secret di firma.
Scheda Webhooks: URL e secret di firma.

Consenso

In fondo alla scheda Analytics scegli: nessuna gestione del consenso (predefinito, come nelle versioni precedenti), Google Consent Mode v2 o un banner dei cookie: Complianz, CookieYes, Usercentrics o il tuo tramite window.SqbConsentState. Senza consenso, le destinazioni di analisi e pubblicità non ricevono nulla e non viene salvato alcun cookie di attribuzione. Le prenotazioni funzionano sempre.

Consenso: nessuno, Google Consent Mode v2 o banner dei cookie.
Consenso: nessuno, Google Consent Mode v2 o banner dei cookie.

Scheda Advanced

Disattiva gli eventi del funnel per tenere solo purchase e sqb_booking_confirmed, oppure aggiungi un prefisso (ad esempio sqb_) se il tuo contenitore GTM usa già il nome purchase per un altro strumento. La sezione Attribution imposta la durata del cookie e carica un piccolo script che mantiene l'attribuzione sulle pagine in cache.

Scheda Advanced: eventi del funnel e prefisso.
Scheda Advanced: eventi del funnel e prefisso.

Test

Impostazioni → Square Booking → Diagnostics mostra lo stato di ogni destinazione, l'ultimo evento e le ultime 50 richieste del server con il risultato; dati personali e token sono nascosti. I pulsanti di test inviano una prenotazione fittizia al webhook, al GTM server-side, a GA4 (endpoint di validazione) o a Meta (serve un codice evento di test).

Diagnostics: stato di ogni destinazione, pulsanti di test e ultime richieste del server.
Diagnostics: stato di ogni destinazione, pulsanti di test e ultime richieste del server.
  • Effettua una prenotazione con la modalità sandbox attiva.
  • Segui gli eventi del funnel nell'anteprima GTM o in GA4 DebugView.
  • In Gestione eventi Meta → Eventi di test, gli eventi browser e server risultano deduplicati.
  • Controlla il contenuto del webhook nella cronologia della tua automazione.

Vedi Risoluzione dei problemi se gli eventi non arrivano.