Skip to content
Mather Media Solutions

Guide · Aesthetic and dental practices

How to send booked consultations back to Google Ads and Meta

Updated 26 September 20269 min read

The short answer

Capture the ad click ID on the consultation form, store it on the lead record, and send an offline conversion to Google Ads and Meta when the consultation is booked or attended. Send the click ID, the time and a value. Procedure names and form answers never go to an ad platform.

What should count as a booked consultation?

Before any tag changes, decide which moment the ads should learn from. A form fill is the easiest to track and the least useful to bid on, because it rewards the platform for finding people who ask for a price. The consultation is where a practice starts to know whether a lead was real.

Most practices pick one of three: the consultation booked, the consultation attended, or the treatment plan accepted. Booked arrives fastest and gives the platforms the most signal. Attended filters out no-shows. Accepted is closest to revenue, but it can arrive weeks later and in smaller numbers.

  • Pick one as the primary conversion the campaigns bid on. Track the others as secondary, for reporting only.
  • Write the definition down: which system records it, which field or status marks it, and who at the practice sets that status.
  • Make sure that record carries a date and a way back to the original lead, usually the lead or contact ID.

Step 1: How do you capture the click ID before the lead leaves the website?

An offline conversion is matched to an ad click by an identifier the platform put on the landing page URL. Google Ads adds gclid when auto-tagging is on, and on some iOS traffic it adds gbraid or wbraid instead. Meta adds fbclid to clicks from its ads. If that value is not saved with the lead, the booked consultation has nothing to match to later.

  1. Confirm auto-tagging is on in Google Ads

    Check the account setting, then load the landing page with a test gclid value on the URL and confirm the parameter survives any redirect or consent banner.

  2. Store the identifiers when the visitor lands

    Most visitors land on a procedure page and fill in the form on another. Save gclid, gbraid, wbraid and fbclid in first-party storage on arrival, so the form can still read them three pages later.

  3. Add hidden fields to every consultation form

    One field per identifier, filled from that storage on submit. Include embedded booking widgets and chat tools, which often run in a frame and do not see the page URL at all.

  4. Map the fields into the system that records the consult

    The values must land on the same record the front desk later marks as booked. A click ID sitting in a form tool nobody exports is not captured.

  5. Test with a real submission

    Submit a test lead from an ad-tagged URL and open the record in the practice system. The identifier should be there, unaltered.

Keep the email and phone on the same record, for the practice’s own follow up and reporting. Whether hashed contact details may also be sent to an ad platform to help it match a conversion is a separate question: both Google and Meta restrict health related data, so check each platform’s current policy for your practice before sending anything beyond the click ID (see step 3).

Step 2: How do you keep health details out of the tags?

The same pages that produce consultations are the pages most likely to leak something they should not. A browser pixel sees the page URL, the page title and, depending on how it is configured, the values typed into a form.

  • Event names say what happened, not what was treated

    Use a neutral name such as consultation_booked. Never put a procedure, condition or treatment in an event name, a custom conversion name or a parameter.

  • URLs and titles carry nothing identifying

    A thank-you page at /thank-you-rhinoplasty tells every pixel on it what the visitor asked about. So does a query string that echoes a form answer.

  • Form answers stay out of browser tags

    Automatic form capture and enhanced measurement features can read field values. Read the payload each tag actually sends before trusting a setting.

  • Only approved fields travel, through a path the practice controls

    A gclid offline conversion needs only the click ID, the conversion name, a time and a value. Nothing else has to leave the practice.

Both platforms restrict health data on their side as well. Google does not allow personalized advertising based on health conditions or treatments, and Meta filters data it categorizes as potentially sensitive health information and can block custom conversions whose names suggest a health condition. Those filters protect the platforms; they also quietly weaken a signal the practice depends on. Keeping the payload neutral is how the conversion stays usable.

Step 4: How do you send it to Meta?

