Conversion-Tracking

Ordnen Sie jeden bestätigten Termin dem Klick zu, der die Customer Journey gestartet hat.

Welche Edition Sie brauchen

Conversion-Tracking gehört zur Tracking-Edition. Mit der Embed-Edition funktioniert das Widget identisch, es wird aber keine Attribution erfasst und kein Event gesendet; die Tabs Analytics, Webhooks und Advanced zeigen einen Upgrade-Hinweis. Ihre Edition steht unter Einstellungen → Square Booking → License.

Einfach oder fortgeschritten

Öffnen Sie Einstellungen → Square Booking → Analytics und wählen Sie, wie Buchungen gemessen werden:

  • Einfach — Native analytics. Kein Google Tag Manager nötig: GA4-Mess-ID, Google-Ads-Conversion und Meta-Pixel-ID eintragen, das Plugin sendet die Events selbst.
  • Fortgeschritten — GTM / dataLayer, Server-side GTM oder Advanced / custom. Das Plugin schreibt jeden Schritt in den dataLayer und, falls eingerichtet, an Ihren Server-Side-Container und Webhook; Ihre Tags entscheiden, wohin die Daten gehen.

Richten Sie jedes Ziel nur an einer Stelle ein. Ist GA4 oder Meta sowohl im Plugin als auch in GTM konfiguriert, wird jede Buchung doppelt gezählt; der Tab warnt, wenn er das erkennt. Nach einem Update bleibt der Modus auf GTM / dataLayer und die neuen Ziele bleiben aus – bestehende Setups laufen unverändert weiter.

Tab Analytics: einfach (native Analytics) oder fortgeschritten (GTM, Server-Side GTM, individuell).
Tab Analytics: einfach (native Analytics) oder fortgeschritten (GTM, Server-Side GTM, individuell).

Was das Plugin misst

Das Widget sendet ein Event pro Schritt des Buchungs-Funnels: view_booking, select_location, select_service, select_staff, select_datetime, begin_checkout, add_payment_info, purchase. Vor- und Zurückgehen wiederholt kein Event, und purchase kommt genau einmal pro Square-Buchung. Funnel-Events enthalten Service, Preis, Standort, Teammitglied und Termin, nie Name, E-Mail oder Telefon des Kunden.

Preise, Services und Teammitglieder liest der Server bei Square: Ein im Browser geänderter Wert ändert nichts an den gemeldeten Daten. Jeder Kauf hat eine event_id, die Browser und Server teilen, damit Google und Meta ihn nur einmal zählen.

Der erste und der letzte Werbeklick werden in einem First-Party-Cookie gespeichert (gclid, gbraid, wbraid, fbclid, msclkid, ttclid, utm_*, Einstiegsseite und Referrer) und der Buchung zugeordnet, auch wenn der Kunde vorher andere Seiten besucht hat.

Google Analytics 4

Tragen Sie die Mess-ID ein (Verwaltung → Datenstreams). Browser sendet die Funnel-Events per gtag; das Plugin lädt gtag nur, wenn es noch nicht auf der Seite ist, und sendet Seitenaufrufe nie doppelt. Server backup sendet den Kauf zusätzlich vom Server mit einem Measurement-Protocol-API-Secret – auch wenn der Browser Google blockiert. GA4 behält einen Kauf pro Buchungs-ID.

Google Analytics 4: Browser-Events und Server-Backup.
Google Analytics 4: Browser-Events und Server-Backup.

Google Ads

Tragen Sie Conversion-ID (AW-…) und Conversion-Label Ihrer Buchungs-Conversion ein. Die Square-Buchungs-ID wird als Transaktions-ID gesendet, Google Ads zählt jede Buchung also einmal. Enhanced Conversions ergänzt E-Mail, Telefon und Name zum Abgleich, nur mit Einwilligung ad_user_data. Als Wert dient der Square-Servicepreis, ein fester Betrag oder keiner.

Google-Ads-Conversion mit erweiterten Conversions.
Google-Ads-Conversion mit erweiterten Conversions.

Meta Pixel und Conversions API

