On this page
Start with a confirmed booking record
If the booking system shows appointments but advertising reports zero, first establish what was actually booked and whether those appointments can be connected to advertising. Zero reported conversions can mean missing measurement, a reporting configuration problem, no attributable ad interaction or a delay. It does not by itself show that the campaign produced nothing.
Use the booking system as the operational record of confirmed appointments. Write down the event you want to measure and where confirmation happens. A click on a booking button, a calendar view, a submitted request and a confirmed appointment are different stages.
Our measurement stack guide explains how to keep those definitions consistent across reports.
Define counts and values before debugging tags
Choose a name that describes the event accurately. A fixed value of 1 can be useful as a count-like signal, but it is not one dollar of realised revenue. Likewise, an estimated appointment value is not the same as money collected.
Record how you will handle deposits, rescheduling, cancellations, refunds, no-shows and repeat appointments. Keep booked value, estimated value and paid value separately labelled. If one appointment produces several legitimate events, make sure reporting does not add them into multiple customers.
Define the unique booking identifier and the timestamp used by each system. These details make it possible to reconcile records rather than merely checking whether a tag fired somewhere in the journey.
Trace every step and domain
Map the path from ad to website, booking button, external scheduler, confirmation and payment if applicable. Record which domain and system owns each step. Check the actual mobile journey as well as desktop, including embedded calendars and redirects.
For GA4, review the supported cross-domain measurement setup where both domains can participate. Confirm the relevant tag configuration and that redirects do not strip the linker parameter. Configuration cannot create access to a third-party confirmation page that the booking provider does not expose.
If the provider limits browser tracking, investigate its supported native integration, webhook or server-side export. Use a verified completion signal rather than firing a purchase when someone merely opens the calendar.
Run a controlled completion test
Arrange a test booking through a permitted test path or an agreed internal appointment. Record the booking ID, time, source path and expected event. Keep test value and activity out of live financial reporting and optimisation wherever possible.
Verify the booking record first, then inspect the analytics event and the advertising integration's receipt or diagnostics. Confirm event name, identifier, value, currency and duplicate handling. Reload the confirmation page or retry a delivery in a safe test context to check that it does not create extra outcomes.
A direct test visit can validate event delivery without receiving ad attribution. Do not click your own live ad just to manufacture credited conversions. Separate “the event arrived” from “this real customer journey met the platform's attribution conditions”.
Check the advertising report configuration
Confirm you are reading the intended account, date range and conversion action. Review the action's source, status, primary or secondary role and campaign goal configuration. Check whether the report column includes that action. Allow for processing and the actual time between the advertising interaction and the booking.
Where both native and imported versions of the same booking exist, decide which one should drive the relevant campaign goal. Keep diagnostic actions separate so the same appointment does not become two primary business outcomes.
For phone-led journeys, use the appropriate call workflow instead of treating a website booking tag as the entire sales system. Our paid-customer call guide covers matching suitable calls to downstream outcomes.
Maintain a booking reconciliation process
- Booking owner exports confirmed records for the agreed period.
- Analytics owner compares event counts and available identifiers.
- Media owner checks the intended action and attribution view.
- The team classifies differences as definition, collection, configuration, attribution or unresolved.
- One owner fixes each actionable issue and repeats the completion test.
Expect attributed bookings to differ from all bookings. Organic, direct and other sources also contribute appointments, while consent and identity limitations can affect observable journeys. Keep a visible unresolved state rather than replacing missing data with zero.
Use the attribution gap diagnostic to organise discrepancies and preserve the evidence behind each conclusion.
When is the setup ready to use?
Is a green tag diagnostic sufficient?
No. Confirm the actual completed event and its meaning, then reconcile it with booking records.
Can we calculate ROAS from a fixed booking value?
You can calculate a ratio from it, but you must label the value as estimated or fixed. Do not present it as actual revenue ROAS.
When should the event guide bidding?
After the relevant outcome, duplicate handling and reporting configuration are validated, with enough useful signal for the intended campaign. Use the checklist below as a release and maintenance record.
