Skip to content

ChatGPT referral tracking: did it lead to a paid job?

An AI referral, a customer's explanation and an invoice can describe the same job. Keep their evidence together before approving another marketing expense.

TL;DR

  • Track AI referral signals and what customers say in separate fields, then join them to a unique job. Count the union once when the same job appears in both lists.
  • Our invented ten-contact example contains three jobs with technical AI markers and four with customer-reported AI assistance. Two overlap, leaving five jobs with either kind of evidence, not seven. Four have paid, with $3,200 collected.
  • A URL tag can be copied, and a missing referrer leaves part of the path unknown. Label the result as evidence associated with jobs; it does not establish how many extra jobs AI caused.
  • Use the blank office worksheet and reproducible example to check an agency's AI lead report before buying more visibility work.

A homeowner tells your dispatcher, “ChatGPT gave me your name.” The website report also contains a ChatGPT-marked visit. Later, the homeowner pays for a repair.

Those records can support a useful marketing conversation. First, the office needs to establish whether they describe one job or several. A report that adds two source lists can make the business appear to have acquired more customers than it actually served.

This guide gives HVAC, plumbing and electrical owners a review they can run with an office manager. The sample is fully invented. Its purpose is to expose counting decisions you can inspect, rather than present a benchmark for AI traffic or a Lonta client result.

Keep four things separate:

RecordWhat it supportsWhat remains unknown
A dated answer showing your company or pageYour presence in that particular answerWhether a homeowner saw it or contacted you
A visit with an AI-origin referrer or URL tagA recorded technical source markerWhether the marker is authentic, and whether a job followed
A customer's description of using an assistantCustomer-reported assistance in discovery or selectionWhether it was the only influence
A matched paid jobAn observed business outcome connected to the recordsWhether that job would have happened without AI

For a website visit, a developer can inspect the recorded landing URL and referrer. MDN's referrer documentation, checked October 29, 2026, explains that the browser exposes the referring page as a string. Direct navigation can return an empty string. The referrer policy can also omit referrer information.

Consequently, a blank referrer cannot tell your office the complete discovery story. Preserve it as missing technical evidence. Do not relabel every direct visit as AI because someone recently published an AI visibility report.

The example reviewer recognizes exact chatgpt.com and chat.openai.com referrer hosts, plus chatgpt.com or chatgpt in utm_source. These are our explicit classification rules for supplied records. They are not a promise about every link any assistant creates. Anyone can construct a tagged URL, including your own team.

The reviewer checks the hostname rather than searching the whole string for “chatgpt.” A supplied referrer of chatgpt.com.evil.example belongs to a different hostname and receives no ChatGPT host match. This distinction prevents a simple classification error; it does not authenticate a visitor.

What should the office record when someone calls?

Ask an open question: “How did you first hear about us?” If the customer names an assistant, preserve the answer in their own words. A follow-up such as “Did you click through, search our name, or call a number you found?” can clarify the path when they remember it.

Make the question optional in your normal intake. A dispatcher should be able to write “doesn't remember” and continue helping the customer. Leading with “Did ChatGPT send you?” would make the record harder to interpret.

Keep these fields beside the inquiry:

  • An inquiry ID and the eventual job ID.
  • The captured landing source marker, its capture time and where it came from.
  • The customer's answer, recorded separately from the technical marker.
  • A known test or staff flag, if applicable.
  • The job's outcome and observed collected amount at a stated review cutoff.

Use a stable inquiry or job identifier when one exists. If a phone contact cannot be reliably matched to a web session, leave that connection unresolved. A nearby timestamp alone may be insufficient in an office receiving several calls.

The first 20 inquiries worksheet covers the wider job-fit review. Here, the extra task is preserving two kinds of source evidence without letting one overwrite the other.

Work through ten contacts and nine jobs

Download the sample JSON or read the table below. Every contact, amount and technical marker is invented. The values are the current job snapshot at the same review cutoff; repeated contacts do not add another invoice.

JobSupplied evidenceReview decisionCollected
AChatGPT marker and customer report; two contactsBoth evidence lists, one job$500
BChatGPT URL tag; customer source unknownTechnical evidence only$700
CBlank referrer; customer names ChatGPTCustomer report only$900
DChatGPT referrer and customer reportBoth lists; outcome pendingUnknown
EPaid-click marker; customer also names ChatGPTCustomer report only; retain paid marker$1,100
FChatGPT tag; known staff testExcluded from customer totals$0
GLookalike referrer hostnameNo recognized AI evidence$400
HAI tag and paid-click marker on the same contactHold for source review$600
IBlank referrer; no customer source reportNo recorded AI evidence$800

The ten contacts become nine unique jobs because A contacted the office twice. One known test is excluded. One job is held. That leaves seven eligible jobs in the reviewed customer ledger.

Technical evidence covers A, B and D: three jobs. Customer-reported assistance covers A, C, D and E: four jobs. A and D appear in both lists.

Jobs with either kind of AI evidence = 3 + 4 − 2 = 5.

Among those five, A, B, C and E have paid:

$500 + $700 + $900 + $1,100 = $3,200 collected across four paid jobs.