Tragen Sie die Pixel- (Dataset-) ID ein. Browser Pixel sendet ViewContent, InitiateCheckout, AddPaymentInfo und Schedule (oder Purchase). Conversions API sendet dieselbe Buchung vom Server mit derselben Event-ID, Meta dedupliziert beide. Der Access Token wird verschlüsselt gespeichert und nie in der Seite oder den Einstellungen angezeigt. Nutzen Sie beim Testen einen Test-Event-Code aus dem Events Manager und entfernen Sie ihn danach.

Meta Pixel und Conversions API, über eine Event-ID dedupliziert.
Meta Pixel und Conversions API, über eine Event-ID dedupliziert.

Google Tag Manager

Im Modus GTM / dataLayer legen Sie Custom-Event-Trigger auf die Funnel-Events an und feuern damit Ihre GA4-, Google-Ads- oder Meta-Tags. Eine bestätigte Buchung schreibt purchase mit GA4-E-Commerce-Daten:

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: [ … ] }
});

Danach folgt sqb_booking_confirmed mit denselben Feldern wie in früheren Versionen (inklusive user_data für Enhanced Conversions) – bestehende Trigger funktionieren weiter.

Server-Side GTM: Container-URL (ohne /g/collect) eintragen, um die Buchung zusätzlich Server-zu-Server unter dem Booking event name zu senden. Dieser Weg übersteht Adblocker.

GTM und Server-Side GTM.
GTM und Server-Side GTM.

Webhook

Im Tab Webhooks erhält die URL nach jeder von Square bestätigten Buchung einen JSON-POST: die Square-Buchung, den Kunden und seit Version 1.4 die Standardparameter, die Attribution (erster und letzter Klick) und den Einwilligungsstatus. Bestehende Felder behalten ihren Namen. Ein Signing secret ergänzt den Header X-Sqb-Signature (HMAC-SHA256 des Bodys), den Ihr Endpunkt prüfen kann. Ein kurzzeitig nicht erreichbarer Endpunkt wird automatisch erneut versucht. Geeignet für Make, Zapier, n8n oder Ihr CRM.

Tab Webhooks: URL und Signatur-Secret.
Tab Webhooks: URL und Signatur-Secret.

Einwilligung

Unten im Tab Analytics wählen Sie: keine Einwilligungsverwaltung (Standard, wie frühere Versionen), Google Consent Mode v2 oder ein Cookie-Banner: Complianz, CookieYes, Usercentrics oder Ihr eigenes über window.SqbConsentState. Ohne Einwilligung erhalten Analyse- und Werbeziele nichts und es wird kein Attributions-Cookie gesetzt. Buchungen funktionieren immer.

Einwilligung: keine, Google Consent Mode v2 oder Cookie-Banner.
Einwilligung: keine, Google Consent Mode v2 oder Cookie-Banner.

Tab Advanced

Schalten Sie die Funnel-Events aus, um nur purchase und sqb_booking_confirmed zu behalten, oder setzen Sie ein Präfix (z. B. sqb_), wenn Ihr GTM-Container den Namen purchase schon für ein anderes Tool nutzt. Der Bereich Attribution legt die Cookie-Dauer fest und lädt ein kleines Skript, das die Attribution auch auf gecachten Seiten erhält.

Tab Advanced: Funnel-Events und Event-Präfix.
Tab Advanced: Funnel-Events und Event-Präfix.

Tests

Einstellungen → Square Booking → Diagnostics zeigt den Status jedes Ziels, das letzte Event und die letzten 50 Server-Anfragen mit Ergebnis; persönliche Daten und Tokens sind ausgeblendet. Die Test-Buttons senden eine fiktive Buchung an Webhook, Server-Side GTM, GA4 (Validierungs-Endpunkt) oder Meta (Test-Event-Code nötig).

Diagnostics: Status jedes Ziels, Test-Buttons und die letzten Server-Anfragen.
Diagnostics: Status jedes Ziels, Test-Buttons und die letzten Server-Anfragen.
  • Eine Buchung im Sandbox-Modus durchführen.
  • Die Funnel-Events in der GTM-Vorschau oder in GA4 DebugView prüfen.
  • Im Meta Events Manager → Test-Events erscheinen Browser- und Server-Events dedupliziert.
  • Den Webhook-Inhalt im Verlauf Ihrer Automatisierung prüfen.

Siehe Fehlerbehebung, wenn keine Events ankommen.