Marketing Dashboard
Comprehensive marketing dashboard tracking CPA across Google Ads and Facebook with BigQuery data warehousing.
The Marketing Dashboard consolidates advertising performance data from Google Ads and Facebook into a single, unified view powered by BigQuery. It tracks cost per acquisition across campaigns, ad groups, and individual creatives, giving marketers a clear picture of what's working and where budget is being wasted. Built with Astro for the static framework, React for interactive chart components, and Recharts for the data visualisation layer. For Gold Coast businesses managing significant advertising budgets across multiple platforms, this dashboard consolidates fragmented reporting into actionable intelligence. Rather than logging into Google Ads, then Facebook Ads Manager, then exporting data to spreadsheets, marketers access a single unified dashboard showing CPA across all channels. The time savings alone — eliminating hours of weekly reporting work — justifies the development investment. But the real value is the insights that emerge when you can compare performance across channels in real-time.
Astro + React + BigQuery + Recharts
Cross-Platform Ad Performance in One View.
A data warehousing solution that unifies Google Ads and Facebook advertising metrics into actionable CPA dashboards with historical trending and budget forecasting. The architecture uses BigQuery as the central data warehouse, Astro to serve static dashboard pages, and React+Recharts for interactive visualization components that query BigQuery data on demand. This hybrid approach balances performance with flexibility — heavy lifting happens in the data warehouse, interactive components run in the browser, and static HTML ensures baseline performance even if JavaScript fails. BigQuery handles petabyte-scale data analysis, which means even with months of historical advertising data, queries execute in seconds. The cost model is also compelling: you pay only for data scanned, so a query that scans a few gigabytes costs pennies while a query scanning terabytes costs dollars. Well-designed dashboards minimize data scanned through partitioning and clustering, keeping query costs low.

Project Overview
Eliminating the spreadsheet shuffle from marketing reporting.
Marketing teams waste hours every week pulling data from Google Ads, downloading Facebook reports, and manually combining them in spreadsheets. This dashboard eliminates that entirely. BigQuery ingests data from both platforms via scheduled API pulls, normalises the metrics into a common schema, and serves pre-aggregated views to the frontend. The dashboard displays CPA trends over time, campaign comparison matrices, creative performance rankings, and budget pacing indicators. Recharts renders line charts for trend analysis, heat maps for day-of-week performance, and funnel visualisations for conversion path analysis. Automated alerts flag campaigns when CPA exceeds thresholds, and weekly digest emails summarise performance for stakeholders who don't log into the dashboard regularly. The data integration work is more complex than it appears. Google Ads and Facebook use different terminology and metrics. Google calls it "cost per acquisition," Facebook might report "cost per purchase" or "cost per lead." Google reports conversions differently than Facebook. Different attribution windows affect how conversions are attributed to ads. The normalization layer handles all of this, creating a unified schema where metrics are comparable. This means you can see that Google Ads generated 50 conversions at $45 CPA while Facebook generated 30 conversions at $52 CPA. Without this normalization, you're comparing apples to apples in name only. The dashboard views cater to different user needs. Marketing managers want executive summaries — total spend, conversions, and aggregate CPA across all campaigns. Campaign managers want drill-down views for specific campaigns they're responsible for. Finance wants budget tracking against monthly targets and forecasts. Creative directors want to see which specific ads are generating the highest conversion rates. The dashboard provides all of these views through filters and dynamic pivot tables. A user can start with the executive view, click on a campaign, see individual ads within that campaign, and then click an ad to see the audience segments performing best. This drill-down capability is what transforms a dashboard from informational to actionable — you don't just see that Facebook campaigns are underperforming, you see exactly which audience segment and which ad creative is responsible and can make immediate optimizations. The budget pacing feature is particularly valuable. Marketing budgets are typically set monthly, but spend happens daily. The pacing view shows whether you're on track to hit your budget by month-end. If you've spent 60% of your budget with 50% of the month remaining, you're slightly ahead of pace. The system projects end-of-month spend based on current velocity, alerting if you'll overspend or underspend. For campaigns with revenue targets, it calculates projected revenue based on current conversion rates, helping predict whether the campaign will hit profitability targets or needs optimization.

