Skip to main content
Google Ads · OptometryGoogle Ads × Optometry

Google Ads conversion tracking for optometry practices

An eye exam is a modest, often insurance-limited fee attached to an optical sale that can be several times larger. What Google Ads adds on top of that is a mechanical requirement: gclid, gbraid and wbraid have to reach the record that holds the money, because Google Ads can only credit a conversion it can tie back to a click it recognizes. This page covers both halves — what a conversion is in optometry practices, and what Google Ads specifically needs to accept it.

Free30 minutesNo obligation

Specific to Google Ads × Optometry

Google Ads for optometrists: attended exams, restated with optical

Track an attended eye exam as a Google Ads offline conversion, uploaded from the practice management system against the gclid, gbraid or wbraid captured at booking. Upload it at attendance with a modeled visit value, then restate the value once the optical order is placed. Keep diagnoses and exam reasons out of conversion names and URLs.

Google is where most optometry demand starts: "eye exam near me", "eye doctor open Saturday", "contact lens exam". Those searchers are ready to book, and a good share call straight from the ad, so call conversions and web bookings need to sit in the same conversion action family or campaign comparisons fall apart. Set the booking request to count one per click and keep it secondary; the attended exam uploaded from the practice system should be the primary action bidding learns from.

The optical timing problem has a Google-specific answer the other platforms lack. Google Ads supports conversion adjustments on uploaded conversions, so you can send the attended exam immediately at an average visit value and restate it with the real exam-plus-optical total when the order is entered days later. Confirm adjustments are available for your conversion action type before designing around them, and use the appointment ID as the order ID so the restatement finds the original.

Healthcare is restricted for personalized advertising on Google, so remarketing lists built from people who searched or booked for glaucoma, cataract or diabetic eye care are off the table. Conversion tracking itself is allowed, but conversion action names, landing URLs and custom values should carry no condition or exam reason. Enhanced Conversions sends a hashed patient email, which ties a named person to an eye-care visit, so get a HIPAA read from counsel before switching it on.

Google Ads · Optometry · what breaks

Why Google Ads under-reports for optometry practices

  1. 01

    Exam bookings optimized as the conversion

    The exam fee is often the smallest part of the visit's revenue.

  2. 02

    Optical revenue invisible to the ad platforms

    So the campaign that brings frame buyers looks identical to the one that brings exam-only patients.

  3. 03

    No-shows counted as bookings

    Cold paid traffic no-shows at a rate that reorders campaign rankings on its own.

  4. 04

    Gclid, gbraid and wbraid never reaches the record

    Three parameters, not one. gclid is the long-standing identifier; gbraid and wbraid arrive on iOS traffic where privacy constraints prevent the usual one. Capture code that names only gclid loses a growing share, silently, and the loss is invisible until you audit how many records carry an identifier.

Google Ads · Optometry · the fix

What working looks like — Google Ads · Optometry

  • Attended exams as the conversion

    From the practice management system, after attendance.

  • Total visit value on the conversion

    Exam plus optical, so bidding can see the whole sale.

  • New and returning patients distinguished

    Paying to reacquire your own patients is the standard waste in this category.

Google Ads · Optometry · architecture

How Google Ads and optometry practices actually connect

  1. 1

    The conversion in optometry practices

    The money event is an attended exam carrying the whole visit's value. The optical sale is recorded days later when the order is placed, which is the timing question to settle before building.

  2. 2

    Google Ads needs a click to match

    A click identifier inside the 90-day window, a conversion action name that matches one configured in the account, a conversion timestamp for when the outcome happened, and a value. Read the match rate after uploading — a file can upload perfectly and match nothing.

  3. 3

    The identifier: gclid, gbraid and wbraid

    Three parameters, not one. gclid is the long-standing identifier; gbraid and wbraid arrive on iOS traffic where privacy constraints prevent the usual one. Capture code that names only gclid loses a growing share, silently, and the loss is invisible until you audit how many records carry an identifier.

  4. 4

    Where it gets sent from

    The practice management system — exams attended by date with the associated optical revenue, for the same window.

  5. 5

    Deduplication and window

    There's no shared event ID mechanism like Meta's. What matters instead is the counting setting on each conversion action — 'one' for lead-type conversions so a repeat submitter doesn't count three times, 'every' for ecommerce where a second purchase is a second sale. This is the single most common misconfiguration we find in Google Ads accounts. Google's offline import window is 90 days from the click. Anything older can't be matched, and rows outside it fail as unmatched without much explanation. Measure your median click-to-outcome time against that before designing anything.

