Stacked daily spend across both platforms. Use the date preset buttons above to zoom in on recent performance.
Google Ads purchase-conversion value per day (Windsor conversions_value — reconciles 90/90 days with Ryze / the Google Ads API). Purchase conversions only, not inflated secondary actions.
Google Ads purchase ROAS (conversions_value ÷ spend), smoothed 7-day window. Break-even 0.8559× (red dashed), floor 1.7119× (burgundy dashed), target 2.5678× (olive dashed). Interim TOF floor 2.2255× applies to prospecting only. Thresholds are GA4-true and come from engine/switch.py.
XCellar (red) vs SalesGeneral (green). The on/off pattern in XCellar prevents smart bidding from learning effectively.
Budget allocation across TOF (awareness), MOF (consideration), and BOF (conversion) campaigns.
Click column headers to sort. ROAS bar scaled to 5.0× maximum. Revenue/ROAS uses conversions_value — Google Ads purchase-conversion value, reconciled 90/90 days with Ryze / the Google Ads API. Excludes the inflated secondary-conversion actions in all_conversions_value.
⚠ Conversion data prior to 1 Dec 2025 is unreliable — Revenue, ROAS and Orders for campaigns active before that date reflect corrupted tracking.
| Campaign | Type | Spend (R) | Revenue (R) (purchase) | ROAS (purchase) | Orders | Avg Order (R) | Status |
|---|
Attributed revenue via omni_purchase ROAS (7-day click / 1-day view window). May overstate vs last-click. Use as directional signal alongside WooCommerce reporting.
| Campaign | Spend (R) | Attributed Rev (R) | ROAS | Funnel |
|---|
Sessions, bounce rate, engagement rate, and purchases from GA4 property. Covers the full data window in dashboard_data.json.
Total sessions per day from GA4. Reflects all traffic sources, not just paid ads.
Stacked area showing session volume split by device type.
Sessions, bounce rate, engagement rate, and purchases per landing page.
| Landing Page | Sessions | Bounce % | Engagement % | Purchases |
|---|
conversions_value, reconciled 90/90 days with Ryze / the Google Ads API) ÷ spend. all_conversions_value (all conversion actions, ~4× inflated) is pulled for reference only and not shown. Meta ROAS = omni_purchase (7-day click) attributed revenue ÷ spend — treat as directional, not definitive.