Lyfe Realty Group — Google Ads + GA4 ROI Audit

A diagnostic of the 90-day campaign performance, with prioritized opportunities to lift ROI 3–5x.
Client
Lyfe Realty Group
Teresa Schwarz · lyferealty.com
Audit period
Feb 22 – May 22, 2026
Trailing 90 days
Prepared by
Winkode
hello@winkode.com
Data source
Google Ads + GA4 (MCP, live)
customer 767-971-9496 · property 514093024

0Contents

1Executive summary

Lyfe Realty Group is spending roughly $1,000/month on Google Ads across two active Search campaigns (Sellers and Buyers) and one paused Performance Max campaign. Over the last 90 days the account spent $3,051 and produced 22 hard conversions (form submissions and tracked phone calls), for an effective $138.69 CPA. For a residential real estate practice in Southwest Broward where commissions are typically $5k–$30k per closed deal, this CPA is acceptable but the account has substantial unrealized headroom.

This audit identifies 5 critical issues that are actively destroying ROI right now and 15+ high-priority opportunities. The single biggest leak: the Buyers Search campaign is configured with location targeting PRESENCE_OR_INTEREST, which means roughly 92% of its $444 in spend is going to users who are not physically in Southwest Broward — they only have a passing interest in the area (vacation searches, expats, relocators researching from elsewhere, etc.). The data shows 1,484 clicks from this campaign produced only 4 conversions and most of those clicks never even reach the website as a tracked session.

