GA4 Conversion Tracking for Real Estate Agent Websites: What Actually Predicts a Listing Appraisal Booking
Here's what nobody tells agency principals when their website goes live: Google Analytics tells you almost nothing useful out of the box. It'll happily report 4,200 visits to your listings page last month, but not whether those visitors came from a boosted post, Google Ads, or SEO — or which of those turned into an actual phone call or appraisal request. We've rebuilt this setup for enough Gold Coast agencies now to know it's almost never in place, and it's the single biggest gap between "our website gets traffic" and "our website makes us money." 💖
What most real estate websites get wrong
- Treating "contact us" as one bucket — appraisal requests, buyer enquiries and job applications mix together, so you can't isolate what predicts a listing.
- Never marking events as key events — GA4 records a submit as an ordinary event forever without it reaching conversion reporting or Google Ads.
- Relying on GA4's default "form_submit" event — it fires on any form on the site, including newsletter signups, so it can't isolate appraisal intent.
- No phone click tracking — "click to call" is often the highest-intent action on a listing page, and most agency sites don't track it.
- Conversions never linked to the ad platform — even when the event exists, it's rarely imported into Google Ads or Meta, so spend keeps optimising towards clicks instead of appraisals.
Set these up as GA4 events (via GTM or gtag) using these exact names:
- appraisal_form_submit — the submit confirmation, not the click.
- property_enquiry_submit — the listing enquiry form, kept separate from appraisals.
- click_to_call — any tel: link click, with a parameter for page/agent.
- rent_appraisal_submit — property management sites, kept separate from sales appraisals.
- book_appraisal_click — the CTA click that leads to the form, a useful micro-conversion.
Mark appraisal_form_submit, property_enquiry_submit, click_to_call and rent_appraisal_submit as Key Events in GA4 Admin. Then import each into Google Ads as a conversion action, and build matching custom conversions in Meta Events Manager.
How to actually set this up (without a developer)
- Map your intents first. List every action that means "this person might list, rent, or enquire" versus general browsing. That list becomes your event names.
- Build triggers in Google Tag Manager. A form submit trigger on the confirmation element (not just "form submitted," which can fire on validation errors) pushes appraisal_form_submit to the dataLayer; a click trigger on any tel: href handles click_to_call.
- Send events to GA4 and mark them as Key Events in GA4 Admin → Events. This is the step almost everyone skips, and it's what makes an event usable for conversion reporting.
- Link to Google Ads via GA4 Admin → Google Ads Links, then import the key events as conversion actions.
- Set up Meta separately — GA4 events don't flow there automatically. Install the Pixel and build matching custom conversions, then test everything in GA4 DebugView before trusting it.
Mistakes to avoid once tracking is live
- Firing the form event on page load, not submit — counts everyone who scrolled past the form as a "conversion," inflating numbers and wrecking Google Ads' optimisation.
- Forgetting to exclude internal/staff traffic — your own team testing the form all month quietly pollutes the data.
- Never checking DebugView — tags can look correct in GTM preview and still silently fail to fire live.
- Using one event name for sales and rental appraisals — you'll never separate the two businesses in reporting again once merged.
Frequently asked questions
Will this tell me exactly which Facebook ad produced a specific phone call?
Not fully, and it's worth being honest about that. GA4 and Meta can reliably tell you someone who arrived via a specific ad clicked your tel: link. Whether that click became a real, qualified conversation depends on your phone system, which GA4 alone can't see. If phone volume matters, a call tracking number gets you the rest of the way.
Do I need Google Tag Manager, or can I do this with gtag.js directly?
Either works. GTM is usually easier to maintain without a developer, since triggers are editable visually rather than through code. If your site already has gtag.js events wired up, no need to migrate — the event names and Key Event setup matter more than which method fires them.
How long before I can trust the data enough to shift ad budget?
Give it three to four weeks of consistent traffic, longer over a quiet patch. Real estate enquiry volume is lumpy — one big listing can skew a week's numbers — so resist reallocating spend off a single week of data.
What about buyers who enquire on a listing rather than requesting an appraisal?
Track them as their own event (property_enquiry_submit) rather than lumping them in with appraisals. Buyer enquiries and vendor requests come from different marketing and convert on different timelines — merging them makes both numbers less useful.
Keep reading 🤍
I help Gold Coast and Brisbane businesses grow with branding, websites and marketing that actually works.
Work with me ✦