Ask 100 agents who buy Zillow Premier Agent leads whether their spend is profitable, and about 80 will say "I think so?" with the same tone of voice. Ask them to show you the math, and most of them can't. The lead-cost number is on the invoice; the lead-to-close ratio lives in the CRM (sometimes); the average commission is fuzzy; and the timing offset between when they paid and when the close hit doesn't get matched up against anything.

The result: agents spend $12,000 to $60,000 a year on Zillow without knowing whether to scale up, scale down, or quit. Brokerages spend ten times that.

This article gives you the 90-day attribution method top producers use to actually answer the question. Three numbers, one calculation, two adjustments most people miss.

Why "I think it's working" is a measurement failure

The lead-attribution problem on Zillow Premier Agent (and Realtor.com, and OpCity, and any pay-per-lead service) has three independent failure modes that compound:

1. Timing offset. A lead arrives in January. They go through your nurture cadence. They close in May. The Zillow invoice shows $4,000 in January; the closing commission shows $9,000 in May. If you measure month-by-month, January looks unprofitable and May looks like a windfall — and neither is true. The right window is 90 days minimum from lead arrival to close, often 180.

2. Re-attribution. A buyer-lead from Zillow closes 90 days later — but did they close because of the Zillow lead, or because they were also referred by a past client three weeks before close? Most agents credit only one source, and they credit the wrong one. Real attribution requires source-stamping at lead arrival and then keeping the original source attached through the deal, even if other touches accumulate.

3. Cost-baseline errors. Top producers spend not just the lead-fee but also virtual-assistant time, MLS searches, showing labor, and concession-on-conversion (because Zillow leads often arrive demanding aggressive buyer-rep terms). The fully-loaded cost per Zillow-sourced close is often 1.4–1.8× the lead-fee alone.

Fix all three and you can answer the question. Skip any one and you're guessing.

The 90-day attribution method

The method runs over a rolling 90-day window — your last full quarter of Zillow lead arrivals, tracked through to closed-or-killed status today.

Step 1: Capture every Zillow lead in the window

Pull from the Zillow Premier Agent dashboard every lead that arrived in your spend window. For a 90-day measurement, that's leads dated Q1 (or whichever rolling quarter you're measuring). Record:

  • Lead-arrival date
  • Lead-source variant (buyer-inquiry / listing-inquiry / agent-finder)
  • Property type / price range / area (so you can segment later)
  • Cost per lead, if itemized; if not, use a calculated cost-per-lead from total spend ÷ total lead count

If your CRM doesn't auto-stamp the source on lead arrival, this step is a manual import from the Zillow dashboard. Real-estate-aware CRMs do this with an integration; generic CRMs require a spreadsheet.

Step 2: Track every lead's outcome

For each lead, classify into one of five outcomes:

  • Closed (you closed the deal): Record the close date, the side (buyer or seller), the gross commission, and any concessions you made specific to that deal (closing-cost credit, agent-side commission rebate, etc.)
  • Closed with another agent (you confirmed they bought, but not from you): Useful data — they were real, you lost them.
  • Active in pipeline (still working, not closed): Record current stage.
  • Cold / no response: No engagement in the last 30 days.
  • Disqualified (bad number, bot, not actually a buyer): Excluded from the math.

The five-bucket sort is what separates real conversion-rate math from the lazy "lead-to-close ratio" most agents quote. A 4% lead-to-close rate that includes 60% disqualifications is actually a 10% rate on real leads.

Step 3: Compute the three numbers

The three numbers you need are:

Effective cost per real lead (ECPRL): Total Zillow spend in the window ÷ (total leads − disqualified leads)

If you spent $12,000 on 400 leads and 80 were disqualified, ECPRL = $12,000 / 320 = $37.50.

Real conversion rate (RCR): Closed (with you) ÷ (total leads − disqualified leads)

If 16 of 320 real leads closed with you, RCR = 16 / 320 = 5.0%.

Effective cost per close (ECPC): ECPRL / RCR = $37.50 / 5.0% = $750 per close.

That's your raw lead-cost-per-close. It's not the answer yet — there are two adjustments that materially change the picture.

Step 4: Two adjustments most agents skip

Adjustment 1 — Fully-loaded cost. Add the time-cost of working a Zillow lead. Top producers estimate (conservatively) 5–10 hours per closed deal of additional labor specific to Zillow leads — VA time on lead-routing and qualification, extra showings because Zillow leads often want more touches, additional negotiation rounds. At a $50/hr blended labor rate, that's $250–$500 per close in non-cash cost.

Adjustment 2 — Margin compression. Zillow leads often arrive negotiated. They expect buyer-rep credits, sub-2.5% buy-side commission splits, or closing-cost contributions. Across the deals you closed, sum the commission concessions specific to Zillow-sourced deals. Divide by close count.

If your average concession is $1,200 per Zillow-closed deal, your effective commission on Zillow deals is gross commission minus $1,200.

Step 5: Compute true ROI

Take your average gross commission per Zillow close (call it $8,000) minus margin-compression ($1,200) minus fully-loaded cost ($750 lead-cost + $400 labor) = net contribution per close of $5,650.