Other major leaks: 82% of paid keywords have a Quality Score of 0 or null (causing 62% of Sellers impression share to be lost to ad rank, not budget); 94% of users who start a form abandon it (66 form-starts vs 4 form-completions); phone clicks are happening in GA4 but are not being counted as Google Ads conversions (the conversion action exists but is marked HIDDEN — Google's bidding algorithm is literally blind to 27 calls over 90 days); both campaigns use Maximize Conversions with no Target CPA, meaning the bidder has no efficiency anchor; and GA4 ads_personalization is disabled, so no remarketing audiences can be built.

Projected impact of fixing the top 5 issues A conservative model suggests that after a 30–60 day implementation, the same $1,000/month budget should produce 25–40 hard conversions per month (vs. 7.3/month today) at a $25–40 CPA (vs. $138) — a 3–5x ROI lift. The audit ranks every recommendation by impact, effort, and dependency so the marketing team can sequence the work.

What is not broken

  • The original renter-call problem (the audit trigger) is already largely mitigated. The PMax campaign that was attracting renter traffic was paused on 2026-03-31 and has not run since. The current Sellers campaign already has 92 negative keywords blocking rental terms, and the website's IDX plugin (Bridge API → MIAMIRE MLS) is filtered to Teresa's own office only, so the site does not crawl in renter-bait listings from across the MLS. The sitemap shows zero rental URLs. The renter leak is closed at the campaign level — the next move is offense, not defense.
  • Auto-tagging is enabled. The Google Ads → GA4 link exists. The Bridge MLS feed is correctly scoped. The Sellers campaign's geo targeting is correctly set to PRESENCE. These are all baseline-correct.

2Account snapshot & 90-day performance

90-day spend
$3,051
≈ $1,017 / month run rate
Impressions / Clicks
42,355 / 2,386
Overall CTR 5.6%
Hard conversions
22
$138.69 CPA
Optimization score (acct)
64.5%
Sellers 58.6% · Buyers 72.1%

Where the money went

Campaign Type Status Spend (90d) Impr Clicks CTR Conv CPA Budget Lost IS Rank Lost IS
Lyfe Realty Group_Sellers_Search_Google_Leads
3 ad groups active · 92 campaign-level negatives · MAXIMIZE_CONVERSIONS
Search ENABLED $2,168 23,633 697 2.95% 15 $144.52 4.1% 62.2%
Lyfe Realty Group_Buyers_Search_Google_Leads
1 ad group · 4 negatives · PRESENCE_OR_INTEREST geo ⚠️
Search ENABLED $444 9,514 1,484 15.60% 4 $111.11 62.0% 30.4%
Lyfe Realty Group_Performance Max_Google_Lead Generation
Ran Mar 10 – Mar 31, 2026 only · ENDED
PMax PAUSED $439 9,208 205 2.23% 3 $146.26 26.6% 38.2%
TOTAL $3,051 42,355 2,386 5.63% 22 $138.69
What jumps out Sellers loses 62% of impressions to ad rank (Quality Score) and only 4% to budget — meaning they could capture far more demand without spending more money, if Quality Score were fixed. Buyers loses 62% to budget — but raising the budget would just amplify the location-targeting leak. Fix the leak first, then add budget.

Cross-channel context (GA4, same 90 days)

Channel Sessions Engaged sessions Engagement rate Avg session dur GA4 conversions Implied conv rate
google / cpc39113334.0%93s143.6%
(direct) / (none)34615043.4%129s30.9%
google / organic1989849.5%162s73.5%
fb / paid1714325.1%34s84.7%
ig / social381847.4%175s00%
magazine / qrcode371232.4%149s00%
m.facebook.com / referral32721.9%8s00%
facebook.com / referral252184.0%26s00%
The 2,386 → 391 gap Google Ads logged 2,386 clicks for the period, but GA4 only attributes 391 sessions to google / cpc. That's an 84% gap. Some of this is normal (call-extension clicks, instant bounces, ad-blocker traffic), but the vast majority is from the Buyers campaign — 1,484 clicks → only ~55 sessions makes sense once you realize most of those clicks are from AREA_OF_INTEREST geographic matches (people not actually in Broward) that don't engage with the site. This is the smoking gun for the Buyers campaign issue.
Facebook is quietly outperforming Google for conversion rate fb / paid drives 8 conversions on 171 sessions (4.7%) vs. google / cpc at 14 conversions on 391 sessions (3.6%). And FB sessions only average 34 seconds — they're either bouncing fast or converting fast. Whoever runs the FB ads is finding a tighter audience match. Worth investigating: can we mirror that audience signal in Google's Customer Match or in-market segments?

3Campaign-by-campaign deep-dive

3.1 Sellers Search — the workhorse

This is the campaign carrying the account. $2,168 spend (71% of total), 15 of 22 hard conversions (68%), $144.52 CPA. Sellers has been live since 2025-12-11 and is the most mature campaign. It contains four ad groups:

  • Realtor / Real Estate Agent (Local) — $1,120 spend, 9 conv ($124 CPA). The best ad group in the account. CTR 3.1%. But the RSA has an ad strength of POOR.
  • Home Seller / Sell My House — $563 spend, 3 conv ($187 CPA). CTR 2.1%. RSA strength POOR.
  • Local Targeting (Southwest Broward Cities) — $485 spend, 3 conv ($162 CPA). CTR 3.6%. RSA strength AVERAGE.
  • CompetitorsPAUSED, no spend. RSA strength POOR. A missed opportunity to capture competitor brand searches.
The big finding for Sellers 62.2% of available impression share is being lost to ad rank, not budget. Sellers is showing up only 33.7% of the time it could be eligible — Quality Score is the bottleneck. Three of four active ads have ad strength POOR or AVERAGE. Average keyword Quality Score is 0.65 out of 10.

What this means

Without fixing Quality Score, more budget on Sellers wouldn't materially help — you'd just bid higher to compensate for low QS, paying $3.11+ per click instead of the $1.50–$2.00 a well-optimized account would pay. The fix is creative and landing-page-level, not budget-level.

3.2 Buyers Search — the leaky bucket

Newest campaign, only live since 2026-05-01 (3 weeks). $444 spend, 4 hard conversions. The metrics look superficially fine — until you decompose them:

  • CTR is 15.6% — 5x higher than Sellers. Should be a red flag, not a victory.
  • Average CPC is $0.30 — should be $4–$15 for real estate buyer keywords.
  • 1,484 clicks produced 4 conversions = 0.27% conversion rate (8x worse than Sellers).
  • 1,759 all_conversions reported — more than the click count, because most are "Local actions" engagement signals being triple-counted.
Why this is happening Geo targeting is set to PRESENCE_OR_INTEREST. The geographic_view breakdown shows the location_type for almost every Buyers row is AREA_OF_INTEREST — people who searched about Broward, not people in Broward. Of the campaign's $444 spend, approximately $409 (92%) went to AREA_OF_INTEREST matches. They click cheaply, don't land on the site, and don't convert. The low CPC isn't a win — it's a tell.

Compounding the problem: this campaign has only 4 negative keywords. The Sellers campaign has 92. Whoever set up Buyers did not copy the negatives over.

3.3 Performance Max — the (paused) original culprit

This was the campaign generating renter calls in February–March. It ran for 21 days (Mar 10 – Mar 31), spent $439, generated 3 conversions, and was paused. Performance was not appreciably worse than the Search campaigns on a pure CPA basis ($146 vs. $144 for Sellers), but the qualitative issue — renter inquiries because of Final URL Expansion picking up rental-themed pages or audience-signal drift — was severe enough to justify shutdown. Do not relaunch PMax until the account has 50–100 hard conversions per month to feed its algorithm; until then, Search is the safer channel for this budget.

4The 5 critical findings (ranked by ROI impact)

Ordered by projected dollar impact over the next 60 days. Each finding includes evidence, fix, and expected ROI lift.

C1. Buyers campaign location targeting is set to PRESENCE_OR_INTEREST — wasting ~92% of its budget

Critical
Impact
$370/mo recovered
Effort
5 minutes (one toggle)
Risk
Very low
Owner
Account manager
Evidence: Campaign settings query returned geo_target_type_setting.positive_geo_target_type = PRESENCE_OR_INTEREST for campaign id 23803957662. Geographic view shows location_type AREA_OF_INTEREST on the majority of Buyers rows. Spend by AREA_OF_INTEREST geo: Pembroke Pines $268.32 (880 clicks, 4 conv), Davie $79.45 (229 clicks, 0 conv), Weston $28.59 (96 clicks, 0 conv), plus smaller slices totaling ~$33. ~$409 of $444 (92%) is AREA_OF_INTEREST. GA4 confirms with the 84% click-to-session gap.
Fix: Open the Buyers campaign → Settings → Locations → Location options → set Target: "Presence: People in or regularly in your targeted locations" (matches the Sellers setting). The Sellers campaign already runs this way and demonstrates that PRESENCE-only targeting in this market yields a ~2% conversion rate, ~8x better than the Buyers campaign currently does. Conservative projection: same $444/quarter spend produces 15–25 conversions instead of 4. Effective CPA drops from $111 to $18–$30.

C2. 82% of paid keywords have Quality Score 0 or null — and it's costing 62% of Sellers' impression share

Critical
Impact
30–50% lower CPC
Effort
2–4 weeks
Risk
Low (additive changes)
Owner
Creative + landing-page
Evidence: Keyword_view query against the last 90 days returns 100 enabled keywords. Quality Score distribution: average 0.65 / 10, only 1 keyword at QS ≥ 7, 9 at QS 4–6, 8 at QS 1–3, and 82 keywords at QS 0 or null. Top spending keywords have catastrophic scores: "realtor near me" (BROAD, QS 4, $811 spend); "realtor Pembroke Pines" (BROAD, QS 2, $152); "realtor" (BROAD, QS 1, $114); "home values by address" (BROAD, QS 0, $94); "home real estate" (BROAD, QS 0, $65 — zero conversions). Sellers' Realtor ad group RSA has ad strength POOR. Sellers loses 62.2% of impression share to rank, only 4.1% to budget.
Fix: Three-pronged. (a) Rebuild the responsive search ads in the Realtor and Home Seller ad groups — each RSA needs 12–15 distinct headlines and 4 distinct descriptions, with location-specific variants ("Pembroke Pines Realtor", "Sell My Weston Home", "Top Davie Real Estate Agent"). Pin location-specific headlines to position 1 when targeting city-level keywords. Target an ad strength of Good or Excellent. (b) Improve landing page relevance/free-home-valuation/ works but doesn't speak to keyword themes; create variants for "Realtor near me" intent and "Sell my house" intent and direct campaigns there. (c) Add 8–12 new long-tail phrase-match keywords per ad group ("realtor Cooper City FL", "sell my house Pembroke Pines fast") instead of relying on broad match alone. Expected outcome: average QS rises to 5–6, average CPC drops from $3.11 to $1.80–$2.20, impression share rises from 33% to 60%+ on the same budget.

C3. Both campaigns use MAXIMIZE_CONVERSIONS with no target CPA — the bidder has no efficiency anchor

Critical
Impact
15–25% lower CPA
Effort
10 minutes + 30-day learning
Risk
Medium — watch closely first 2 weeks
Owner
Account manager
Evidence: Campaign query shows both campaigns have bidding_strategy_type = MAXIMIZE_CONVERSIONS with maximize_conversions.target_cpa_micros = 0 (no target set) and target_cpa.target_cpa_micros = 0. With no CPA target, Smart Bidding will spend any amount to get a conversion — meaning at current performance, the algorithm is willing to pay $144+ for a lead. That's fine for early ramp-up phases (and Buyers is only 3 weeks old), but Sellers has been running for 5 months with 15 conversions in the last 90 days — enough learning data to set a target.
Fix: On Sellers, set Target CPA = $120 (slightly below the current $144 to push the algorithm toward efficiency without starving it). Watch conversion volume for 14 days. If volume holds, step down to $100, then $85. On Buyers, do not set a target yet — fix the location targeting (C1) first, let the campaign accumulate 30+ conversions, then set Target CPA. Expected outcome on Sellers: CPA drops from $144 to $100–$110 with similar or slightly lower volume. Reinvest the savings in budget expansion once the funnel improvements (C4, C5) land.

C4. 94% of users who start a form do not finish it (66 form-starts → 4 form-submits)

Critical
Impact
3–6x more leads
Effort
2–3 weeks (UX/dev)
Risk
Low
Owner
Site/UX team
Evidence: GA4 events report for the period:
  • form_start: 66 events from 62 users
  • form_submission_new: 4 events
  • submit_lead_form: 4 events
  • form_valuation_submission_new: 2 events
Form abandonment rate: 93.9%. Industry benchmark for real estate lead-gen forms is 60–75% abandonment, so the site is 20+ percentage points worse than average. Mobile engagement rate on /free-home-valuation/ is 32% (278 sessions, mobile) vs. 50% on desktop (32 sessions). Mobile is where the traffic and the abandonment is.
Fix: (a) Audit the form on mobile — the most likely culprits are too many fields, no progress indicator, or a phone-keyboard field issue. (b) Convert to a multi-step (1 field per screen) design — known to lift completion 30–50% on real-estate valuation forms. (c) Add a "Save & come back" / SMS-link option for users who don't want to finish in one go. (d) Add real-time validation and clear inline error messages. (e) Implement abandoned form follow-up — if a user starts a form and provides email but doesn't finish, fire a transactional email 1 hour later. Conservative projection: lifting completion from 6% to 20% (still below industry leaders) takes 62 abandoned starts and converts ~10 of them — tripling monthly lead volume with zero added ad spend.

C5. Phone clicks are happening (27 in 90 days) but the conversion action is HIDDEN — Google's bidder can't see them

Critical
Impact
+15–25 visible conv/mo
Effort
15 minutes
Risk
Very low
Owner
Account manager
Evidence: Conversion_action query returns 11 actions. The action lyferealty.com (web) phone_click (id 7425424783) has status = HIDDEN, primary_for_goal = false, and include_in_conversions_metric = false — meaning Google's bidding algorithm cannot use it for optimization. Meanwhile GA4 records 27 phone_click events from 21 users in the last 90 days. Those are real, ad-driven phone calls (the click-to-call CTA's primary URL is tel:+19545947628, set in the listings plugin). The existing "Calls from ads" action (id 7399762254, type AD_CALL) only counts calls placed from call-extension ads — it does not count calls from the website.
Fix: Edit the lyferealty.com (web) phone_click conversion action: set status = ENABLED, primary_for_goal = true, include_in_conversions_metric = true, value = $50 (placeholder for downstream commission). Same for form_submission_new and form_valuation_submission_new if they aren't already counting. Once enabled, Google's bidding gains visibility into 15–25 extra conversion signals per month, which improves audience modeling and lowers CPA materially even with no budget change.

