Patients request appointments in RevenueWell. Google Ads never hears about it.
RevenueWell's appointment request form and widget run inside an iframe, so the Google Ads and GA4 form tracking on your dental site sees nothing when a patient hits submit. The same form also catches requests from existing patients and from the Request an Appointment links in RevenueWell's emails. We catch the submit through the message RevenueWell documents for this, tie it to the ad click, and send Google and Meta only the new patients your PMS shows were seen.
Free30 minutesNo obligation
RevenueWell · what breaks
What goes wrong with RevenueWell and your ads
- 01
Google Ads shows no appointment requests, or counts page views as bookings
RevenueWell's own help center says its forms sit in an iframe where standard submit tracking fails. So practices either see zero conversions and pause campaigns that were filling chairs, or settle for a scheduling-page view and pay Google to chase visitors who never asked for a time.
- 02
Existing patients get counted as new-patient wins
RevenueWell appointment types can be open to new patients, returning patients or both, and the widget looks the same to each. A family already on your books who clicks your branded ad to book a cleaning counts like a brand-new patient, and cost per new patient looks far better than it is.
- 03
Two reports both take credit for the same patient
RevenueWell's Value Tracking credits itself for a new patient's request plus appointments scheduled within 60 days. Your ad platforms claim the same patient, so your budget review compares two numbers that overlap by design.
- 04
The GA4 box in scheduling settings doubles your data
A Measurement ID in RevenueWell's scheduling settings fires its own events, and RevenueWell warns that can duplicate page views and sessions on a site already running GA4. Imported into Google Ads, the duplicates inflate every count.
RevenueWell · the fix
What changes after we fix it — RevenueWell
Every request lands on the right campaign
The RevenueWell submit message fires one conversion carrying the landing-page click ID, with browser and server copies on one event ID.
New patients counted apart from your existing families
Every request is matched to your PMS. Returning patients go to retention reporting, and only first visits count toward acquisition.
Bidding learns from patients seen, not forms sent
Kept first appointments go back to Google Ads and Meta as offline conversions, so campaigns chase new families instead of no-shows.
RevenueWell · architecture
What RevenueWell actually lets you hook into
Every hook below comes from RevenueWell's own help center. Where it's silent, we test on your account.
- 1
Iframe postMessage on submit
RevenueWell documents a message with source "rw" on submit. The appointment request version carries name, phone, email, dates, reason and notes; the online scheduling version carries no fields.
- 2
GA4 Measurement ID field
Scheduling settings take a G- ID and send submission events to GA4 from the form. Useful on the standalone link, a duplicate risk on your own site.
- 3
Appointment request widget and link
HTML embed code for your site plus a shareable link for messages and social. Scheduling alerts show each request's source.
- 4
PMS sync and Direct Scheduling
Approved requests and direct bookings write back to compatible Dentrix, Eaglesoft, Open Dental and Dentrix Ascend versions. We read kept first visits from there.
- 5
No ad platform connection
No Google Ads, Meta Pixel, Conversions API, Zapier or webhook feature is documented. RevenueWell websites don't allow third-party plugins, so we confirm with support how a tag container gets installed.
RevenueWell · diagnose
Where RevenueWell tracking breaks, in diagnostic order
Start with your Google Ads primary conversion, because the iframe leaves most practices tracking a stand-in for the real request.
- 01
Open the primary conversion in Google Ads
A scheduling-page view or a button click inflates every number above it.
- 02
Submit a test request through the widget
Watch for the rw message in Tag Assistant and see if anything listens.
- 03
Count GA4 hits on that request
If the RevenueWell Measurement ID and your site tag both fire, sessions and conversions double.
- 04
Request again from a recall text link
If Google Ads or Meta claims it, existing patients are training your bidding.
- 05
Check what the data layer exposes
RevenueWell's sample code pushes form fields, reason for visit included, into the data layer. No ad tag should forward that.
RevenueWell · prove
The QA evidence on your RevenueWell form
Run on your live site, through the real widget and form link, with your front desk approving test requests.
Source of truth
RevenueWell scheduling alerts (type, status and source per request), matched to new-patient records and kept first appointments in the practice management system RevenueWell syncs with
- A request from a gclid-tagged URL, with exactly one conversion and the click ID joined server-side.
- Exactly one Meta Lead per request, browser and server copies collapsed on one event ID.
- No name, phone, reason or notes visible in any ad platform payload.
- A request from a recall campaign link confirmed absent from acquisition conversions.
- First visits uploaded and matched by click ID or hashed contact details.
- The same checks rerun 30 days on, and whenever RevenueWell changes the request form or you move websites.
RevenueWell · free audit
What we check in the free audit
- Open the primary conversion in Google Ads
- Submit a test request through the widget
- Count GA4 hits on that request
- Request again from a recall text link
- Check what the data layer exposes
Checked against
RevenueWell scheduling alerts (type, status and source per request), matched to new-patient records and kept first appointments in the practice management system RevenueWell syncs with
Free30 minutesNo obligation
RevenueWell · when not to buy
When you don't need this on RevenueWell
Plenty of practices on RevenueWell are fine as they are.
- If you don't run paid ads and RevenueWell mostly handles reminders and recall, its Insights reports already answer your questions.
- If online scheduling is switched off and new patients call in, you need call tracking on the ads, not work on RevenueWell.
- If RevenueWell runs your Google Ads and its reports match new patients in your PMS, ask them for the conversion setup before paying anyone else.
- If ads bring two or three new patients a month and your front desk asks each how they found you, that log is enough.
RevenueWell · what we deliver
The event map on RevenueWell
Scheduling widget viewed
The RevenueWell widget loaded on your page. Diagnostic only, never a bidding signal.
Appointment request submitted
The rw message with type requestAppointment or onlineSchedulingRequest, sent once per patient with the stored click ID.
Direct booking made
On Direct Scheduling PMS versions, a live slot written to your calendar without staff approval. We confirm whether the widget's message tells it apart from a request.
Request approved
Staff accept it in RevenueWell's scheduling alerts; with PMS Sync on it writes to the PMS calendar, without it someone enters it by hand.
New patient seen
The money event: a first visit kept in your PMS, joined to its click and uploaded to Google Ads and Meta.
Excluded on purpose
Recall, reactivation and reminder-link requests, returning patients, reschedules, cancellations and portal bill payments.
Written guarantee
95%+ tracking accuracy
Measured against RevenueWell scheduling alerts (type, status and source per request), matched to new-patient records and kept first appointments in the practice management system RevenueWell syncs with. Miss it and we keep working at no cost.
From $400 · See packages
FAQ
RevenueWell questions, answered
Not directly. RevenueWell documents a GA4 Measurement ID field and a postMessage event Tag Manager can listen to, but no Google Ads or Meta connection, so conversions are built on that event and your PMS records.
The form loads in an iframe, so tags on your page can't read the submit. RevenueWell sends a message to the parent page instead, and a listener has to catch it.
You can, and it helps on the standalone form link. On a site already running GA4, RevenueWell warns both IDs may record the same page views and sessions, so check for double counting first.
Not if it's set up right. RevenueWell's message can include reason for visit and notes, so ad platforms get only the event, the click ID and hashed contact details.
Every request is matched to your PMS before it counts. Returning patients and anything from recall or reactivation campaigns stay out of the conversions Google and Meta bid on.
More on RevenueWell
- Enhanced ConversionsEnhanced Conversions enrich the conversions that already fire. First we make sur…
- Meta CAPIA one-click CAPI integration sends thin events. That's why your Event Match Qual…
- Cross-Domain TrackingYour checkout provider is the best performing traffic source in your GA4 account…
RELATED GUIDES
Booking tools beside RevenueWell, and what their bookings feed
- Lighthouse 360Lighthouse 360 keeps the schedule full. Your ads still can't tell which patients were new.
- DemandforceDemandforce fills your schedule. Your ads take credit for the recalls.
- ServiceTitan Marketing ProServiceTitan shows which jobs paid. Google Ads is still bidding on 60-second calls.
- FlodeskYour Flodesk list grows every week. Your ads can't tell you which clicks did it.
- Constant ContactYour ads fill your Constant Contact list. Your ad accounts can't tell which ones paid off.
- Square MarketingSquare says your emails made the sale. Your ad account says nothing happened.
- SimpleTextingYour ads fill the SimpleTexting list. Google Ads can't tell which ones did it.
- KlaviyoYour Klaviyo popup signs people up every day. Google Ads still says zero conversions.
Free · 30 min
See which RevenueWell requests your ads really earned
Free30 minutesNo obligation
