Agencies

How an agency tracks each client's ad leads on WhatsApp

An ad that sends traffic to WhatsApp leaves a hole in the report: the click shows up in the ad platform, the conversation happens on the client's phone and the sale lands in their cash register. For the agency, proving results turns into chat screenshots. This guide shows the method to close the hole with one number per client, the ad lead logged, the sale marked and the result in the portal. GM Solutions Hub, the agency of ZapZap's founder, uses ZapZap with its own clients; this is a first-party disclosure, with no result figures. ZapZap is an unofficial API: WhatsApp may limit or block numbers.

Published on · 4 min read

This article is also available in: Português · Español

Step 1: all the clients' WhatsApps in one place

Each client has one number, and each number is an instance in your account, isolated from the others. Instead of opening a phone per client, the agency sees the status of all numbers in a single dashboard and tracks who is connected and who dropped. The cost is R$15 per active number per month, prepaid, with no per-message fee. For organizing dozens of numbers, see how an agency organizes dozens of numbers.

Step 2: log which ad each lead came from

The Tracking module logs the lead that arrived through a click-to-WhatsApp ad and keeps, on its record, the source and the conversation timeline. Setting up the Meta Pixel and token is up to the account owner, and reach depends on how the ad was created, so validate with a small campaign before promising the client anything.

With the lead record, the client's team stops asking "how did you find us?" and the agency starts seeing, per client, which campaigns bring conversations that move forward and which bring the merely curious.

Step 3: mark the sale and send the event back to Meta

Meta optimizes better when it knows who bought, not just who replied. When the sale closes, it can be marked in the dashboard, by the client in the portal, or by API when payment is confirmed in their system. The call below logs the sale of an ad lead; repeating it for the same sale does not duplicate the event.

Use the real event and value, on the real closing date. An inflated value or a fake event worsens campaign optimization instead of improving it.

Register a sale from an ad lead

curl -X POST "https://api.zapzapapi.com/api/v1/$ZAPZAP_INSTANCE/tracking/conversion" \
  -H "Content-Type: application/json" \
  -H "x-api-key: $ZAPZAP_API_KEY" \
  -H "x-api-secret: $ZAPZAP_API_SECRET" \
  -d '{"phone":"5511999999999","value":497.00,"event":"Purchase","occurred_at":"2026-11-10T15:30:00-03:00"}'

Step 4: show results to the non-technical client, on their phone

The end client rarely wants a complex dashboard. The client portal opens by link or by number and password, on the phone, and shows leads, sales and the chart for the period. The client also confirms sales and reconnects the QR code if the number drops, without a ZapZap account. The agency chooses which sections each portal shows, and the name, logo and color are the client's own.

The Performance tab, which exists on the instance and in the portal, shows response time, where the sale stalls, when people arrive and which conversations need a reply or recovery. For the agency it is the strongest argument for the support conversation: the ad delivered the lead, and response time shows where it went cold.

Step 5: a monthly conversation based on the client's data

With leads, sales and response time per client, the monthly meeting shifts from "is the campaign good?" to "of the conversations that came in, how many became sales, where did they stall and what changes in support or in the creative". To automate this report, see automating WhatsApp reports for clients with AI.

Also see the page for traffic managers, the one for agencies with AI and the WhatsApp API to integrate with your system.

Quick summary

  • One number per client and every WhatsApp tracked in a single dashboard.
  • The ad lead is logged with its source and timeline; the Meta Pixel and token are set up by you.
  • A marked sale (dashboard, portal or API) sends Meta the real event, with the real value and date.
  • The client follows leads, sales and performance in a phone portal, under their own brand.
  • Validate with a small campaign before promising results; the channel is unofficial.

Also read

Frequently asked questions

Does ZapZap show which ad each lead came from?

Tracking logs the lead that came from a click-to-WhatsApp ad and keeps the source on the record. Reach depends on the ad setup and the Pixel, so validate with a small campaign.

Can I mark the sale by API?

Yes. POST /{instanceId}/tracking/conversion logs the sale of an ad lead (phone is required; value, event and occurred_at are optional). Repeating the call for the same sale does not duplicate it.

Does the client need an account to see the leads?

No. The portal opens by link or by number and password, and the agency chooses the sections they see.

What is the Performance tab?

It is an instance panel, also available in the portal, showing response time, where the sale stalls, when people arrive and the conversations to answer and recover.

Does GM Solutions Hub use ZapZap?

Yes. GM Solutions Hub, the agency of ZapZap's founder, uses ZapZap with its own clients. It is a first-party disclosure, with no result figures.

Track one client's leads end to end

Create the account, connect the client's number and open the portal. R$15 per active number per month, no per-message fee. Verify your phone and you get a welcome credit, subject to the current campaign.