5High-priority findings

H1. Buyers campaign is missing the 90+ negative keywords that Sellers has

High
Impact
~$50/mo recovered
Effort
30 min — create shared list
Risk
Very low
Owner
Account manager
Evidence: Sellers campaign (id 23354895341) has 92 negative keyword criteria. Buyers (id 23803957662) has only 4 (miami association of realtors, doral isles, go section 8 broward by private landlords, Miami Board of Realtors). The account has zero shared negative keyword lists.
Fix: Create a shared negative keyword list called "Lyfe Realty — Universal Negatives" containing all 92 Sellers negatives plus the rental terms identified in C1. Attach it to both campaigns. Going forward, all negative additions go to this list, not to individual campaigns. This also future-proofs any new campaigns (a relaunched PMax, Brand, Display, etc.).

H2. Every keyword is BROAD match — and there's no Target CPA to keep broad match honest

High
Impact
25–40% better spend efficiency
Effort
1 week (paired with H3)
Risk
Medium
Owner
Account manager
Evidence: Keyword_view returned 100 keywords; 100% are BROAD match. Broad match in 2026 relies on Smart Bidding to compensate, but with only 22 conversions/90 days the algorithm doesn't have enough signal to be discerning. Result: $90+ spent on "home real estate" (BROAD, QS 0, 0 conv); $35 on "property realtor" (BROAD, QS 0, 0 conv); $34 on "houses for sale in pembroke pines" (BROAD, QS 0, 0 conv); $32 on "buy a house in davie" (BROAD, QS 0, 0 conv); $31 on "realtor for sale" (BROAD, QS 0, 0 conv); $28 on "find homes" (BROAD, QS 0, 0 conv).
Fix: Convert the top 20 historically-converting keywords to PHRASE match, keep "realtor near me" / "Pembroke Pines realtor" type queries on broad with Target CPA enforced (C3). Add 10–15 high-intent PHRASE-match keywords per ad group (e.g. "sell my house pembroke pines", "top realtor weston fl"). Pause the BROAD keywords with QS 0 that have spent > $20 and produced 0 conversions over the period — that's roughly 15 keywords, ~$280 in 90-day savings.

H3. Duplicate keywords splitting spend (e.g. "realtor near me" vs "Realtor near me" vs "realtor Near Me")

High
Impact
Cleaner signal, faster learning
Effort
1 hour
Risk
Very low
Owner
Account manager
Evidence: The keyword list contains multiple case variants of "realtor near me" (QS 4 + QS 5 + QS 5) which each accumulate impressions and conversions in separate buckets. Google's algorithm treats them as duplicates internally (case-insensitive), so the split is purely cosmetic but it confuses any human analyzing the data and prevents the algorithm from concentrating learning on a single criterion. Also: Davie Realtor (QS 2) and Davie realtor exist separately.
Fix: For each duplicate set, keep the variant with the highest QS, pause the others. Document the canonical casing convention (suggest: all lowercase except proper nouns) and apply going forward.

H4. GA4 ads_personalization_enabled = false — no remarketing audiences can be built

High
Impact
+10–20% lift via remarketing
Effort
5 min + audience config
Risk
Low (verify privacy policy)
Owner
Account manager
Evidence: list_google_ads_links on property 514093024 returns one link to customer 7679719496 with ads_personalization_enabled: false. Without this flag, GA4 audiences (e.g. "users who started but didn't finish a form", "users who viewed /free-home-valuation but didn't convert", "engaged users 30+ seconds") cannot be exported to Google Ads for remarketing.
Fix: Confirm the site privacy policy covers personalized advertising (most likely it does — but verify before flipping the switch). Then in GA4 Admin → Product Links → Google Ads → toggle Ads Personalization ON. Create three remarketing audiences: (a) "Form starters who didn't submit" (last 30 days), (b) "Viewed valuation page no conversion" (last 30 days), (c) "All site visitors past 90 days" (broad remarketing). Layer these as observation audiences on Sellers and Buyers immediately; consider a separate low-budget remarketing campaign once audience sizes hit 1,000+ users.

H5. ~$99 of 90-day spend went to rental-intent search terms despite the negative list

High
Impact
~$35/mo recovered + 1 less off-brand call
Effort
20 minutes
Risk
Very low
Owner
Account manager
Evidence: Searched the top-200-by-cost search terms (90-day window) for rental intent. Found:
  • rental agents for houses — $28.15, 1 click, 1 conversion (this is likely a renter call counted as a lead)
  • realtors that help find rentals — $15.81, 1 click, 0 conv
  • real estate for rentals near me — $13.79, 1 click, 0 conv
  • realtor near me for rentals — $11.29, 1 click, 0 conv
  • rent agents near me — $8.31, 1 click, 0 conv
  • rent to own homes in miramar florida — $7.44, 1 click, 0 conv
  • rent to own — $7.08, 2 clicks, 0 conv
  • rental realtors — $5.40, 1 click, 0 conv
  • realty companies for rentals — $1.97, 1 click, 0 conv
Total leaked to rental queries: ~$99 (3.2% of total spend).
Fix: Add these exact phrases to the shared negatives list as PHRASE match (not EXACT — current list is mostly EXACT which is why these slip through). Recommended phrase negatives to add: "for rentals", "rental agents", "rental realtors", "rent to own", "help find rentals", "realtors for rent", "agents for rent", "realty for rent", "rent agent". Also flag the "rental agents for houses" conversion as a likely false positive — check the lead source and quality.

H6. Multiple "Local actions" conversion actions marked as primary_for_goal = true — diluted goal signal

High
Impact
Cleaner bidding
Effort
5 minutes
Risk
Very low
Owner
Account manager
Evidence: Three "Local actions" actions are marked primary_for_goal: true: "Local actions - Other engagements" (ENGAGEMENT), "Local actions - Directions" (GET_DIRECTIONS), "Local actions - Website visits" (PAGE_VIEW). All have include_in_conversions_metric: false, so they don't pollute the main "Conversions" column, but their primary-for-goal flag can still affect "Account default" conversion goals used by some campaign types. The "all_conversions" inflation (2,350 vs 22 hard) is largely from these.
Fix: In Conversions → Summary, demote all three "Local actions" entries to Secondary. Keep "Calls from ads" (AD_CALL), "Home Valuation Form Submissions" (WEBPAGE), and the GA4-imported phone_click and form submissions (once enabled per C5) as the only Primary conversions. This shrinks the all_conversions noise and gives the bidder a cleaner target.

H7. Competitor brand searches are being paid for via broad match instead of captured deliberately

