For real estate
Real estate advertising read in appointments, not clicks
Adrails gives agents, brokerages and developers one workspace where real estate ads are read as booked valuations, viewings, signed mandates and sales rather than form fills. Your server records each step and sends it back to Meta Ads and, once your workspace can connect it, Google Ads; automations watch cost per lead per office; each office or developer client gets its own report link.
Reviewed Oct 4, 2026
The real estate funnel
Each lead type, where it is recorded and what Adrails does with it
The ad platforms see the click and the form their pixel or tag caught. The appointment, the mandate and the sale live in the agency's CRM. This is where each step is recorded and what Adrails sends on.
| Lead type | Where it is recorded | What Adrails does with it |
|---|---|---|
| Seller valuation request | A form on the agency site, recorded by the Adrails script with adrailsTrack when it is submitted. The script already holds the visit, the UTM parameters and the click ids the visitor arrived with. | Credits the request to the campaign and ad for attribution in Adrails. Events from the page script stay in Adrails and never reach an ad platform, so a request that goes nowhere teaches Meta nothing. |
| Buyer inquiry on a listing | The listing page's contact form, the same way, or a portal that emails your CRM. A portal lead never visited your site. | A site inquiry is credited to the ad like a valuation request. A portal lead can still be sent from your server, signed, with the person's email, and Meta receives it; Adrails has no visit to credit it to. |
| Valuation or viewing booked | Your CRM or calendar, when the appointment is confirmed. Your server sends a signed lead event with the CRM id as event_id, the visitor id and the fbc, fbp or gclid saved with the visit. | Sends it to your Meta dataset as Lead right after it is recorded, with the email and phone hashed, and to the Google Ads conversion action chosen for Lead in hourly batches once the event is 6 hours old. Cost per result on the campaign becomes cost per appointment. |
| Mandate signed | Your CRM, the day it is signed: a signed event with a name of your own, such as mandate_signed, with the expected fee as value and currency. event_time must be within the last 7 days. | Sends it to Meta under that name, since a name without a standard equivalent is passed on as it is. Google Ads counts only the one event chosen in Settings, so a mandate reaches Google only when you send it under that event's name. |
| Sale completed | Your CRM or accounting, at completion: a signed purchase event with the commission as value, the same email and the visitor id of the original visit. | Sends it to Meta as Purchase with its value, and to Google Ads as Purchase when that is the event chosen. A value above the source's limit, 100,000 by default, is held back whole, which is why the value is the fee and not the sale price. |
Events, fields and what reaches each platform: the Adrails tracking documentation and the collect API reference. Only events your server signs reach Meta and Google Ads, and Google Ads receives the one event chosen in Settings. New Google Ads connections open once Google finishes verifying Adrails.
01
Real estate advertising pays for appointments, so read it in appointments
Real estate advertising is bought in clicks and leads and earned in mandates. A seller asks what the house is worth, a buyer asks to view a listing, and the money arrives weeks later when the mandate is signed and months later when the sale completes. Meta and Google Ads count the click and the form fill their pixel or tag saw; the appointment, the mandate and the sale sit in the agency's CRM, which is where real estate lead generation has to be measured.
The published benchmarks count the form fill, not the appointment. In LocaliQ's Facebook advertising benchmarks for 2026, real estate lead campaigns convert 9.95% of clicks at $1.27 a click, for a cost per lead of $13.74, well under the $27.39 average across industries; in its 2026 search benchmarks, real estate PPC on Google converts 3.70% of clicks at $3.22 each, for $102.51 per lead. Both are a cost per form, and a form that never books a valuation costs the same as one that does.
Adrails reads real estate ads the other way round. Your server records the valuation booked, the viewing booked, the mandate and the sale, Adrails credits each to the campaign and ad that brought the visit and sends the signed events back to Meta Ads and, once your workspace can connect it, Google Ads, so cost per result on a Leads campaign is a cost per appointment rather than a cost per form. Meta's housing special ad category removes most audience targeting from these campaigns, so the conversion you send back is the main lever you keep; the guide to Facebook ads for real estate on this site covers the rules themselves.
- Form fills recorded by the page script, kept in Adrails for attribution
- Appointments, mandates and sales signed by your server, sent to the platforms
- Cost per appointment per office, over any period, in Campaigns and Analysis
02
Record valuations, viewings and mandates on your server, then send them back
Tracking has two parts. The Adrails script on every page of the agency site keeps a first-party visitor id for a year, keeps the UTM parameters and click ids the visitor arrived with for 90 days, records page views and lets the valuation form record its submission with adrailsTrack. A workspace has one tracking source with up to 10 allowed domains, subdomains included, so a brokerage with a site per office or a developer with a site per development runs them from one source.
Your server sends the events that matter, signed with the server key that never goes in a page: the appointment as lead, the mandate under a name of your own, the sale as purchase with the commission as its value, each with the CRM id as event_id, the visitor id from the original visit and the fbc, fbp or gclid saved with it. Only signed events reach the platforms. Meta receives each one right after it is recorded, with the email, phone and external id hashed with SHA-256 and the event_id that lets it count the pixel's event and yours once. Google Ads receives the signed events that carry a gclid and the event name chosen in Settings, in batches once an hour, once they are at least 6 hours old.
Two limits per tracking source protect the platforms from a leaked key or a broken CRM export: a largest value per event, 100,000 by default and adjustable up to 1,000,000,000, and 5,000 events a day per platform. An event above the value limit is held back whole, not lowered, so send the fee rather than the sale price, or raise the limit before the first completion. Settings shows what was sent, what waits and what was refused over the last 30 days.
- event_time must be within the last 7 days: send the mandate the day it is signed
- Any event name is accepted; lead, purchase and signup take Meta's standard names, the rest pass as they are
- Only owners and administrators set up tracking and see the server key
03
Leads grouped by office or agent, with a cost per lead line for each office
A brokerage rarely runs one account. Connect each office's Meta and Google Ads accounts to the workspace, unlimited on every plan, and read them side by side in Campaigns and Analysis for the period you choose, each with its campaigns, spend, results, cost per result and open findings. Within an account, one campaign per agent or per development and a filter on the campaign name does the rest; Compare sets two to four of them next to each other, names the one that leads on cost per result and says whether the gap is reliable, at 95% confidence once each has 10 conversions, with the settings that differ listed.
Each office has its own cost per appointment it can pay, so each gets its own line. An ad threshold automation watches a campaign, ad set or ad metric over today, the last 7 days or the last 30 days, is checked every hour and fires at most once a day for each item that crosses the line; the CPA alert template posts to Slack, Discord or email, and Stop-loss pauses what spends without a result, at once after Adrails checks on the platform that nothing changed, or after waiting in Priorities on Home for 24 hours for an administrator to apply it. A workspace runs up to 5 threshold automations at once; for the long tail of offices, a scheduled automation with a Filter step keeps the campaigns above their line and sends the list every morning.
Budget moves follow the same figure. The Media Buyer prepares a change with the current value, the new value and the reason, capped at 30% per change, and an increase needs at least one result and spend of at least one daily budget behind it; you apply it in one click and Adrails measures the result 24 hours, 3 days and 7 days later.
- Accounts per office, campaigns per agent or development, all in one workspace
- A CPA alert or stop-loss per office, checked every hour
- Up to 25 automations per workspace, 5 threshold automations switched on at once
04
One campaign structure per office, from a template, within the housing rules
Save the campaign, ad set and ad settings of the office that works as a template and apply it to the next one. Templates belong to the workspace, per channel and level; fields tied to one account, the pixel, the Page, media and audiences, are left out, and a name, dates and status are never copied. Everything Adrails creates on a platform starts paused, after the platform has checked it, so ten offices can be prepared in a morning and switched on as each confirms its budget.
The structure has to fit the rules of each platform. On Meta, ads that promote or link to a housing opportunity run under the housing special ad category: age is fixed to 18 through 65+, all genders are included, ZIP or postal code targeting is unavailable, a city, address or pin drop audience is widened by a 15-mile radius in the United States and Canada and 10 miles in the European countries Meta lists, and lookalike audiences are unavailable. Google ads for real estate in the United States and Canada follow Google's personalized advertising policy: no targeting by gender, age, parental status, marital status or ZIP code, with radius targeting of at least 1 km, and city and country targeting allowed.
So the office template carries a Leads campaign for valuations and a second for listing inquiries on Meta and, once your workspace can connect it, a Search campaign on the valuation and agent terms of the office's town plus Performance Max for reach on Google Ads. The audience is the radius; the creative, the price point and the neighbourhood name do the qualifying. A split test on an ad's text or creative, or on a Google responsive search ad's headlines, settles which offer books more valuations, decided on CPA at 95% confidence.
- Templates per channel and level, account-tied fields left out
- Meta: Leads objective, housing category, radius and creative as the levers
- Google Ads: Search on the town's valuation terms, once the workspace can connect it
05
A report link per office or per developer client, every week
Each office manager or developer client gets a read-only report over the ad accounts you tick: spend, results, cost per result and ROAS per currency, the best and weakest campaigns and creatives, up to five of each, the changes applied in Adrails over the period and the open recommendations. The link opens for 30 days, 90 days or until revoked, covers at most 92 days, needs no Adrails account and is not indexed by search engines; nothing internal goes in, no reasoning, no conversation, no member names.
The Weekly client report automation emails a fresh link on the day and hour you choose, with an agent's read of what changed if you add that step, and can send nothing when no row is left. A report covers whole accounts, so a developer who must see only their development gets its own ad account. Every link is listed under Shared report links with how often it was opened; revoke one when a developer's campaign ends, and whoever kept it reads that the report is not available.
Roles follow the brokerage. Any member can ask the agent and read every page; owners and administrators apply changes, set up tracking and share report links, and administrators can group members into teams. A workspace keeps up to 100 open links, enough for one per office and one per active development.
- Figures fixed at creation; the page never reads the platforms again
- One account per developer client, one link per account
- Revoke from Automations; expired, revoked and unknown links show the same page
Go further
Read more
- Facebook ads for real estateWho must declare the housing category, what targeting remains, lead forms against landing pages and the 2026 cost per lead.
- For local service businessesLeads per location, thresholds per account and a report link per business, across verticals.
- Send conversions to Meta and Google AdsWhat reaches Meta and Google Ads, when, and the two limits that hold events back.
- Client reportsCreate, send and revoke a read-only report link.
FAQ
Common questions
Can Adrails send a booked valuation to Meta instead of the form fill?
Yes. Record the form fill with the page script, which stays in Adrails, and have your server send a signed lead event when the appointment is confirmed, with the CRM id as event_id. Meta receives that event as Lead right after it is recorded, so the campaign's cost per result is a cost per appointment.
How do I measure cost per appointment per office?
Give each office its own ad account, or its own campaigns, and send appointments from your server as the lead event. Campaigns and Analysis then show results and cost per result per account and per campaign for any period, and a threshold automation per office alerts or pauses when it crosses the line you set.
Can a lead from a property portal be credited to an ad?
Not to a visit, because the person never reached your site and Adrails has nothing to credit it to. Your server can still send the lead signed, with the person's email, and Meta receives it as a Lead event through the Conversions API; a form on your own listing pages gives you the visit, the click ids and the attribution.
Can a developer client see only their development's figures?
Yes, when that development has its own ad account: a client report covers only the accounts you tick, for up to 92 days, and anyone with the link opens it without an Adrails account. Revoke it from Automations when the campaign ends.
What value should the sale event carry?
The commission or fee, in the currency your site sends, not the sale price. A signed event above the largest value per event, 100,000 by default, is recorded in Adrails but held back from Meta and Google Ads whole, and the limit can be raised in Settings before the first completion.
Next