Meta receives offline outcomes through the Conversions API: a server-to-server event sent to the same dataset the pixel uses.

  1. Name the event

    Meta’s standard Schedule event describes a booked appointment. A neutral custom event also works. Either way, no treatment in the name.

  2. Set the time and send promptly

    event_time is when the consultation was booked. Meta rejects a request containing an event more than seven days old, so this has to be a daily job, not a monthly export.

  3. Attach the matching fields

    The fbc value built from the stored fbclid. Meta can also match on hashed email and phone, but it restricts how health related businesses may share customer data and use events, so check Meta’s current health and wellness policy for your practice before sending contact details, and document the decision with counsel.

  4. Set action_source accurately

    Meta asks you to state where the conversion happened. Use the value its documentation gives for your case; for a lead that came from a Meta lead form, its CRM integration guide uses the lead ID and has its own required fields.

  5. Check Event Match Quality

    Events Manager scores how well server events match to Meta accounts. A low score usually means missing click IDs or contact fields at capture.

Meta Conversions API vs the pixel

Deduplication with event_id, what fbc and fbp are, and when a server path earns its cost.

How do you know it is working?

Run one lead end to end: click a tagged URL, submit the form, mark the consultation booked in the practice system, and watch the conversion arrive in both platforms. Then keep a weekly count of three numbers side by side.

  • Consultations booked in the practice system, from paid traffic.
  • Consultations sent to each platform, from the upload log.
  • Conversions each platform accepted and matched.

The three will never match exactly. Some leads arrive by phone, some clicks lose their ID, and each platform attributes by its own rules. What matters is that the gap is stable and explained. A gap that grows overnight is a broken form, a changed booking widget or a lapsed connector.

When should the campaigns start bidding on it?

Not on the day the first import succeeds. Let the booked consultation run as a secondary conversion until the counts are steady and the diagnostics are clean. Then make it primary, move the form fill to secondary, and expect the campaigns to relearn. Each platform publishes its own guidance on the conversion volume bidding needs; check it for your campaign type before switching.

This is the point of the work. Once the booked consultation is the conversion that steers the bid, budget can be judged on cost per booked consult instead of cost per lead.

Common mistakes

  1. 01

    Importing the form fill again and calling it offline

    An import of every lead teaches the platform nothing it did not already know. The import is only worth building if it carries a later, better outcome.

  2. 02

    Capturing the click ID on the landing page only

    If the form lives on another page, or in a booking widget, the identifier never reaches it.

  3. 03

    Naming conversions after procedures

    A conversion called Breast augmentation consult is a health signal in the event name, and it can be restricted on the platform side anyway.

  4. 04

    Uploading once a month

    Meta’s seven day limit on event time and Google’s 90 day click limit both punish batch exports. Automate a daily send.

  5. 05

    Switching bidding before the counts are trusted

    An import with a silent capture gap trains the campaign on a biased slice of patients.

Straight answers

What we will not promise

  • A number of consultations, a show rate or a cost per consult before the campaigns have run.
  • That a setup is HIPAA compliant. That determination belongs to the practice and its counsel; we build the record they need to make it.
  • That every platform will report the same total. Each attributes by its own rules; the promise is that what the practice sends is defined, correct and tested.

Questions

  • Do I need a developer to send offline conversions?

    Not always. Many CRMs and scheduling tools have connectors, and Google Ads accepts scheduled file uploads. You do need someone to confirm the click ID is captured on every form, that the payload carries no health details, and that the upload runs daily.

  • Should I bid on booked or attended consultations?

    Booked gives the platforms more signal sooner. Attended filters out no-shows. Many practices start with booked as primary and track attended as secondary, then switch once attended volume is steady.

  • What if the lead calls instead of filling in the form?

    Call tracking can pass the click ID or a call identifier onto the lead record, and Google Ads has its own call conversion options. The principle is the same: the identifier has to reach the record the front desk marks as booked.

  • Is sending a booked consultation to Meta a HIPAA problem?

    That is the practice’s and its counsel’s determination, not ours. The safer design sends only a neutral event name, a time, a value and a click identifier, and documents that payload field by field for counsel to review.

Start with the diagnostic

Rather have someone check yours?

Map what is breaking, the systems involved, the outcome you need, and whether a pilot is ready. You will see a practical route and first artifact before deciding whether to send the context.

No charge to take the diagnostic · A specific reply within two business days