High
Impact
$50/mo recovered + brand defense
Effort
2 hours
Risk
Low
Owner
Account manager
Evidence: Top-200 search terms include $28 on "exp realty llc" (0 conv), $21 on "lennar homes broward" (0 conv), $18 on "team realty inc" (1 conv), $14 on "susan hesselman" (0 conv), $12 on "compass florida llc" (0 conv), and others. These competitor brand searches are matched by broad keywords with QS 0–2, so Lyfe shows up at the bottom of the page (high cost, low position). Meanwhile the "Competitors" ad group in the Sellers campaign — designed for exactly this — is PAUSED.
Fix: (a) Add the competitor brand terms (exp realty, lennar homes, team realty, susan hesselman, compass florida, century village realtor, etc.) as PHRASE-match negatives in the main Sellers ad groups so they stop being matched accidentally. (b) Re-enable the "Competitors" ad group with dedicated ad copy ("Looking at Compass? See How Teresa Schwarz Compares") and EXACT or PHRASE keywords for each competitor name. Set a separate $5–10/day budget cap and Target CPA at $200 (these clicks are expensive but the intent is very high). (c) Also add Teresa's own name "teresa schwarz" as an exact-match brand keyword on a brand-specific ad group — $18 in spend on brand searches with mediocre QS:5 should be cheaper.

H8. Sellers campaign Sunday early-morning (12am–7am) hours spend money with zero conversions

High
Impact
$25/mo recovered
Effort
5 minutes
Risk
Very low
Owner
Account manager
Evidence: Day-of-week × hour breakdown for Sellers shows Sunday 0:00–19:00 spent a cumulative ~$103 across 53 clicks with 0 conversions. Best-converting hours are weekdays 9–17h Eastern (12 of 15 conversions). Mobile is 95% of spend and conversions.
Fix: Add an ad schedule to Sellers (and Buyers, once C1 is fixed) restricting delivery to Monday–Saturday 7am–10pm and Sunday 10am–8pm. The lost demand at off-hours is mostly low-intent browsing. Reserve full 24/7 coverage for a future Brand-only campaign where staying present matters more than CPA.

H9. No call-extension on the website; "Clicks to call" conversion action is set up but not surfaced

High
Impact
+5–10 calls/mo tracked
Effort
1 hour
Risk
Very low
Owner
Site/UX team
Evidence: The Lyfe Realty WordPress listings plugin defines a click-to-call CTA at tel:+19545947628 as lyfe_cta_primary_url. GA4 records 27 phone_click events from 21 users in 90 days. The plugin's listing-card template surfaces this CTA on every listing card and the listing-detail dialog, but it only renders inside pages that use the [lyfe_listings] shortcode (homepage, listings pages). The high-traffic /free-home-valuation/ landing page (307 sessions, 13 conv) likely does not have a sticky tap-to-call button visible above the fold on mobile.
Fix: Add a sticky mobile call button to /free-home-valuation/, /home-buyers/, and the homepage, calling tel:+19545947628 with a phone_click dataLayer event fire. Pair with C5 (enable phone_click as a Primary conversion) so the bid algorithm sees the additional signal. Mobile is 95% of paid traffic — this is a 5x higher leverage point than desktop.

H10. ~$77 spent on near-zero-intent search terms (homestead exemption, property appraiser, etc.)

High
Impact
~$25/mo recovered
Effort
15 minutes
Risk
Very low
Owner
Account manager
Evidence: Top search terms include "homestead exemption broward" ($39, 0 conv), "broward county property appraiser phone number" ($33, 0 conv), "title company pembroke pines" ($15, 0 conv), "investment realtor" ($22, 0 conv on a Teresa-style brand), "pre foreclosure listing" ($27, 0 conv), "pre foreclosure realtor" ($22, 0 conv). These are tax/legal/investor searches, not Teresa's customer profile.
Fix: Add to the universal negative list (PHRASE match): "homestead exemption", "property appraiser", "title company", "pre foreclosure", "investment realtor", "real estate investor", "fix and flip", "wholesale real estate".

6Medium-priority findings & cleanup

M1. Two GA4-imported conversions are HIDDEN but still attached to the goal pool

Medium
lyferealty.com (web) purchase (id 7399762776) and lyferealty.com (web) form_valuation_submission_new (id 7400801464) are status HIDDEN, not include_in_conversions_metric, but still exist. They were probably auto-imported when the GA4 link was created and never cleaned up. Fix: Either delete them or repurpose form_valuation_submission_new as a Primary conversion (it already fires — 2 events in 90 days).

M2. Buyers ad group has only one RSA — no testing baseline

Medium
Each ad group has a single Responsive Search Ad. RSAs benefit from A/B comparison; running 2–3 RSA variants per ad group lets Google compare creative more aggressively. Fix: Duplicate each RSA, modify 3–4 headlines, run side by side. The "Realtor / Real Estate Agent (Local)" ad group with POOR ad strength is the highest priority for this.

M3. Conversion attribution model is GOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN on web actions but GOOGLE_ADS_LAST_CLICK on Local actions — inconsistent

Medium
Inconsistent attribution makes the all_conversions number harder to compare across sources. Fix: Standardize all Primary conversions to DATA_DRIVEN attribution (available since 2022 and superior to last-click for cross-channel real estate buying cycles).

M4. Click-through lookback window varies (30 vs 90 days) across actions

Medium
"Calls from ads" uses 30-day lookback; the GA4-imported form/phone actions use 90-day; "Local actions" use 30-day. Fix: Standardize on 90-day click-through and 1-day view-through for all lead-form and call actions — real estate buying decisions take weeks, not days.

M5. magazine / qrcode traffic (37 sessions) is producing zero tracked conversions

Medium
Teresa is running offline magazine advertising with QR code tracking — the UTM magazine / qrcode shows 37 sessions over 90 days with 0 conversions. The traffic is engaging (32% engagement, 149s avg duration), so they're real humans interested in the brand. Fix: Confirm the QR code lands on a dedicated landing page (not the homepage), put a clear primary CTA above the fold, and run the same form-completion analysis. This is a separate-channel issue but worth catching now.

M6. GA4 property is only 6 months old; data depth limited

Medium
Property created 2025-11-22. Comparisons against prior-year baselines aren't available until November 2026. Fix: Set up monthly automated GA4 → BigQuery export now so historical data is preserved at higher resolution than GA4's default 14-month retention. Cost is < $5/month at this volume.

M7. Property timezone is Etc/UTC — should be America/New_York

Medium
GA4 property details show time_zone: Etc/UTC. The Google Ads account is correctly America/New_York. The mismatch means GA4 "day" rolls over at 7pm Eastern in winter, 8pm in summer — distorting hour-of-day analysis. Fix: Switch the GA4 property timezone to America/New_York. Note this will affect historical data joining — make the change once, document the date.

7Growth opportunities (build on what works)

O1. The "Realtor / Real Estate Agent (Local)" ad group is the gold mine — pour gas on it

Opportunity
$1,120 spend, 9 conversions, $124 CPA — the single most efficient unit in the account. Houses 41% of Sellers spend and produces 60% of its conversions. Action: Once Quality Score is improved (C2), expand this ad group with more long-tail location keywords (Cooper City realtor, Plantation realtor, Sunrise real estate agent, etc.). Consider splitting into 3 ad groups by city tier so ad copy can be more specific.

O2. Facebook is converting at 4.7% vs Google at 3.6% — investigate why

Opportunity
FB/paid drives 8 of 14 channel conversions on 171 sessions at 25% engagement (low) and 34s avg duration (very low) — yet still converts well. This suggests FB is matching a very tight intent audience (likely sellers in specific zip codes). Action: Pull the FB ad set targeting from Meta Ads Manager, extract the audience definition (interests, lookalikes, custom audiences), and create a Google Customer Match list that mirrors it. Layer as an Observation audience on Sellers Search.

O3. Davie/Hollywood organic search drives traffic — combine with content + paid for compound effect

Opportunity
The post sitemap has 11 blog posts including market updates for Pembroke Pines, Weston, Southwest Broward. Google organic produces 7 conversions on 198 sessions in 90 days — a 3.5% conv rate, basically matching paid. Action: Use the existing blog as remarketing-audience fuel — visitors to "Buying a Home in Pembroke Pines 2026 Guide" are pre-qualified buyer intent. Add audience signal to the Buyers campaign once C1 (geo fix) is done.

