ChatGPT Ads enquiry tracking for Malaysian SMEs
Separate contact clicks, received enquiries and qualified leads. A practical reporting checklist for Malaysian businesses testing ChatGPT Ads.
A campaign report says 12 people clicked your WhatsApp button. Your sales team can find four new conversations. Two are asking for something you do not sell. How many leads did the campaign bring?
You need more than one number to answer that. For a Malaysian service business, the useful report connects advertising activity with enquiries the team actually received, then shows which enquiries fit the business. The example above is hypothetical, but the distinction matters before the first ringgit is spent.
If you are still deciding whether to advertise, start with our ChatGPT Ads Malaysia guide. This article covers what to agree with the person setting up your reporting. Product references were checked on 13 October 2026.
Give each stage a name
Ask your agency to use these labels consistently. They are working definitions for your report, not a list of event names to paste into an advertising platform.
| Stage | What you can reasonably say | What it does not establish |
|---|---|---|
| Ad click | Someone clicked the ad | That the page loaded or an enquiry arrived |
| Contact click | Someone tapped WhatsApp, phone or email | That they sent a message or completed a call |
| Accepted form enquiry | The website accepted and stored a submission | That a notification was delivered or the person is suitable |
| Received conversation | A new message or call reached the team | That it came from this campaign |
| Qualified enquiry | The request meets the agreed qualification criteria | That the person will buy |
| Ad-attributed conversion | The ad platform credited an eligible event to the campaign | That the enquiry is qualified or a sale occurred |
A free assessment request and a request for a paid project can both be accepted submissions. Keep separate rows for them. Otherwise, a popular free offer can make a paid-service campaign look more productive than it is.
Agree what makes an enquiry useful
Write the criteria before reviewing results. For a hypothetical aircon servicing company in Subang Jaya, qualification might require an address inside its service area, a service it actually provides and a customer who can be contacted. A commercial maintenance contract and a single home visit may need separate categories.
The owner should choose those criteria. An analytics tag cannot decide whether the company has capacity for the job or whether the customer accepted the quote.
Use a small enquiry register with a received date, internal reference, requested service, source evidence and follow-up status. Keep customer contact details in the system used to handle enquiries; they do not belong in a general campaign summary. Record unknown sources as unknown. Do not assign every new message to the newest campaign.
Here is a fictional register. The business has agreed to count successfully received forms with its test campaign's saved source label, and received WhatsApp messages carrying that campaign's reference, as campaign-tagged enquiries.
| Internal reference | Evidence recorded | Treatment in this business report |
|---|---|---|
| F001 | Received form with the campaign label saved from the landing visit | Include in campaign-tagged form enquiries |
| W002 | Received WhatsApp message saying "I saw you on ChatGPT", without a campaign reference | Record as self-reported ChatGPT contact; exclude from the campaign cost calculation |
| W003 | Received WhatsApp message with no source information | Record the enquiry with source unknown; exclude from the campaign cost calculation |
| W004 | Received WhatsApp message carrying this campaign's reference | Include in campaign-tagged conversations under the agreed method; the reference is editable |
Ask the implementer to show how the campaign label reaches the saved form record. A URL label or message reference can be copied, changed or lost, so this is a declared business reporting method, not proof of OpenAI attribution or proof that advertising caused the enquiry. Keep the self-reported and unknown enquiries visible in their own rows.
Check where the enquiry event fires
For a website form, ask the implementer to demonstrate that the measurement follows a successful submission. Clicking Submit, failing validation or seeing a server error should not become an accepted enquiry. Repeated taps should not produce several records for one request.
Ask for a controlled test in a development or test environment, with test results kept out of campaign reporting. Also check the operational side: can the team find the saved request, and can it tell whether the email notification was sent? Those are separate checks.
A WhatsApp button needs a different treatment. The website can record the tap, but that alone does not establish that a message reached you. If the team cannot connect a received conversation to the campaign, keep the attribution unknown. A prefilled message that the visitor can edit is supporting evidence, not an infallible identifier.
A received event is not automatically an ad conversion
OpenAI's conversion measurement guidance describes several requirements: an event must reach a connected data source, match the campaign's configured event and be associated with an eligible ad click within the attribution window. Sending an event is only part of that process.
Ask the implementer to show the selected campaign event and the evidence that intended events are being received. Ask separately whether Ads Manager has attributed any of them. A tag installed on the page, or a green setup indicator, is not a count of customers.
If the same conversion is sent through both the OpenAI Pixel and Conversions API, ask the implementer to use the same event ID for both copies so OpenAI can deduplicate them.
Before launch, also work through our landing-page checklist.
Compare reports using the same definitions
Put the reporting dates and timezone beside each total. Then check whether the report counts all enquiries, just this campaign's enquiries, free requests or paid-project requests. A mismatch here can explain more than a long discussion about tracking code.
OpenAI notes that attribution rules, browser conditions, deduplication and modelled conversions can produce different totals in Ads Manager and third-party analytics. The numbers do not have to match exactly. The explanation does need to be specific. See its measurement notes.
Also label the time of the export. OpenAI's Ads in ChatGPT basics article says spend can lag by about seven to eight hours. Avoid judging today's cost per enquiry against an unfinished spend total.
Calculate costs with a named denominator
Here is a made-up example, not a RankMe result or a Malaysian benchmark. Suppose your agreed source records connect four accepted form enquiries to a test with RM240 in recorded ad spend. Two of those form enquiries meet the qualification criteria.
| Calculation | Illustrative result |
|---|---|
| Ad spend divided by four accepted form enquiries | RM60 per accepted form enquiry |
| Ad spend divided by two qualified form enquiries | RM120 per qualified form enquiry |
Keep agency fees, page work and other costs separate, or include them in a clearly labelled total acquisition-cost calculation. Do not quietly change the numerator between reports.
If no qualified enquiries were received, cost per qualified enquiry is not RM0. Report the spend and the zero count; the cost per qualified enquiry cannot be calculated. If enquiry evidence is incomplete, report that uncertainty before calculating a cost.
What to ask for at the first monthly review
A 30-day review is a useful appointment, not proof that enough people have seen the campaign. Ask for:
- Actual spend and clicks, with the reporting cutoff.
- Accepted paid-project enquiries, free requests and contact clicks on separate rows.
- Received WhatsApp and phone conversations, split into campaign-tagged, self-reported and source unknown.
- Qualified enquiries and the criteria used to classify them.
- Campaign-attributed conversions, plus any known reporting gaps.
- One proposed next change, with the observation that supports it.
With very few enquiries, keep the conclusion modest. Fix a broken form or a misleading offer when you find it; avoid declaring a channel a winner from one good conversation.
For help planning the offer, landing page and measurement together, see our ChatGPT Ads setup and management service. Bring the page you want to advertise and a plain description of what counts as a useful paid enquiry for your business.
Frequently asked questions
Does a WhatsApp click count as an enquiry?
It counts as a contact interaction. Count a received enquiry when the message actually arrives, and only attribute it to a campaign when you have supporting evidence.
Can GA4 prove a ChatGPT Ads conversion?
A GA4 event shows what that analytics setup recorded. OpenAI Ads attribution is a separate result with its own event configuration and attribution rules. Keep both labels in the report.
Should free-check requests count with paid enquiries?
Show them separately. Both may be useful, but a request for a free assessment does not establish interest in buying a paid service.