Offline conversion reporting for Google Ads
The contract that sends Google Ads the conversion that happened off-site, the confirmed booking, so every campaign is measured by the revenue it produced, not the clicks.
What shipped
This release introduces the ConversionReporter: the contract that carries a real conversion, a confirmed booking, back to Google Ads as an offline conversion. Alongside it ships the direct-confirm booking adapter, for operators with no scheduling system who manage their calendar by hand.
Why we built it
Google Ads optimizes for the signal you feed back to it. If the only signal is "someone submitted a form," the algorithm learns to buy forms, not customers. Most service bookings confirm after the website: the front desk calls back, the customer shows up, the appointment happens. That moment, the one that actually earns money, is invisible to the campaign.
The ConversionReporter closes that loop. When a booking confirms, the conversion is uploaded to Google Ads stamped with the gclid that brought the person in, plus the value and currency. The campaign is now measured by the revenue it produced, and the algorithm starts optimizing for customers who confirm, not cheap clicks.
How it works
The ConversionReporter takes a strict six-field contract, gclid, conversion action, timestamp, value, currency, and transaction id. That's all. There is no optional field where a name or phone number could slip in.
Conversion action names pass through an allow-list of generic labels (booking_completed, appointment_confirmed, and so on). Names that reveal the service performed are rejected at config time, because an action name plus a gclid can point back to a person.
Privacy by construction
The privacy boundary isn't a rule written in a document, it lives in the type. The upload contract simply has nowhere to hold personal data, so personal data can't be uploaded. What reaches Google Ads is a click identifier, a value, and a timestamp. Who the person is never leaves your system.
direct-confirm: bookings with no scheduling system
The same release adds the direct-confirm adapter, for form-only and lead-capture flows, consultation requests, contact funnels, where the operator confirms and manages their own calendar. It's the shortest path to start measuring conversions even without an integration to a booking system.