O4. Brand defense: "teresa schwarz" only has 5 clicks at $18 spent — should be near-free

Opportunity
Direct brand search "teresa schwarz" shows up in the top-200 with QS 5, but spending $3.73 per click on a brand term is high. Search impression share data suggests competitors may be bidding on her name. Action: Create a dedicated "Brand" ad group with EXACT match keywords [teresa schwarz], [lyfe realty], [lyfe realty group], [lyferealty]. Use a stripped-down RSA with one strong call-to-action. Set a low manual CPC ($1.00–$1.50) or Max CPC bid cap. Expected outcome: brand CPC drops to < $1, capacity to track defensive impression share.

O5. The blog content on Pembroke Pines/Weston/Davie buyers is unused as audience fuel

Opportunity
11 blog posts, all targeted at Southwest Broward buyers/sellers, are sitting on the site. Once H4 (ads_personalization) is enabled, every visitor to those posts becomes a remarketing audience. Action: Create a "Blog readers — buyer intent" audience and a "Blog readers — seller intent" audience based on the URL paths. Use them as Observation audiences for 30 days to calibrate; switch to Targeted once size hits ~1,000 each.

O6. Performance Max can return safely — but only after these prerequisites

Opportunity
PMax is paused, correctly. It's a powerful channel but it needs (a) 50+ hard conversions/month to feed its model, (b) clean conversion tracking (C5), (c) tight Brand Exclusions and URL Exclusions to prevent renter-content leakage, and (d) Target CPA bidding (not Max Conversions). Action: Defer PMax relaunch to Q3 2026 (after the form-funnel fix and ads-personalization changes lift monthly conversions to 25–40). When relaunched: set URL expansion to OFF, exclude any blog post URLs that mention rentals or non-target topics, set Brand Exclusions for the competitor brand list, start at $15/day and scale only once Target CPA is being hit.

8Search term & keyword analysis

The 90-day search term log contains 200 unique terms consuming $939.41 in spend (30.8% of total). The remaining 69.2% is fragmented across thousands of long-tail single-impression queries. Here's the most relevant intent breakdown:

8.1 Top 25 search terms by 90-day cost (annotated)

COST
CLICKS
CONV
QUERY
$46.56
4
1
realtors near me SELLER
$42.38
1
1
real estate pembroke pines SELLER
$39.49
1
0
homestead exemption broward JUNK INTENT
$33.24
1
0
broward county property appraiser phone number JUNK
$28.31
1
1
exp realty llc COMPETITOR BRAND
$28.15
1
1
rental agents for houses RENTAL — LIKELY FALSE POSITIVE CONV
$26.75
1
0
pre foreclosure listing INVESTOR/BARGAIN
$22.27
1
0
pre foreclosure realtor INVESTOR
$21.62
2
0
investment realtor INVESTOR
$21.28
1
0
lennar homes broward COMPETITOR (BUILDER)
$20.57
2
0
real estate agents GENERIC SELLER
$20.25
1
0
davie realtor SELLER (LOCAL)
$19.01
1
0
home value miami SELLER (OUT OF MARKET)
$18.83
1
1
team realty inc COMPETITOR BRAND
$18.71
2
0
my home value today SELLER
$18.64
5
0
teresa schwarz BRAND
$16.74
2
0
real estate TOO BROAD
$15.81
1
0
realtors that help find rentals RENTAL
$14.87
1
0
title company pembroke pines ADJACENT
$14.87
2
0
susan hesselman COMPETITOR (PERSON)
$14.58
2
0
real estate florida TOO BROAD
$13.79
1
0
real estate for rentals near me RENTAL
$13.29
1
1
appraisal home SELLER (VALUATION)
$12.81
1
0
compass florida llc COMPETITOR
$12.36
2
0
home value estimator SELLER (VALUATION)

8.2 Spend by intent category (top 200 terms, 90 days)

IntentSpend% of top-200 spendConvVerdict
SELLER Direct seller intent (valuation, listing, sell my house)~$32034%7Core target
SELLER Realtor/agent local (Pembroke Pines, Davie, Hollywood, Broward)~$28030%5Core target — expand
COMPETITOR Competitor brand/person searches~$14015%3Recover via dedicated ad group (O4)
JUNK Investor/bargain/foreclosure/section 8~$10011%0Negate
RENTAL Rental-intent queries~$9911%1Negate (PHRASE match) — H5
JUNK Tax / appraiser / title / adjacent services~$809%0Negate — H10
BRAND Teresa Schwarz / Lyfe Realty~$192%0Move to dedicated brand ad group (O4)

Net of the recommended negatives and brand-defense restructuring, approximately $300+ over 90 days ($100/month, 10% of total spend) is recoverable as immediate efficiency, before any Quality Score work.

9The Quality Score crisis

This deserves its own section because it's the single biggest source of "invisible" waste in the account. Quality Score affects three things: the CPC you pay, your ad rank (whether you show up at all), and your eligibility for impression share. A QS of 0 is essentially a tax on every click and impression.

9.1 The distribution

QS 0 or null
82
82% of active keywords
QS 1–3
8
"Below average" tier
QS 4–6
9
"Average" tier
Only 1 keyword (1%) achieves QS ≥ 7. Industry median for real estate is QS 5; top quartile is QS 7+.

9.2 What drives Quality Score (and where Lyfe stands)

ComponentWhat it measuresLyfe's statusFix
Expected CTR Predicted CTR vs. competition for the same query Below average — overall Sellers CTR 2.95% is OK but specific keyword CTRs are wildly inconsistent because all keywords are BROAD Replace broad with phrase for known winners; use audience signals to refine match
Ad relevance How well ad copy matches the query and the ad group theme Below average — 3 of 4 active RSAs have ad strength POOR or AVERAGE Rebuild RSAs with 12–15 headlines and 4 descriptions. Pin location-specific headlines for local keywords (per C2)
Landing page experience Relevance, transparency, navigability, load speed of the landing page Average — /free-home-valuation/ is on-topic for valuation keywords but not for "realtor near me" type searches; one landing page is serving multiple intents Build keyword-themed landing variants. "Pembroke Pines Realtor" → /pembroke-pines-realtor/ ; "Sell My House" → /sell-my-house-broward/

9.3 What it's costing

At a QS of 5, the average CPC discount is roughly 35% vs. QS 1–3. Sellers' current average CPC of $3.11 with $2,168 spend = 697 clicks. At QS 5 the same spend would buy roughly 1,050–1,100 clicks (50% more impressions, 50% more clicks). Conservatively translating that to conversions at the current 2.15% Sellers conversion rate: 22–24 conversions instead of 15 — a 50% lift purely from QS improvement, with no budget change.

The work order Quality Score doesn't move in a day. Plan for 21–30 days from "fix the RSAs and landing pages" to "see the new QS in the report". Don't be alarmed if QS stays low for the first two weeks after the change — wait for enough impressions to accumulate. Track ad strength as the leading indicator (it updates within minutes); QS will follow.

10Conversion tracking — what's broken

The account has 11 conversion actions configured. Of those, 5 are usable, 3 should be repurposed, and 3 are noise. Cleaning this up unlocks bidding-algorithm visibility into 15–25 extra conversion signals per month.

