Meta Pixel and Conversions API for real estate
Marketing & analytics
Meta ads learn from whatever you feed them. Feed them cheap leads — and they'll bring you "form fillers." Show them real deals — and they'll find people who look like buyers. For high-end real estate, that's the difference between a burned budget and a tenfold return.
01The core idea
The algorithm optimizes for exactly the event you set as the goal. Choose "Lead" as the goal — and you'll get plenty of cheap leads. Choose "Purchase" or "Qualified lead" — and the system starts hunting for people who go all the way to a deal.
So the task is to send Meta the entire customer journey: from viewing a property to a signed contract. The deeper the event is in the funnel, the more valuable the signal is for learning.
02On-site events (Pixel)
Pixel is code on your website that tells Meta what visitors do. PageView fires on every page. Then come standard events and your own (custom) ones — for steps that aren't in the standard set.
| Event | When it fires | What to send |
|---|---|---|
PageView | any visit | — (builds audiences) |
ViewContent | viewing a property page | content_ids, content_name, value, currency |
Search | property search / filters | query parameters |
Lead | lead form submission | value, currency, property |
Schedule / Contact | booking a viewing / contact request | property |
Scroll90 · Time300 | deep scroll / long time on page | traffic quality signal |
OpenGallery · ViewFloorplan · DownloadMasterplan · UseROICalculator | actions on property details | content_name, value |
ClickWhatsApp · ClickPhone | contact clicks | content_name, value, currency |
StartForm · SubmitForm | started filling in / submitted the form | SubmitForm = equivalent of Lead |
Standard events are what you need to kick off optimization. Custom ones let the algorithm see the unique stages of your funnel: scrolling, time on page, messenger clicks, opening the floor plan.
03Conversions API and deduplication
Conversions API (CAPI) sends the same events, but from your server straight to Meta, bypassing the browser. It works despite ad blockers and browser restrictions. The Ray-Ban case: adding CAPI to the pixel delivered +36% reach and −7% on cost per conversion.
For web events you set action_source="website" — and then client_user_agent and event_source_url are required. And the more hashed contact data you send (email, phone, name, IP, the fbp/fbc cookies), the higher the match rate — the share of matches with Meta users.
The key rule of the setup: the same event arrives from both the pixel and the server. So that Meta doesn't count it twice, send the same event_id from both sources.
Meta checks for duplicates by the combination event_name + event_id + _fbp + external_id. That's why the official recommendation is to use Pixel and CAPI together: the stability of the server channel plus the rich data from the browser.
04Deals from the CRM (offline conversions)
The old Offline Conversions API is being retired — everything is moving to CAPI. So deal data from your CRM is now sent as server events. This is the most valuable thing for learning: what happens after the lead.
Which events to send: QualifiedLead, ViewingScheduled, DepositPaid, ContractSigned, Purchase. Send event_time, value, currency, property data, and user_data (email, phone) — so Meta can match the deal to a person. The attribution window for offline is up to 28 days (vs 7 for the pixel), and transactions can be sent retroactively for up to 62 days.
// deposit received — sending from the CRM via CAPI { "event_name": "DepositPaid", "action_source": "offline", "user_data": { "em": "…", "ph": "…" }, "custom_data": { "value": 50000, "currency": "THB", "content_name": "Booking Deposit · Villa #14" } }
Send only qualified deals. If a lead has an obviously low budget — don't tag it as QualifiedLead. Otherwise Meta will decide that such leads = buyers, and bring you even more of the same.
After accumulating roughly 20–50 real purchases, the algorithm starts learning from deals rather than from initial leads — and looks for people who resemble those who actually buy.
05The event funnel
It's helpful to picture the whole journey as a funnel: the deeper the stage, the fewer people — but the more valuable they are for optimization.
06Which data to send
For each event — the fullest possible set of fields, as this directly affects attribution accuracy:
- General:
event_name,event_time,event_id,action_source,event_source_url. - About the user: hashed email, phone, first/last name, IP, the
fbp/fbccookies. - About the property:
content_ids,content_type='product',content_name,content_category,value,currency. - About the lead:
budget_range,property_location,buying_intent,purchase_timeline— incustom_data.
// viewing a property on the website { "event_name": "ViewContent", "action_source": "website", "event_source_url": "https://samui.ltd/villa/14", "user_data": { "em": "…", "ph": "…" }, "custom_data": { "content_ids": ["14"], "content_type": "product", "content_name": "Villa #14", "content_category": "villa", "value": 10000000, "currency": "THB" } }
07Optimization and retargeting
For fast lead generation, the campaign goal is Lead or ViewContent. For a long-term strategy, switch to valuable events: booking a viewing, qualification, deposit, purchase.
And look not at CPL (cost per lead), but at the cost per qualified lead, the cost per booking/contract, and ROI on real revenue. Example: ads brought in a $7.3M villa sale at a cost of $100K — that's 73× ROAS. In the real-estate market, that matters more than click-through rate.
- Viewed a property (
ViewContent) but didn't submit a lead — win them back. - Did
Scroll90and spent 5+ minutes on the page — a "hot" audience. - Opened the form or messaged on WhatsApp — special creatives.
- Paid a deposit but didn't sign — a separate closing scenario.
08Step-by-step rollout
- Install the Pixel and the basic events:
PageView,ViewContent,Lead. - Stand up CAPI on the server for the same events.
- Link them with a single
event_idand verify deduplication in Events Manager. - Add custom engagement events: scroll, time, contact clicks, form steps.
- Connect the CRM to CAPI so deal statuses flow to Meta in real time.
- Switch the optimization goal to deeper events once you've accumulated ~20–50 conversions.
- Build retargeting audiences by funnel stage.
By sending not just the lead but the entire journey — from viewing a property to the contract — you give the algorithm a precise target for whom to look for. That's how ads find buyers, not clickers.
Based on Meta documentation and industry practitioners.