D's amount remains unknown. Its pending status does not become a zero-dollar lost job. H's $600 stays outside the reviewed AI total until its source conflict is resolved.

The payment lists overlap too. Technical-evidence paid jobs total $1,200; customer-reported paid jobs total $2,500. Adding them gives $3,700 because A's $500 appears twice. Deduplicating the job restores $3,200.

E illustrates why both fields matter. The customer reports AI assistance while the contact contains a paid-click marker. The ledger retains both facts. It does not decide which touch deserves exclusive credit or move the payment out of the paid campaign's reporting system.

H needs a different review: one contact carries both a recognized AI marker and a paid marker. A copied URL or a tagging mistake could explain that combination. Our reviewer holds it rather than deciding what happened. That is a local review policy, not a provider's attribution rule.

What should an AI marketing report say?

Ask for a sentence the office can reproduce:

“Within this reviewed sample, five unique jobs had technical AI markers or customer-reported AI assistance. Four were paid, with $3,200 collected. One remained pending. One separate job was held for conflicting source markers.”

Keep the cutoff, source rules and hold list beside the sentence. In a real report, also show the number of unmatched inquiries and records that could not be captured. The sample requires a job ID, so its script rejects an unmatched row rather than silently assigning it to a job.

Calling the $3,200 “revenue caused by ChatGPT” would require evidence this ledger does not provide. The customer could also know the company, see an ad or receive a neighbor's recommendation. The brand and first-time customer guide explains another useful separation when reviewing acquisition claims.

Keep crawler traffic and Google AI impressions in their own reports

OpenAI's crawler documentation, checked October 29, 2026, distinguishes OAI-SearchBot for search, GPTBot for potential model training, and ChatGPT-User for certain user-requested visits. A request carrying one of those identities is not a homeowner booking a repair. The documented purposes also do not prove that a logged user-agent string is authentic.

Google now has dedicated Search Console reports for impressions in its generative AI features. Its June 2026 announcement, updated to note worldwide rollout on August 31 and checked October 29, describes URL impressions with page, country, device and date views. Those impressions are also included in overall reporting. Adding the two totals would double count exposure.

A Google AI impression does not identify a ChatGPT visit or a paid plumbing job. Keep visibility, website activity and job outcomes as separate stages. Compare them over explicitly aligned periods when you have enough records to make a useful decision.

How to use the open reviewer

Start with the plain-text office worksheet. You can copy it into your existing process without running code. Keep actual customer records private.

For a reproducible calculation, extract the offline ZIP. With Node.js 20 or later, run node core.mjs from its folder. It reads the invented sample and prints the job review as JSON. To review another file, use node core.mjs your-file.json.

The README defines every field. The tests exercise duplicate contacts, repeated source tags, conflicting job amounts, known tests, missing outcomes and exact hostname matching. The code reads local files and makes no network requests.

These checks establish the behavior of our supplied-record reviewer. They do not test a live assistant, your analytics installation, a call-tracking provider or a CRM integration. Before relying on your own capture, ask the person responsible for it to trace one clearly labeled test through landing, inquiry, job and report. Exclude that test from customer totals.

What this doesn't cover

This method does not measure every AI-assisted journey, the prompts people used, or the position in which an assistant recommended a company. It does not authenticate a URL tag, infer consent, allocate exclusive channel credit or estimate causal lift.

It also cannot guarantee AI visibility. Google's AI features guide, checked October 29, says existing search fundamentals apply and no special AI schema or text file is required. OpenAI's search crawler guidance concerns discoverability, not a promised recommendation position.

Lonta AI provides managed marketing for home service businesses and has a commercial interest in clearer measurement. The arithmetic here is a proposed review method with invented records, not evidence of our own AI-generated leads.

Review one report before buying more visibility work

Choose one completed reporting period and ask for the job IDs behind the claimed AI leads. Have the office reconcile duplicate contacts, unresolved matches, known tests and paid outcomes. Keep technical markers and customer explanations in separate columns.

Then decide what the evidence can support. A small reconciled list can justify improving capture or answering a customer question more clearly. It cannot establish a universal return on AI optimization. For a broader plan connecting inquiries to operations and budget, use the Lonta strategy review.

FAQ

Can an AI citation count as a lead? A citation records visibility in a particular answer. A lead requires an actual inquiry under your business's definition. Connect the stages when evidence permits; keep them separate when it does not.

Does a blank referrer mean the customer did not use ChatGPT? The discovery path remains unknown. Direct navigation and referrer controls can leave no referrer. A customer's account may add separate evidence, but it does not reconstruct a missing browser record.

Should technical and customer-reported AI leads be added? Count unique jobs in their union. Subtract the overlap, and show the two lists separately so the office can inspect them.

Does a paid job with an AI marker prove the AI marketing spend worked? It supports an association in the records. Establishing additional jobs caused by the activity requires a suitable comparison and more evidence.

Sources

Request your free strategy

One page, five details, no card and no call.

Would rather talk it through? Ask for a callback on the form and pick a window. The person who would run your account calls you, not a salesperson.

This sets the testing pace. There is no minimum.

A good callback window or the first problem you want us to look at

No card and no call. Read-only access only.