Conversion actionCategoryStatusPrimary?In conv metric?Verdict
Calls from ads PHONE_CALL_LEAD (AD_CALL) ENABLED Yes Yes Keep
Home Valuation Form Submissions SUBMIT_LEAD_FORM (WEBPAGE) ENABLED Yes Yes Keep — assign $50 value (placeholder)
lyferealty.com (web) phone_click PHONE_CALL_LEAD (GA4_CUSTOM) HIDDEN No No Enable + Primary (C5)
lyferealty.com (web) form_submission_new SUBMIT_LEAD_FORM (GA4_CUSTOM) HIDDEN No No Enable as Secondary (deduplicate vs. WEBPAGE action)
lyferealty.com (web) form_valuation_submission_new SUBMIT_LEAD_FORM (GA4_CUSTOM) HIDDEN No No Enable as Secondary or delete (M1)
lyferealty.com (web) purchase PURCHASE (GA4_PURCHASE) HIDDEN No No Delete — not applicable to lead-gen account
Home Valuation (lyferealty.com/) SUBMIT_LEAD_FORM (WEBPAGE_CODELESS) REMOVED (was Yes) (was Yes) Leave removed
Clicks to call (Google Hosted) CONTACT ENABLED Yes No Keep — confirm dedupe with Calls from ads
Local actions - Other engagements ENGAGEMENT ENABLED Yes No Demote to Secondary (H6)
Local actions - Directions GET_DIRECTIONS ENABLED Yes No Demote to Secondary (H6)
Local actions - Website visits PAGE_VIEW ENABLED Yes No Demote to Secondary (H6)
The blind spot Google's bidding algorithm currently optimizes against 22 hard conversions over 90 days. If C5 is implemented (enable phone_click + GA4 form events), the bidder will see an additional 27 phone calls and 2 GA4 form submissions — bringing the visible conversion count from 22 to ~51. That's a 132% increase in training signal, with zero new ad spend. The bidder learns faster, audience modeling improves, and CPA drops as a natural consequence.

11Geographic intent: where the money is leaking

11.1 Google Ads geographic spend by city (90 days, top spend)

CampaignCity (geo target)Location typeSpendClicksConv
SellersPembroke Pines (FL)PRESENCE$671.731768
SellersWeston (FL)PRESENCE$549.941955
SellersDavie (FL)PRESENCE$525.581532
BuyersPembroke Pines (FL)AREA_OF_INTEREST$268.328804
SellersHollywood (FL)PRESENCE$161.54550
PMax (paused)Davie (FL)PRESENCE$114.51541
PMax (paused)Weston (FL)PRESENCE$108.72531
SellersMiramar (FL)PRESENCE$91.34320
PMax (paused)Pembroke Pines (FL)PRESENCE$89.53481
SellersSunrise/Plantation (FL)PRESENCE$87.77460
BuyersDavie (FL)AREA_OF_INTEREST$79.452290
BuyersWeston (FL)AREA_OF_INTEREST$28.59960

The pattern is striking: every Sellers row is LOCATION_OF_PRESENCE (people physically in the city). Every Buyers row is AREA_OF_INTEREST (people who searched about the city). Pembroke Pines for Sellers: $672 → 8 conversions. Pembroke Pines for Buyers: $268 → 4 conversions but the location_type tells you those 4 are likely incidental — most of the 880 clicks didn't even land on the site as a session.

11.2 GA4 city breakdown (google/cpc, 90 days)

For corroboration, GA4 attributes the following cities to google / cpc traffic that did reach the site:

CitySessionsEngagedConversionsComment
Miami, FL50150Outside SW Broward target — 0 conv
Pembroke Pines, FL48180Target market — engagement but no conv
Miramar, FL3280Target market — 25% engagement is low
Davie, FL1840Target market
Hollywood, FL1860Adjacent target
Fort Lauderdale, FL1772Outside SW Broward but converting
Plantation, FL1671Central Broward — worth a city-specific keyword
Weston, FL1050Target market
Miami Gardens, FL522South Broward edge — best conv rate of any city
Sunrise, FL521Edge market
Hallandale Beach, FL211SE Broward — high conv per session
Tampa, FL510Out of market
Orlando, FL510Out of market
New York, NY410Out of market
Dubai / Barcelona / Belo Horizonte / Jaipur930Bot traffic — all from Buyers AREA_OF_INTEREST
Important nuance The cities with the most conversions per session are Miami Gardens, Hallandale Beach, Plantation, and Fort Lauderdale — none of which are core SW Broward. This could be (a) imperfect GA4 location detection (cell-tower estimation can off by 5–10 miles), (b) a real signal that nearby-but-adjacent markets are converting better than the core target, or (c) noise on small samples. After C1 is fixed, watch this for 30 days before adjusting geo targeting boundaries.

12Landing page & form funnel analysis

12.1 The current funnel (90 days, google/cpc)

StageCountDrop-off from priorNote
Google Ads clicks2,386Includes 1,484 Buyers clicks that mostly never reach the site
GA4 sessions (google/cpc)391-84%The Buyers AREA_OF_INTEREST gap (C1)
Engaged sessions133-66%34% engagement is below median for real estate (45–55%)
Sessions landing on /free-home-valuation/30779% of google/cpc sessions land here
form_start events6621.5% of valuation-page sessions start the form
form_submission_new events4-94%The funnel breaks here (C4)
Google Ads "Home Valuation Form Submissions" conv9–12WEBPAGE-tag conversion fires more than GA4 form event — investigate dedupe

12.2 Landing page performance breakdown

Landing pageSessionsEngagedEngagement rateAvg session durConv
/free-home-valuation30710233.2%83s13
/home-buyers511733.3%189s1
/271451.9%57s0
(not set)500%0s0
/southwest-broward-real-estate-market-update-january-2026...100%0s0

12.3 Device split on the workhorse page

PageDeviceSessionsEngagement rateAvg engagement time
/free-home-valuation/mobile27832.0%12.3s/session
/free-home-valuation/desktop3250.0%13.7s/session
/free-home-valuation/tablet333.3%8.0s/session
The form is killing the account on mobile. 278 mobile sessions on the valuation page produce only 32% engaged sessions. Desktop, on a sample of 32, hits 50%. That gap is almost certainly form UX. The mobile valuation form is the single highest-leverage place in the entire customer journey — every percentage point of completion lift is worth 5–8 extra leads per month. This is the most important non-account-settings finding in the audit.

13Cross-channel comparison

The agency is running Google Ads and (at least) Facebook Ads in parallel, plus organic and a magazine QR-code campaign. Looking at all paid/organic channels by efficiency:

ChannelSessionsConvConv rateEngagementRead
fb / paid17184.7%25.1%Highest converting paid channel
google / cpc391143.6%34.0%The volume engine; CR can rise with funnel fixes
google / organic19873.5%49.5%Free conversions — invest in SEO
(direct) / (none)34630.9%43.4%Brand awareness traffic — expected low CR
ig / social (organic)3800%47.4%Brand presence, not direct response
magazine / qrcode3700%32.4%Offline → online; needs a dedicated landing page (M5)
m.facebook.com / referral3200%21.9%Likely organic posts