Google Ads · Optometry · events

The conversion map for optometry practices

Five events, and the interesting money arrives after the appointment.

Booking requestVolume signal. Web and phone.
Exam attendedThe base conversion, from the practice system.
Optical order placedWhere most of the revenue is. Recorded days after the exam.
Total visit valueExam plus optical, carried on the conversion.
New versus returningFlagged at the practice system, not guessed from the website.

Google Ads · Optometry · diagnose

Diagnostic order — Google Ads · Optometry

  1. 01

    Count records carrying gclid, gbraid and wbraid

  2. 02

    Optical revenue recorded days after the exam

    Decide whether to send the exam immediately at an average value or wait for the optical order. Both are defensible; the choice must be deliberate.

  3. 03

    Vision plan structures

    What the practice collects differs from what the patient sees. Pin down which figure you are reporting.

  4. 04

    Existing patients clicking branded ads

    Without the new-versus-returning flag you will pay to reacquire your own patients.

  5. 05

    Read the match rate on the upload, not the success message

    A conversion action that stops receiving hits is flagged as inactive 30 days later — by which point a month of budget has already run against a missing signal. Check the last-received date on every action monthly; it takes two minutes and it's the cheapest monitoring available.

Google Ads · Optometry · prove

How it gets proven — Google Ads · Optometry

Source of truth

The practice management system — exams attended by date with the associated optical revenue, for the same window

  • Attended exams reconciled per patient against what each platform reports.
  • Total visit value confirmed to include optical, with the timing rule documented.
  • The no-show rate measured and stated by campaign.
  • The new-versus-returning definition agreed before anything is sent.
  • The match rate on the upload, not the success message read directly, not inferred from an upload succeeding.

Google Ads · Optometry · free audit

What we check in the free audit

  • Count records carrying gclid, gbraid and wbraid
  • Optical revenue recorded days after the exam
  • Vision plan structures
  • Existing patients clicking branded ads
  • Read the match rate on the upload, not the success message

Checked against

The practice management system — exams attended by date with the associated optical revenue, for the same window

Get my free conversion tracking audit

Free30 minutesNo obligation

Google Ads · Optometry · when not to buy

When you don't need this — Google Ads · Optometry

  • If Google Ads already reports conversions that reconcile against the practice management system within a few percent, this is working and there is nothing to buy.
  • Measure identifier coverage yourself first — pull your last hundred records and count how many carry gclid, gbraid and wbraid.
  • If you're running Performance Max exclusively and haven't separated your conversion actions, the import will work and the reporting won't tell you much. Worth sorting the account structure first.

Google Ads · Optometry · what we deliver

What gets built — Google Ads · Optometry

  • Click identifier captured and persisted

    Including on the call path, which is a large share of bookings.

  • Carried into the practice management system

    Onto the patient record.

  • Attended exam fires the conversion

    With the total visit value once the optical sale is recorded.

  • No-shows and cancellations reversed

    So the reported number reflects who actually came.

  • Dispatch via Google's offline conversion import

    Uploaded against the click identifier, either through the Google Ads API or as a file. The upload is the easy part; what limits it is how many of your records carry an identifier at all. Verify the current column format against Google's own template — it has changed before.

Written guarantee

95%+ tracking accuracy

Measured against The practice management system — exams attended by date with the associated optical revenue, for the same window. Miss it and we keep working at no cost.

Get my free conversion tracking audit

From $400 · See packages

FAQ

Google Ads · Optometry questions, answered

It can, but a few dozen a month split across campaigns is thin. A portfolio bid strategy that pools campaigns onto the attended-exam action helps, with the booking request kept as a secondary action for reporting.

Free · 30 min

Get Google Ads reporting what optometry practices actually earn

Free30 minutesNo obligation