Solutions

Meta and Google ads for real-estate leads, on WhatsApp, with the outcome fed back

Last updated 2026-09-06

A real-estate ad has one job: start a conversation with someone who can actually buy. The platforms are good at the first half and blind to the second. They know who clicked. They have no idea who, three messages later, said “3 BHK, around 1.4 crore, possession by next year.”

Vesma publishes the campaign and answers the conversation, which is what lets it close that gap. This page is about the publishing half: what goes into your Meta and Google accounts, what the AI does with the lead, and what goes back to the platform when the lead qualifies.

Why the ad and the conversation belong together

You can assemble most of this from parts. A WhatsApp API tool answers the message; an ads manager runs the campaign; a CRM holds the record. What the assembled stack cannot do is turn two hundred conversations into stated budgets and post them back to the platform as weighted outcomes, because no single part of it ever held the click and the conversation at the same time.

Vesma holds both. The click arrives with its id, the AI captures budget, requirement and timeline as fields on the lead, and the moment the lead qualifies is the moment the platform hears about it.

Meta: click-to-WhatsApp

You set the brand once, describe the offer, choose who should see it, and Vesma generates the copy and drafts the campaign. Publishing creates, in your own ad account:

A campaign with the engagement objective, which is the objective Meta requires for a WhatsApp destination.
An ad set optimised for conversations, the one optimisation goal Meta accepts for a click-to-WhatsApp ad, with your budget, schedule and audience.
A creative with the generated headline and body, your picture, and a Send message button that opens WhatsApp on the number Vesma answers.
Paused. Nothing runs until you switch it on. Readiness checks run first and name what is missing: a budget, a date, a picture, a connected number.

Review and delivery status are read back from Meta and shown next to the leads the ad produced, so a paused ad set in review is reported as exactly that and not as a rejection.

Google: Search and Performance Max

Google gets two publishers, because property buyers search and browse differently.

Search: a campaign with one ad group, the keywords the plan produced, and responsive search ads built from the generated headlines and descriptions. The landing page is the project page Vesma hosts, with the enquiry form and chat on it, or your own site.
Performance Max: a paused campaign with one asset group, your pictures cropped to Google's ratios, the generated text assets and search-theme signals derived from the offer.
Paused, in your account. Same rule as Meta. Google's review status is read back and shown as Google reports it.

Ad copy that passes review

Real-estate advertising has words it may not use. The generator knows them. Every headline and body it produces is checked against a single shared list of banned claims (guaranteed returns, assured appreciation, the usual), and if something slips through the check names the exact words so you can fix them before anything is published. The same list runs on copy you type yourself.

Pictures come from your media library or from the built-in generator, which draws them from the offer and the brand and can turn a still into a short clip. Both are marked beta on the features page.

What goes back, and when

The lead arrives on WhatsApp with the click id Meta or Google attached to it. The AI replies, answers from your brochure, and asks the questions a rep would ask. When the answers make the lead Hot (a stated budget and a timeline that fit), Vesma sends one event to the platform that produced the click:

To Meta: a QualifiedLead event through the Conversions API for Business Messaging, against the click id, with the budget as the value.
To Google: a conversion through the Data Manager, against the click id, with the same value.
Timing: the moment the lead qualified, not the moment it arrived. A buyer who enquired a fortnight ago and only stated a budget today is exactly the event worth reporting.
Contents: the click id, the time, the value. Never a name, a phone number or a message.

The funnel you see in Vesma is the same data: campaign → enquiry → qualified → booked, per campaign and per channel, with the conversation behind every number.

Where this falls down

Both publishers and both outcome loops are marked beta. They are live and running on our own campaigns, but connecting a customer’s ad account depends on Meta’s App Review and Google’s OAuth verification, both pending. Until they clear we switch it on per workspace, on request.

Two honest limits on the loop itself. Meta will only let a WhatsApp-destination ad optimise for conversations today, so the qualified events inform the account rather than steer that specific ad set directly. And the outcome is what the buyer said in the chat; a visit that happened and a deal closed on the phone are not in it unless someone records them.

Common questions

Does Vesma spend my money?

No. Every campaign it creates starts paused, in your own account. You switch it on in Vesma or in the platform's own manager. Budget, billing and ownership stay with you, and Vesma never touches campaigns you created yourself.

Can I use it with campaigns I already run?

Yes. Point an existing click-to-WhatsApp ad at the number Vesma answers and the enquiries are attributed and qualified the same way. Publishing from Vesma is a convenience, not a requirement; the outcome loop only needs the click to arrive with its id.

Why is a Meta campaign optimised for conversations and not for the qualified event?

Because that is the only optimisation goal Meta accepts today for an ad whose destination is WhatsApp. The qualified-lead events still reach Meta and accumulate against the ad account and dataset; they inform the account's learning and are the data Meta's newer messaging objectives are designed to use. We say this plainly because most pages in this category do not.

What does Google receive?

A conversion for the click that produced the lead, sent through Google's Data Manager when the lead qualifies, with the stated budget as its value. Only the click id Google issued, the time and the value. Never a name, phone number or message.

Why beta?

The publishers and both outcome loops are live and running on our own campaigns. Connecting a customer's ad account depends on Meta's App Review of the advertising permissions and Google's OAuth verification of the app, both submitted and pending. We switch it on per workspace as they clear.

Run the next campaign through it

Connect the WhatsApp number and the ad account you already use. Vesma publishes the campaign paused, answers the leads, and shows you which ones were real.