Implications for budget allocation

  • FB Paid is the highest-converting paid channel (4.7% CR vs Google's 3.6%) but only 30% of Google's session volume. Without knowing the FB ad spend, it's hard to compare CPA — but the channel deserves an audit of its own. Pull from Meta Ads Manager if not already accessible.
  • Google organic is essentially free conversions at 3.5% CR. Doubling down on the existing Pembroke Pines/Weston/Davie blog content is a low-risk, high-margin play. Each blog post that ranks for "[city] real estate market 2026" is a free lead-gen funnel.
  • Direct traffic (346 sessions, 3 conv) reflects brand awareness from Teresa's offline presence (BBB, magazine, word of mouth). Low CR is normal here. Don't optimize it.
  • The magazine / qrcode source is interesting — it suggests Teresa is paying for print ads that drive site visits but no conversions. If she's paying $500–$5,000/month for print, this is a separate audit worth doing.

14IDX integration & rental risk audit

This section closes the loop on the original audit trigger (renter calls) by examining the website's MLS integration.

14.1 Integration architecture

LayerComponentWhat it doesStatus
MLS sourceMIAMIRE via Bridge API (api.bridgedataoutput.com)Provides listing data via OData/RESTStandard
FilterListOfficeKey eq 'b48c8f8a8971a027fb2c9110617e7e6e'Restricts to Lyfe Realty's own office listings only — does not pull all MLS listingsCorrect scope
Property type filterNonePulls all PropertyType values (Residential, Residential Lease, Commercial Sale, etc.)Pulls everything Teresa's office lists, including leases if any exist
Status filterNonePulls all StandardStatus values (Active, Pending, Closed, etc.)Pending/Closed are useful for sold-history showcase
WordPress CPTlyfe_listingpublic=false, publicly_queryable=false, has_archive=false, rewrite=falseListings are not exposed as individual crawlable URLs
SitemapRank Mathpost-sitemap, page-sitemap, local-sitemap only — no listing URLsNo listing URLs in sitemap
Display[lyfe_listings] shortcodeRenders listings inside pages that embed the shortcode; supports type=residential, type=commercial, type=leaseLease support exists if shortcode is used with type=lease or no type filter

14.2 What this means for ad targeting

  • PMax's Final URL Expansion cannot land on individual listing pages — they're not publicly queryable and not in the sitemap. ✓ This is good defense.
  • Listings shown on the homepage or any page using the shortcode could include leases if Teresa's office has any active lease listings and the shortcode is configured with type=all or type=lease. Need to inspect the shortcode usage on the live site to confirm — recommend checking the homepage, /home-buyers, and any "Active Listings" page.
  • If lease listings ever appear on the site, PMax could pick them up via Final URL Expansion → match to rental-intent queries. This is the original failure mode.

14.3 Recommendations

  1. Add a PropertyType filter at the API level. Modify class-bridge-api.php line 39 to also exclude lease properties at the source: $filter = "ListOfficeKey eq '{$office_key}' and PropertyType ne 'Residential Lease'"; — this guarantees lease listings never enter the database in the first place.
  2. Audit live shortcode usage on the homepage and other pages — confirm any [lyfe_listings] embed has type="residential" set explicitly, never type="all" or no type at all.
  3. When PMax is relaunched (per O6), set URL Exclusions to anything that could ever show listings (e.g. /listings/* if such a path exists) until you've confirmed the shortcode hygiene.
  4. Document the safe deployment — these guardrails should be in a README the next developer sees, since the renter-call incident shows this is easy to regress.
Net read on the renter problem At the campaign level, the leak is closed (PMax paused, 92 Sellers-side negatives, PRESENCE-only geo on Sellers). At the site level, the architecture is mostly defensible (CPT not publicly queryable, no listing URLs in sitemap). The remaining residual risk is the shortcode usage — fixable with a 1-line API filter and a one-time audit of the live pages.

1530 / 60 / 90 day implementation roadmap

Days 1–14 · "Stop the bleeding"
Phase 1 — Quick wins
  • Fix Buyers campaign geo: PRESENCE_OR_INTERESTPRESENCE (C1)
  • Enable phone_click and form_submission conversions; demote Local Actions to Secondary (C5, H6)
  • Create shared negative keyword list "Lyfe — Universal Negatives" with all 92 Sellers negatives + 9 rental phrase negatives (H1, H5) + 7 junk phrase negatives (H10)
  • Attach the shared list to Sellers and Buyers
  • Add ad schedule: Mon–Sat 7am–10pm, Sun 10am–8pm (H8)
  • Pause the 15 worst-performing broad keywords (QS 0, > $20 spent, 0 conv)
  • Deduplicate the casing variants of "realtor near me" / "Davie Realtor" / etc. (H3)
  • Toggle GA4 Ads Personalization to ON; create 3 remarketing audiences (H4)
  • Add PropertyType filter to class-bridge-api.php; audit live shortcode usage
Days 15–45 · "Lift the floor"
Phase 2 — Creative & funnel
  • Rebuild RSAs for Realtor/Real Estate and Home Seller ad groups — target Good/Excellent ad strength (C2)
  • Add 10–15 long-tail PHRASE-match keywords per ad group (H2)
  • Re-enable Competitors ad group with EXACT/PHRASE competitor brand keywords + Target CPA $200 (H7)
  • Create dedicated Brand ad group for "teresa schwarz" / "lyfe realty" (O4)
  • Set Sellers bid strategy: Target CPA = $120, monitor 14 days (C3)
  • Build keyword-themed landing variants for top intents (Pembroke Pines Realtor, Sell My House, Top Davie Real Estate Agent)
  • Form funnel overhaul: convert /free-home-valuation/ form to multi-step mobile-first; add real-time validation; add abandoned-form follow-up email (C4)
  • Add sticky mobile click-to-call button to /free-home-valuation/, /home-buyers/, and homepage (H9)
  • Standardize click-through lookback to 90 days across all lead actions (M4)
  • Fix GA4 timezone to America/New_York (M7)
Days 46–90 · "Compound the gains"
Phase 3 — Expand & scale
  • Step Sellers Target CPA down: $120 → $100 → $85, based on volume holding
  • Build out a "Buyer in-market" Customer Match list mirroring the FB audience that's converting well (O2)
  • Set up GA4 → BigQuery export for long-horizon data preservation (M6)
  • Launch a low-budget Remarketing campaign ($5–10/day) targeting the 3 audiences from Phase 1
  • Expand the Realtor ad group with Cooper City / Plantation / Sunrise city-specific groups (O1)
  • Test 2–3 RSA variants per ad group (M2)
  • Begin planning PMax relaunch — only when monthly hard conversions ≥ 30 and form completion rate > 15% (O6)
  • Audit Facebook Ads in parallel; align Customer Match / lookalike strategy across both platforms

16Projection: current vs. optimized

This is a deliberately conservative model. It assumes only the C1–C5 and H1–H10 changes are implemented (Phase 1 + most of Phase 2). It does not assume PMax relaunch, FB cross-pollination, or any budget increase.

MetricCurrent (90-day actuals)Optimized (60-day projection)Lift
Monthly spend$1,017$1,017 (unchanged)
Wasted spend (rental, junk, OOM)~$200/mo~$40/mo-80%
Effective working spend$817/mo$977/mo+$160/mo working
Avg CPC$1.28$0.80–$1.00-25 to -40%
Monthly clicks (paid)~795~1,200+50%
Click → Session rate (GA4 attribution)16%70%++4x (mostly C1)
Form completion rate6%18–22%+3x (C4)
Visible conversions / month7.325–40+3 to +5x
Effective CPA$138$25–$40-70 to -80%

The "+3 to +5x conversions" lift breaks down roughly as:

  • +15–20 conversions/month from form-funnel fix (C4) — converting existing form-starts
  • +5–10 conversions/month from phone_click being enabled (C5) — making previously invisible signal visible
  • +3–6 conversions/month from C1 (geo fix) restoring Buyers efficacy
  • +2–4 conversions/month from H4 (remarketing) re-engaging abandoners
  • Net of overlaps and modeling uncertainty: +15–25 net new conversions/month
The compounding play Once monthly conversions hit ~30 reliably, Target CPA bidding can move toward $50, the Buyers campaign budget can grow to $30–$40/day (matching Sellers), and PMax can come back online with proper guardrails. At that point, the same workflow that currently produces 7 conversions/month could realistically produce 50–80, at a CPA that supports a 10–20x ROI on each closed deal. The ceiling is not Google Ads — it's the team's ability to follow up on inbound leads.

17Implementation checklist

Every finding above, restated as an actual ticket. Tick them off as the team executes. Sorted by phase and dependency.

Phase 1 — Quick wins (Days 1–14)

  1. [ ] (C1) Buyers campaign → Settings → Location options → set Target to "Presence: People in or regularly in your targeted locations"
  2. [ ] (C5) Conversions → edit lyferealty.com (web) phone_click → set status ENABLED, primary_for_goal=true, include_in_conversions_metric=true, value=$50
  3. [ ] (H6) Conversions → "Local actions" (Engagement, Directions, Website visits) → demote all three to Secondary
  4. [ ] (H1) Tools → Shared library → Negative keyword lists → create "Lyfe — Universal Negatives"
  5. [ ] (H1) Migrate all 92 Sellers campaign-level keyword negatives into the shared list
  6. [ ] (H5) Add PHRASE-match negatives: "for rentals", "rental agents", "rental realtors", "rent to own", "help find rentals", "realtors for rent", "agents for rent", "realty for rent", "rent agent"
  7. [ ] (H10) Add PHRASE-match negatives: "homestead exemption", "property appraiser", "title company", "pre foreclosure", "investment realtor", "real estate investor", "fix and flip", "wholesale real estate"
  8. [ ] (H7) Add PHRASE-match negatives for competitor brands: "exp realty", "lennar homes", "team realty", "compass florida", "susan hesselman", "century village", "berkshire hathaway", "keller williams"
  9. [ ] (H1) Attach the shared list to Sellers + Buyers
  10. [ ] (H8) Both campaigns → Ad schedule → Mon–Sat 7am–10pm ET, Sun 10am–8pm ET
  11. [ ] (H2) Pause keywords with QS=0, spend > $20, 0 conv over 90 days (≈15 keywords)
  12. [ ] (H3) Identify case-duplicate keywords; keep highest QS variant, pause others
  13. [ ] (H4) GA4 Admin → Product Links → Google Ads → toggle Ads Personalization ON
  14. [ ] (H4) Create 3 GA4 audiences for remarketing (form starters, valuation viewers, all visitors)
  15. [ ] (IDX) Edit includes/class-bridge-api.php line 39: append and PropertyType ne 'Residential Lease' to filter
  16. [ ] (IDX) Audit live pages for [lyfe_listings] shortcode usage; ensure type="residential" set explicitly

Phase 2 — Creative & funnel (Days 15–45)

  1. [ ] (C2) Rebuild RSA in "Realtor / Real Estate Agent (Local)" ad group — 12+ headlines, 4 descriptions, pin local-city headlines for city queries
  2. [ ] (C2) Rebuild RSA in "Home Seller / Sell My House" ad group similarly
  3. [ ] (C2) Create keyword-themed landing page variants: /pembroke-pines-realtor/, /sell-my-house-broward/
  4. [ ] (H2) Add 10–15 long-tail PHRASE-match keywords per ad group
  5. [ ] (H7) Re-enable "Competitors" ad group with EXACT/PHRASE competitor keywords, $5–10/day budget, Target CPA $200
  6. [ ] (O4) Create new "Brand" ad group: EXACT [teresa schwarz], [lyfe realty], [lyfe realty group], [lyferealty], with manual CPC cap $1.50
  7. [ ] (C3) Sellers → bidding → set Target CPA = $120 (after 7 days of Phase 1 data)
  8. [ ] (C4) Form funnel: convert /free-home-valuation/ form to multi-step (1 field per screen on mobile)
  9. [ ] (C4) Add real-time validation + inline errors
  10. [ ] (C4) Add abandoned-form follow-up email (fires 60 min after form_start with no submission, if email field was filled)
  11. [ ] (H9) Add sticky mobile tap-to-call button to /free-home-valuation/, /home-buyers/, /
  12. [ ] (M4) Standardize click-through lookback to 90 days, view-through to 1 day on all lead conversion actions
  13. [ ] (M7) GA4 Admin → Property → Property details → set time zone to America/New_York
  14. [ ] (M3) Conversion actions: set attribution to Data-driven on all Primary conversions
  15. [ ] (M1) Delete or repurpose HIDDEN conversion actions (web purchase, web form_valuation_submission_new)

Phase 3 — Expand & scale (Days 46–90)

  1. [ ] (C3) Step Sellers Target CPA: $120 → $100 (if volume holds) → $85
  2. [ ] Set Buyers Target CPA = $80 (after C1 fix matures, conversion volume stabilizes)
  3. [ ] (O2) Audit Facebook Ads audience signals; build matching Customer Match list in Google Ads
  4. [ ] Launch dedicated low-budget Remarketing campaign ($5–10/day) targeting the 3 Phase 1 GA4 audiences
  5. [ ] (O1) Split "Realtor / Real Estate Agent (Local)" ad group by city tier (Pembroke Pines, Weston, Davie as separate ad groups)
  6. [ ] (O5) Create "Blog readers — buyer intent" and "Blog readers — seller intent" GA4 audiences from URL paths
  7. [ ] (M2) Add 2nd RSA variant to each enabled ad group for A/B
  8. [ ] (M5) Audit magazine QR code → confirm dedicated landing page with clear CTA
  9. [ ] (M6) GA4 Admin → Data Streams → BigQuery Link → enable daily export
  10. [ ] (O6) Begin PMax relaunch planning only if monthly conversions ≥ 30 and form completion rate > 15% sustained for 30 days

18Appendix — raw data references

Source queries

  • Google Ads MCP: googleads/google-ads-mcp via Claude Code, customer 7679719496, login_customer_id 5754939043
  • GA4 MCP: googleanalytics/google-analytics-mcp, property 514093024
  • Audit period: 2026-02-22 to 2026-05-22 (90 days)
  • Report generated: 2026-05-22

Identifiers cited in this audit

ObjectIDNote
Google Ads customer7679719496Lyfe Realty Group, USD, America/New_York
MCC (Winkode)5754939043Manager account
GA4 property514093024lyferealty.com (created 2025-11-22)
Sellers Search campaign23354895341ENABLED, Started 2025-12-11, $30/day
Buyers Search campaign23803957662ENABLED, Started 2026-05-01, $20/day, PRESENCE_OR_INTEREST ⚠️
Performance Max campaign23643708406PAUSED, Ran Mar 10–31, 2026
"Calls from ads" conv action7399762254AD_CALL, Primary, ENABLED
"Home Valuation Form Submissions" conv action7425418240WEBPAGE, Primary, ENABLED
"phone_click" conv action7425424783HIDDEN — enable per C5
GA4 ↔ Ads link13061687366ads_personalization_enabled = false ⚠️
Bridge office keyb48c8f8a8971a027fb2c9110617e7e6eMIAMIRE feed scoped to Lyfe Realty's office only

Geo target reference

geoTargetConstants/...City
9051808Pembroke Pines, FL
9052452Weston, FL
1015166Davie, FL
9052682Hollywood, FL
9195057Sunrise / Plantation, FL
1015230Miramar, FL
9194518Cooper City, FL
9052942Hallandale Beach / Aventura, FL
21142Florida (state)

Method notes & limitations

  • Two MCP field-name gaps were encountered. The MCP version installed does not expose campaign.url_expansion_opt_out or customer_negative_criterion.keyword.text as selectable fields. URL expansion settings could not be queried directly; the analysis instead infers Final URL Expansion behavior from search-term and landing-page patterns. Account-level keyword negatives were inferred to be absent from the empty result on customer_negative_criterion + empty shared_set + empty shared_criterion queries. These do not affect the audit conclusions but should be validated via the Google Ads UI when implementing the recommendations.
  • The conversion count discrepancy (22 hard vs 2,350 all_conversions) is normal — all_conversions includes "Local actions" engagement events that are not in the optimizer's primary metric. The audit's "conversions" figure refers to the strict count (form submissions + tracked calls).
  • Quality Score readings come from keyword_view for the period. Keywords with insufficient impressions return null QS; these are counted in the "QS 0 or null" bucket. The recommendation to "rebuild RSAs and landing pages" is the same regardless of whether the bucket is "true zero" or "not enough data" — both indicate the account hasn't earned its Quality Score yet.
  • Projection numbers are conservative midpoints. The model uses lower-bound estimates from published case studies (e.g. multi-step form lifts 30–50% — we used 30% effective; QS 5 vs QS 1 = 35% CPC discount — we used 25% applied). Actual results may exceed projections.