One-line takeaway
Keep each Google event in Google's own terms, then require separate first-party evidence before counting a booked appointment, completed job, presented offer, or accepted membership.
Source-backed signal
Google's Business Profile performance documentation defines several interactions in provider-specific terms. Calls are clicks on the call button, website clicks are clicks on the profile's website link, messages are distinct message conversations, and bookings are completed bookings reported through a booking provider. Those metrics describe activity on or attributed to the Business Profile. The page does not label a call click, website click, message conversation, or booking as an HVAC membership.
Google's Local Services Ads lead documentation says advertisers pay for valid leads. It says leads are first assessed when a potential customer makes initial contact, invalid or low-quality leads are not charged, and charged leads may later receive an automatic credit. The reporting dashboard separates leads generated through channels such as message, call, and book. Google's valid-lead examples include certain messages, calls, and booking requests. A valid, charged, or credited lead is therefore a Google lead state, not evidence on its own that an appointment occurred, a job was completed, or a membership was accepted.
Google's Business Profile connection documentation says linking a Business Profile to Google Analytics shares Business Profile performance data such as interactions, website clicks, calls, directions, messages, bookings, and menu clicks with the Analytics property. It also says a notification indicates that aggregated data is being shared. This connection can place provider performance data beside website and app data, but the page does not say that linking the products creates a first-party completed-job or membership outcome.
These sources establish Google's current event and lead labels. They do not establish an HVAC company's appointment, job, offer, enrollment, payment, or active-member definitions.
Interpretation
Interpretation, not a Google claim:
An operator can make acquisition reporting more auditable by preserving each source-native event before joining it to a later business state. The chain should not rename a call-button click as a phone conversation, a valid ad lead as an appointment, a booking request as completed work, or an accepted offer as an active paid membership.
Use an evidence ladder with six separate rungs:
- Google interaction — preserve the Google product, profile or campaign reference, provider event type, provider event identifier when available, event time, and the exact provider definition used.
- LSA lead state — preserve the lead channel plus valid, charged, credited, disputed, duplicate, or unknown state. Do not use this rung for non-LSA interactions.
- Appointment — record requested, booked, canceled, completed, no-show, duplicate, or unknown using the company's defined first-party source.
- Completed job — require the company's chosen completion evidence. A scheduled or booked appointment is not a completed job.
- Membership offer — record presented, not presented, declined, deferred, not eligible under the company's own rules, or unknown. Do not infer presentation from job completion.
- Membership outcome — record accepted, declined, pending, canceled, duplicate, or unknown, plus the first-party evidence and effective date. Keep acceptance, activation, and payment as different fields if the company uses those as different states.
The ladder does not require an automatic account connection. A manual evidence record can be valid when it preserves the source and identifier for each rung. Any implementation that joins advertising, analytics, customer, payment, or FSM records needs its own authorized access, privacy, retention, and identity-resolution design; this public framework does not make those decisions.
Treat every move between rungs as a four-check measurement handoff:
- Source captured — preserve the producing system's label, record reference, event time, and definition version.
- Business state evidenced — attach a separate first-party record before assigning the next appointment, job, offer, or membership state.
- Exceptions preserved — retain unknown, unmatched, duplicate, disputed, credited, canceled, and not-applicable states instead of forcing a clean funnel.
- Definition reviewed — name the role responsible for the business definition, record the review date, and preserve correction reasons when a state changes.
The handoff is complete only when the record shows what produced the prior state and what independently supports the next one. A missing check remains an open evidence gap, not permission to infer the transition.
Operator lesson
Count every stage in the language of the system that produced it, then measure transitions only where both sides of the transition have evidence.
Use this blank ledger:
- Record reference — an authorized internal identifier; keep customer information out of this public template.
- Google product — Business Profile, Local Services Ads, or another explicitly named source.
- Source or campaign reference — the approved identifier used by the company.
- Provider event type — call click, website click, message conversation, completed provider booking, LSA call, LSA message, LSA booking request, or another exact provider label.
- Provider event ID and time — when available; otherwise mark unavailable rather than inventing a join key.
- Lead state — valid, charged, credited, disputed, duplicate, unknown, or not applicable.
- Contact evidence — source reference and state; do not infer contact from a click alone.
- Appointment evidence — source reference, state, and event time.
- Job evidence — source reference, state, and completion time under the company's definition.
- Membership-offer evidence — source reference, presented state, and time.
- Membership-outcome evidence — source reference, outcome, and effective time.
- Activation or payment evidence — separate fields when they are not identical to offer acceptance.
- Identity link status — matched, unmatched, ambiguous, duplicate, or intentionally not joined.
- Exception state — unknown, disputed, duplicate, credited, canceled, not applicable, or another controlled company state.
- Audit trail — definition version, recorded by, recorded at, and correction reason.
Before using the ledger in a report, run the same four-check handoff at each transition: source captured, business state evidenced, exceptions preserved, and definition reviewed. Mark a failed check as open. Do not repair an incomplete chain by dropping unknown records or borrowing the label from a neighboring rung.
Report counts before rates. For any rate, publish the numerator, denominator, date window, inclusion rule, exclusion rule, duplicate count, and unknown count.
Use formulas that do not hide the evidence boundary:
- Traceable lead-to-appointment rate = unique source leads with a matched booked-appointment record ÷ unique source leads eligible for the analysis.
- Traceable completed-job-to-offer rate = unique completed jobs with a matched offer state ÷ unique completed jobs eligible under the company's stated rule.
- Traceable offer-to-membership-acceptance rate = unique accepted membership outcomes ÷ unique membership offers with a resolved accepted or declined outcome.
- Unresolved-outcome rate = unique records still marked unknown or ambiguous ÷ unique records included in the review.
Synthetic example only: suppose a review contains 40 unique LSA leads. Twenty-four have evidence of a booked appointment, 18 have evidence of a completed job, 12 have evidence that a membership offer was presented, 4 have an accepted membership outcome, 6 have a resolved decline, and 2 offered records remain unknown. The report can show 24 ÷ 40 for traceable lead-to-booked-appointment, 12 ÷ 18 for traceable completed-job-to-offer, and 4 ÷ 10 for resolved offer-to-acceptance. It should also show the two unresolved offered records rather than silently adding them to either acceptance or decline. These values demonstrate the calculation; they are not a benchmark or a claim about HVAC performance.
Practical playbook
- Write one controlled definition for each rung before combining data. Name the system that owns the definition.
- Preserve the provider event type exactly. Do not rename a call click as a conversation or a booking request as completed work.
- Give every later business state its own source reference and event time.
- Keep valid, charged, credited, disputed, duplicate, and unknown lead states separate.
- Define the company's appointment, job-completion, offer, acceptance, activation, and payment states independently.
- Use an explicit identity-link status. Do not force a match when identifiers conflict or evidence is missing.
- Deduplicate within a named window and rule, then retain the duplicate count and original record references.
- Calculate a transition only when the numerator and denominator use documented evidence and the same eligibility rules.
- Display unknown and ambiguous records beside the resolved counts. Missing evidence is not a zero-value outcome.
- Audit a small sample from source event through membership outcome and record correction reasons.
- Version the stage dictionary so historical reports retain the definitions that produced them.
- Keep customer, account, payment, and FSM records inside the company's authorized systems; use this public ledger only as a field design.
Email version
When is a Google lead actually an HVAC membership?
Google's own reporting gives us a useful boundary.
Business Profile calls are call-button clicks. Website clicks are clicks on the profile link. Messages are distinct conversations. Provider-reported bookings are completed bookings. Local Services Ads separately tracks valid, charged, and sometimes credited leads through channels such as message, call, and book.
None of those labels is a first-party membership outcome.
Keep six rungs separate:
- Google interaction
- LSA lead state
- Appointment
- Completed job
- Membership offer
- Membership outcome
Every rung needs its own evidence reference, event time, and controlled state. Keep unknown, duplicate, disputed, credited, and not-applicable records visible.
Use a four-check handoff at every transition:
- Source captured
- Business state evidenced
- Exceptions preserved
- Definition reviewed
If one check is missing, leave the transition open. Do not let the label from one rung stand in for evidence at the next.
Then calculate only the transition the evidence supports. A lead-to-appointment rate needs matched lead and appointment records. An offer-to-acceptance rate needs documented offers and resolved accepted or declined outcomes. Publish the numerator, denominator, window, definitions, duplicates, and unknowns.
The useful next metric is not a blended Google-to-member number. It is the count of acquisition records whose source-native event and first-party membership outcome are both traceable.
Where does your reporting chain most often lose the evidence between a Google event and a membership outcome?
LinkedIn post
A Google interaction is not automatically an HVAC membership.
Keep the evidence ladder visible:
Google interaction → LSA lead state → Appointment → Completed job → Membership offer → Membership outcome
Do not relabel:
- A call-button click as a conversation
- A valid lead as a booked appointment
- A booking request as completed work
- A completed job as an offer
- An accepted offer as an active paid membership
Give every rung its own source reference, time, and controlled state.
Then require four checks before closing a transition: source captured, business state evidenced, exceptions preserved, and definition reviewed.
Then report counts before rates—and keep unknown, duplicate, disputed, and credited records visible.
The chain is trustworthy only when each transition has evidence on both sides.
Short post / thread starter
Google interaction ≠ ad lead ≠ booked appointment ≠ completed job ≠ membership offer ≠ accepted membership. Close a transition only when the source is captured, the next business state is evidenced, exceptions are preserved, and the definition is reviewed. Keep unknowns and duplicates visible.
Community-answer suggestions
- Ask which Google product and provider event type produced the starting count.
- Clarify whether a reported call means a call-button click, an answered conversation, or another company-defined state.
- Separate an LSA booking request from a company-confirmed booked appointment and completed job.
- Ask which first-party record proves job completion under the company's definition.
- Keep membership offer, acceptance, activation, and payment separate when the company treats them as different states.
- Request the numerator, denominator, date window, eligibility rule, duplicate count, and unknown count before interpreting a rate.
- Preserve valid, charged, credited, disputed, duplicate, and unknown lead states instead of collapsing them into one total.
- Treat an unmatched or ambiguous identity link as an explicit state, not permission to force attribution.
- Ask who owns each business definition, when it was last reviewed, and how corrections remain attributable.
Sources
- https://support.google.com/business/answer/9918094
- https://support.google.com/localservices/answer/7195435
- https://support.google.com/business/answer/16987554
One useful decision at a time
Get the next issue
Reader question