Real Estate School for Success · Live snapshot June 22, 2026 (14:18 UTC)
WooCommerce Order (Offline) and offline (Upload)) are REMOVED in Google Ads. In-person classes are roughly 69% of the business, and ~$22,153 of the $40,821 monthly revenue is completely invisible to Smart Bidding.neon-live branch in ress-admin) captures GCLID at lead → matches to the Woo order by email → uploads offline conversion with order value. Deploy it, recreate the offline conversion action in Ads, and Smart Bidding gets the full picture.WooCommerce Order (Offline) and offline (Upload)) are REMOVED in Google Ads. In-person + phone sales are ~54% of revenue, so Smart Bidding is optimizing on barely half the picture. Fix = recreate a primary offline action and feed it via the Lead Conversion Agent (GCLID → order match). Do not bid up the rank-lost headroom until tracking is restored.
The gap between green (real revenue) and orange (what Google records) is the missing in-person/offline credit. Closing it is the whole game. Reconciliation: Woo $40,821 vs. Ads-attributed $18,668 = 46% tracked coverage.
| Window | Revenue | Orders | AOV | Rev / day |
|---|---|---|---|---|
| Last 7 days | $14,127.99 | 61 | $231.61 | $2,018 |
| Last 14 days | $21,146.99 | 102 | $207.32 | $1,511 |
| Last 30 days | $40,820.98 | 191 | $213.72 | $1,361 |
| Last 60 days | $73,579.96 | 325 | $226.40 | $1,226 |
| # | Product | Units | Revenue | % of 30d |
|---|---|---|---|---|
| 1 | Online SC 90-Hour Pre-Licensing — Package Deal flagship | 18 | $11,592 | 28% |
| 2 | Online 10-Hour CE Package 2025-26 volume leader | 78 | $6,942 | 17% |
| 3 | Real Estate Principles Unit I — 60hr (in-person) | 13 | $6,015 | 15% |
| 4 | Online Property Management | 20 | $5,500 | 13% |
| 5 | Advanced RE Principles Unit II — 30hr (in-person) | 9 | $3,561 | 9% |
| 6 | Property Management — 30hr (in-person) | 5 | $1,875 | 5% |
| 7 | Online 10-Hour BIC CE Package 2025-26 | 17 | $1,683 | 4% |
| 8 | Online Unit I — 60-Hour Pre-Licensing | 4 | $1,500 | 4% |
| 9 | Online Unit II — 30-Hour Pre-Licensing | 2 | $598 | 1% |
| 10 | CE — Legal Hot Tips (4hr Core) | 13 | $520 | 1% |
| Campaign | Cost | Conv | Conv Value | ROAS | Impr. Share |
|---|---|---|---|---|---|
| Real Estate School (Audience Enh.) | $2,991 | 61.1 | $11,772 | 3.9× | 22% |
| Property Mgt only | $1,072 | 20.5 | $4,388 | 4.1× | 42% |
| Fresh Start — Real Estate License high ROAS | $120 | 2.9 | $2,508 | 20.9× | 10% |
| Brand: Search | $28 | 0.0 | $0 | — | 100% |
| Total / blended | $4,211 | 84.5 | $18,668 | 4.4× | ~22% |
| Conversion Action | Type | Status | 30d |
|---|---|---|---|
| Purchase primary | Web pixel | Enabled | 83.5 |
| GA4 (web) purchase | GA4 | Enabled | 48.6* |
| Call from AdWords | Ad call | Enabled | 13* |
| Lead form — Submit | Lead form | Enabled | 0 |
| WooCommerce Order (Offline) was primary | Offline upload | REMOVED | 0 |
| offline (Upload) | Offline upload | REMOVED | 0 |
*all-conversions (secondary signals). The web Purchase pixel is firing correctly. Two offline actions are REMOVED — that's the gap.
Auto-tagging is already on, so GCLIDs are flowing on every click — the plumbing exists, it just needs to be reconnected. This is exactly what the Lead Conversion Agent (built, on the neon-live branch) automates:
lead_discount_states.gclid, migration 003 on Neon).lead_conversion_match()), attaching the GCLID and the real dollar value.Once tracking is whole, the impression-share data says the main campaigns are demand-constrained by rank, not budget — i.e. room to scale efficiently:
| Campaign | Impr. Share | Lost to rank | Read |
|---|---|---|---|
| Real Estate School (main) | 22% | ~74% | Big headroom — but don't bid up until offline tracking is restored. |
| Property Mgt only | 42% | ~58% | Efficient (4.1× ROAS); room to grow. |
| Fresh Start — RE License | 10% | ~90% | 20.9× ROAS on $120 — strongest scale candidate. |
| Brand: Search | 100% | — | Saturated; keep bids low (defensive only). |
From the live 28-product catalog export (research/woocommerce-products-2026-06-22.md). These are revenue-leak and data-hygiene items — none are outages, but a few are leaking money or muddying attribution right now. Sorted by priority.
| Priority | Issue | Product(s) | Detail & fix |
|---|---|---|---|
| P1 | $0 + selling | Property Manager in Charge | Published with 5 lifetime sales at $0.00, no SKU, and currently outofstock — so it's been given away and now can't even be bought. Comparable PM courses sell at $275–$375. Fix: set a price (~$349), restock, assign a SKU — or unpublish if retired. This is the only literal active leak. |
| P2 | near-dup | Real Estate License Package Deal ($655) | A near-duplicate of the $644 flagship ("Online SC 90-Hour Pre-Licensing — Package Deal"), 0 sales, no SKU. Two almost-identical $644/$655 packages split SEO authority and confuse buyers at the highest-value price point. Fix: retire it and 301-redirect to the $644 flagship, or repurpose it as a deliberately-differentiated tier. |
| P2 | stock | 3 products: PM in Charge · Broker Package Deal (60hr) · Real Estate Continuing Education | Published but outofstock — they appear in catalog/search and on ad landing pages, then can't be purchased. Fix: mark in-stock (digital courses should never be out of stock) or unpublish. |
| P3 | $0 dead SKU | Real Estate Continuing Education | $0, outofstock, 0 sales, no SKU — a placeholder shell. Fix: unpublish; it adds nothing but a broken catalog entry. |
| P3 | SKU gaps | 10 of 28 products (mostly in-person) | No SKU on Unit I/II in-person, PM courses, broker packages, study guides, the $655 package, etc. Why it matters: SKUs are the clean key for revenue reporting and for the Lead Conversion Agent's order-match join — missing SKUs weaken both. Fix: assign a consistent SKU scheme (e.g. RE-U1-IP, CE-10HR). |
| # | Product | Category | Price | Stock | SKU | Lifetime Sales | Flags |
|---|