Which lead source actually pays? Tracking cost per lead and cost per deal across portals, Meta and Google
Short answer: To know which source turns into deals, tag every lead with where it came from the moment it is created, then follow it through four stages: lead, qualified lead, viewing, closed deal. Divide what you spent on each source by the number reaching each stage. Cost per lead (spend divided by leads) is the number everyone quotes and the one that misleads. Cost per closed deal (spend over a period divided by deals closed from that group of leads) is the one that decides where the next dirham goes. You need a CRM (the system that holds your leads) with a mandatory source field, consistent link tags on every ad, and a monthly one-page report. Because deals close months after the lead, judge sources over three to six months, not one.
You pay <strong>Property Finder</strong> and <strong>Bayut</strong> (the two main property portals) every month, you run Meta (Facebook and Instagram) and Google ads, and deals still come from somewhere. The question is which spend to keep.
I'm Ranjit, and I run Blur Studio: 15+ years building software, 120 apps taken live, and clients who have gone on to raise $10M+. I build AI systems and processes that help businesses do a lot more with a lot less time. I also work differently from most of what else is out there, more on that further down this page. Say hello.
Why cost per lead misleads and cost per closed deal does not
Cost per lead (CPL) is easy to compute and easy to game. A source that sends 200 low-quality enquiries a month at AED 40 each looks better than one that sends 20 serious ones at AED 300 each, until you ask which one produced a signed deal. Several of the agency articles I read make the same point: judge the source by cost per closed deal, not cost per lead.
There are four numbers, and each answers a different question:
- Cost per lead = spend / leads. Tells you how cheap the traffic is.
- Cost per qualified lead = spend / qualified leads. Tells you how cheap the useful traffic is.
- Cost per viewing = spend / viewings held. Tells you which source gets people into rooms.
- Cost per closed deal = spend over a period / deals closed from that cohort. Tells you where the money works.
This is plain arithmetic, so no outside source is needed. The hard part is having clean data to feed it.
What to tag on every lead: source, campaign, listing, project
Every lead record needs these fields, filled automatically where possible and by the agent where not:
- Source: Property Finder, Bayut, Dubizzle (a classifieds site that also carries property listings), website form, Meta ad, Google ad, WhatsApp link, phone call, referral, walk-in, event.
- Campaign: which ad or campaign, or which portal package.
- Listing or project: what they enquired about.
- Agent: who owns it.
- Stage and date for each stage: so you can measure time to reply and time to deal.
- Reason lost: when a lead dies, why.
Set one hard rule: no source, no lead. If an agent creates a lead with "unknown" as the source, it goes into a weekly clean-up list. This one rule does more for your reporting than any tool.
UTM naming rules and where the tags go
A UTM tag is a label added to the end of a web link so analytics tools know where the click came from. Google Analytics 4 (GA4) reads utm_source, utm_medium and utm_campaign, plus utm_id, utm_term and utm_content, from the link the visitor clicked. The values are case-sensitive, so "Meta" and "meta" are counted as two different sources. Write a naming convention on one sheet and make everyone use it:
- utm_source: meta, google, propertyfinder, bayut, newsletter
- utm_medium: paid, organic, email, qr
- utm_campaign: projectname_month, for example harbourview_nov
- Lowercase only, no spaces.
The tag has to reach the CRM, not just the analytics report. Add hidden fields to every website form that capture the UTM values and the project, so they are saved on the lead record. Also tag permits: the Dubai Land Department (DLD, the property registration authority) says the permit number must appear in all real estate ads, so record the permit per campaign to make audits easy.
Portal, website, WhatsApp and phone: how each source is captured
- Portal leads. Most CRMs can take portal enquiries and label the portal and listing. If you capture them by email forwarding, make sure the source label is set by a rule, not typed. See Property Finder API and Bayut API for what connects.
- Website forms. Hidden fields for UTM, project and page, as above.
- WhatsApp links. A click-to-chat link can carry a pre-filled message. Put a code word in it, for example "Hi, I am interested in HV-NOV", and train the agent or the system to read it when the chat starts. This works without any special tracking tool. I am not covering Meta's pricing for ads that open WhatsApp here; check Meta's current rate card before budgeting.
- Phone calls. Use a different tracked number for each campaign or ad where practical, or ask the agent to record the source in the first minute of the call.
- Referrals, walk-ins and events. A dropdown value on the lead form, never left blank. For events see QR code lead capture for show units and roadshows.
One compliance note: owners you contact by cold call or message are not a lead source to celebrate. A DLD circular dated 26 February 2026 limits brokerages from contacting property owners and investors to offer, market or buy property unless there is a documented prior transaction. Do not log outbound contact with owners as a lead source in your report. See cold calling rules in the UAE and confirm details with the DLD or a lawyer.
One buyer, many enquiries: de-duplicating across portals
The same buyer may enquire on Property Finder, on Bayut and through your site in one afternoon. If each becomes its own lead, your lead count inflates and your cost per lead falls for the wrong reason. Match on the mobile number (normalised to the same format) and merge into one record, keeping a list of all the sources that touched it. Then decide your attribution rule and apply it consistently:
- First touch: credit the first source. Good for finding what brings new people.
- Last touch: credit the source of the final enquiry. Good for finding what converts.
Neither is right. Pick one, write it down, and do not change it mid-year or you will not be able to compare months.
From lead to qualified lead to viewing to deal: define each stage once
Write one definition per stage and apply it to every source. A simple qualified-lead rule: the person has a budget, a timeline, and can be reached. Without a shared definition, portals look cheap and Meta looks expensive for reasons that have nothing to do with quality.
- Lead: any enquiry that creates a record.
- Qualified: budget, timeline and contactable, confirmed by a person.
- Viewing: a viewing took place (not just booked).
- Offer or reservation: a written offer or reservation exists.
- Deal: the transaction closed.
A worked example with visible arithmetic
Every number in this table is made up, to show the method. They are not market figures.
| Source | Spend (AED) | Leads | Qualified | Viewings | Deals |
|---|---|---|---|---|---|
| Portal A package | 8,000 | 200 | 40 | 14 | 1 |
| Meta ads | 12,000 | 150 | 30 | 9 | 1 |
| Google ads | 10,000 | 50 | 20 | 8 | 1 |
| Source | Cost per lead | Cost per qualified lead | Cost per viewing | Cost per deal |
|---|---|---|---|---|
| Portal A package | 40 | 200 | 571 | 8,000 |
| Meta ads | 80 | 400 | 1,333 | 12,000 |
| Google ads | 200 | 500 | 1,250 | 10,000 |
Read it carefully. On cost per lead, the ranking is portal, Meta, Google. On cost per deal it becomes portal, Google, Meta, so Google overtakes Meta once you follow leads to the end. With one deal each, this is noise, not evidence. A single deal can swing the result completely. That is why you need several months of data before cutting anything. Add a commission column (what the deals actually earned) and the picture changes again: a source with a higher cost per deal can still win if its deals are bigger.
Fixed costs need a method. A portal subscription is a fixed monthly cost, so decide how to allocate it (by leads received, or by listing credits used), write down the method, and keep it.
The monthly source report: columns and how to read it
One page, reviewed monthly by the owner. Columns:
- Source and campaign
- Spend
- Leads, qualified leads, viewings, offers, deals
- Commission earned from those deals
- Cost per lead, cost per qualified lead, cost per viewing, cost per deal
- Average time to first reply
Read left to right: the volume tells you scale, the cost columns tell you efficiency, and reply time tells you whether you are wasting the source. A cheap lead answered late is a lost lead. For the dashboard setup see KPI dashboards and brokerage KPIs for Dubai.
What vendor cost-per-lead numbers say, and why not to use them as benchmarks
You will find cost-per-lead figures on agency and lead-seller pages. I collected the ranges and, unverified as they are, the lesson is that they conflict: Meta ranges from roughly AED 25 to 100 or more, Google from about AED 150 to 900, and portals from about AED 100 to 2,500 per lead, depending on the page. These come from lead sellers and agencies with commercial interests, none cites a method, and I could not verify any. One source even prices its own leads next to its own claim of what ads cost. Do not benchmark against them. Your own data, for your own areas and price points, is the only number that counts. No independent Dubai benchmark exists that I could find.
How software and AI help with tagging, de-duplication and the monthly report (and what a person reviews)
- Tagging: software can fill source and campaign automatically from the portal feed, the form or the link tag, so agents do not type them.
- De-duplication: a rule that matches phone numbers and merges records.
- Reporting: a script or dashboard that pulls spend (entered monthly or imported) and CRM stages into the table above, so the report builds itself.
- AI help: AI can read call notes or WhatsApp chats and suggest a source when it is blank, or summarise why leads were lost. It will sometimes be wrong, so treat its suggestions as drafts.
What still needs a person: defining qualified, deciding the attribution rule, allocating fixed costs, and reading a month with three deals without drawing a conclusion from it. I build reports like this as connected dashboards on a brokerage's own CRM data, but a spreadsheet fed from a CRM export does the job to start.
Try it yourself with Claude: export last quarter's leads as a spreadsheet with source, stage and spend columns, remove personal details, paste a sample, and ask: "Build a table of cost per lead, cost per qualified lead, cost per viewing and cost per deal for each source. List any rows with a blank or inconsistent source, and tell me what is missing before the numbers can be trusted."
Traps: lag, referrals, untracked calls, unknown source
- Lag: a deal closing in month six was created in month one. Attribute deals back to the lead's creation month, and review quarterly.
- Referrals lost as "direct": a client referred by a past buyer often has no tag. Add a referral option and ask.
- Untracked calls: a lead comes from a portal, then rings the agent's mobile. Ask the source question on every call.
- Duplicates inflating volume.
- Offline roadshows with no code.
- Unknown source creeping up. Watch the percentage monthly.
Decision rules: keep, cut or fix a source
- Do not judge a source on volume alone.
- Do not cut a source until you know both cost per qualified lead and average reply time. A slow team makes every source look bad.
- If a source has low quality but fast replies and clean tags, test a tighter audience or different listings before cutting.
- If you cannot attribute more than a modest share of deals to any source, fix the tagging before changing spend.
How I would approach this
I would start with the rule "no source, no lead", a one-page UTM sheet, and a single spreadsheet report, and run it for a quarter before touching the budget. Owners get the monthly table. Agents get two mandatory fields, source and reason lost. Only then does a dashboard make sense. For reply speed, which multiplies everything above, see speed to lead on WhatsApp.
Questions people ask
What is a good cost per lead for Dubai real estate?
I cannot give a verified figure. Vendor ranges conflict widely and none shows a method. Measure your own cost per lead and, more importantly, cost per qualified lead and per closed deal.
How do I tell if Bayut or Property Finder gives better leads?
Tag every portal lead with the portal and listing, then compare cost per qualified lead, viewings and deals over three to six months. See Property Finder API and Bayut API for how leads can reach your CRM. For the portals compared on cost and fit, see Property Finder vs Bayut.
What is cost per closed deal and how is it calculated?
Total spend on a source over a period divided by the deals closed from leads that source produced. Because deals close months later, match deals back to the lead's creation date.
How do I track WhatsApp leads from my ads?
Use a link with a pre-filled message that includes a code word for the campaign, and record the code in the CRM when the chat starts. Check Meta's current rate card before budgeting for ads that open WhatsApp.
What should a monthly lead source report contain?
Per source: spend, leads, qualified leads, viewings, offers, deals, commission, the four cost figures and average reply time. See KPI dashboards for layout ideas.
How long should I wait before judging a source?
Three to six months for deals, because of the lag between enquiry and closing. Use viewings and qualified leads as earlier signals.
Do I need call tracking?
Not at first. A tracked number per campaign helps where calls matter, but a mandatory source question on every call, recorded in the CRM, covers most of the gap.
Sources
- How campaign data is used in GA4 (Google Analytics Help)
- DLD advertising requirements release (Dubai Land Department)
- DLD circular 02-2026 on communication with owners (Dubai Land Department)
- How to get real estate leads in Dubai (Groovyweb, vendor)
- Bayut vs Property Finder leads (Groovyweb, vendor)
- Generate real estate leads using Google and Meta ads (RedSpider, agency)
- Why UAE real estate lead costs are soaring (1newhomes, listings site)