ROI = net contribution / lead-cost (cash) = $5,650 / $750 = 7.5×.

A 7.5× ROI is solid. Most agents who run this math the first time find numbers between 3× and 10×. Below 2× is a signal to renegotiate or kill the Zillow spend. Above 8× is a signal to scale.

Worked example: a top-producer's actual Q1

Take an agent who spent $18,000 in Q1, received 480 leads, disqualified 95, closed 22 deals from those leads in the trailing 6 months, averaged $9,200 gross commission per close, and gave an average of $1,400 in margin concessions per Zillow-closed deal. Labor: 7 hours per close at $50/hr.

The numbers:

MetricValue
Total spend$18,000
Real leads (total − disqualified)480 − 95 = 385
Effective cost per real lead (ECPRL)$18,000 / 385 = $46.75
Closes22
Real conversion rate (RCR)22 / 385 = 5.7%
Effective cost per close (ECPC, cash)$46.75 / 5.7% = $820
Average gross commission per close$9,200
Average margin concession per Zillow close$1,400
Net commission per close$9,200 − $1,400 = $7,800
Labor cost per close7 × $50 = $350
Fully-loaded cost per close$820 + $350 = $1,170
Net contribution per close$7,800 − $1,170 = $6,630
Total net contribution22 × $6,630 = $145,860
ROI on cash spend$145,860 / $18,000 = 8.1×
ROI on fully-loaded cost ($1,170 × 22 = $25,740)$145,860 / $25,740 = 5.7×

The 8.1× cash ROI is the headline number. The 5.7× fully-loaded ROI is the real one — it's what the agent should use to decide whether to keep spending.

The three calls this number lets you make

Once you have ECPC, RCR, and net contribution per close, you can make three decisions you can't make from the Zillow dashboard alone:

Scale-up call. If fully-loaded ROI is above 6× AND there's capacity in the agent's pipeline (not at saturation), spend more. Concentrated price-range / area bidding is usually how to scale efficiently rather than blanket spend increases.

Re-negotiate call. If fully-loaded ROI is between 2× and 4×, the Zillow contract is probably re-negotiable — most Premier Agent deals can be re-priced if the agent flags performance. Specifically: bid down on lead-source variants that produce weak RCR; bid up on the variants that produce strong RCR.

Kill call. If fully-loaded ROI is under 2× after honest measurement (not "I think it's bad"), cut the spend. Reallocate to channels with better measured returns — SOI nurture, paid social, or direct mail in a tight farming area.

The three numbers most agents miscount

1. Disqualified leads. Most agents don't subtract these and end up with a lead-to-close ratio that's flattering by 25–40%. Disqualification rates above 20% are a re-bidding signal — you're paying for bot/junk volume.

2. Average gross commission. Agents quote a remembered number, not a measured one. Pull from actual closed-deal files for the Zillow-sourced cohort, not from the agent's general commission average. The two often differ by 15%.

3. Margin concession per Zillow deal. This number is invisible until you measure it. The agent forgets that the last three Zillow buyers each negotiated a $1,500 closing-cost credit, that one got a 25% rebate on the buyer commission, and that two showings ran extra-long. Margin compression is real and it's usually 8–15% of the gross commission on Zillow-sourced deals.

FAQ

How often should I run this?

Quarterly. The 90-day window matches the timing offset between lead arrival and close, so a rolling quarterly review gives you both freshness and signal.

What if my CRM doesn't source-stamp leads automatically?

Source-stamping at lead arrival is a foundational capability. Without it, you can't attribute, and without attribution, you can't measure ROI. If your CRM doesn't do it, either (1) manually tag every lead at intake (workable for low volume), (2) use a real-estate-aware CRM that source-stamps from the Zillow integration directly, or (3) accept that you're guessing.

What about leads that close 9–18 months later?

A small tail (typically 5–10% of leads) closes outside the standard 90–180 day window. Top producers add these to next-quarter's measurement window rather than retro-applying to the original spend window. It smooths the picture without distorting any single quarter.

Should I use the same method for Realtor.com and OpCity?

Same method, different baseline. Realtor.com tends to have lower disqualification rates and higher conversion rates but more competitive bidding. OpCity is referral-based (no upfront fee but a higher commission split). The framework — ECPRL, RCR, fully-loaded cost, ROI — works for all three. The numbers will differ.

Get attribution running by default

Running this measurement by hand each quarter is a 4-hour exercise. Top producers do it because the answer is worth the work. The smarter version is to have it always-on: source-stamped at lead arrival, outcome tracked through the pipeline, ROI auto-computed monthly.

Sky Agent's analytics module runs the 90-day attribution method automatically. Lead source is captured at intake; concession amounts are pulled from the deal record; labor estimates apply your configured rate. The ROI number is on your dashboard, not in a spreadsheet you have to rebuild every quarter.

Schedule a 20-minute demo →

Related reading: How Top Producers Track Lead Source ROI · The Real Estate Agent's Quarterly Business Review · The Real Estate Follow-Up Cadence That Actually Works