Marketing & Advertising
Marketing Ads Dashboard
Google Ads, Meta Ads, and Sheet inputs connected to a reporting model and an authenticated marketing dashboard.
Marketing Reporting Team · Solo · Selected work
My role & contribution
Built ingestion, reporting access, and the dashboard for this engagement.
Selected reporting implementation
The problem
Built a custom marketing reporting application where platform pulls, warehouse tables, dashboard queries, and UI views had to work as one system. The project combined Python ETL scripts for Google Ads, Facebook Ads, and Sheets data with a Next.js dashboard, BigQuery-facing API routes, and event tracking components.
The existing workflow
Advertising data and Sheet inputs needed one reporting interface. The difficult work was making source ranges, query grain, and event inputs consistent before presenting charts.

System flow
01
Source pulls
Python ETL scripts collect Google Ads, Meta Ads, Sheets inputs, and event-tracking data.
02
Reporting access
Warehouse-style tables are exposed through dashboard API routes for controlled query access.
03
Dashboard UI
A Next.js app presents authenticated filters, grids, charts, and reporting views.
04
Checks
Platform exports, source ranges, and event payloads are reconciled before the UI becomes the source of truth.
Key engineering decisions
Define the numbers before the screen
Account/date ranges, source totals, and join grain determine the report. A usable interface exposes those definitions rather than hiding disagreement behind a chart.
Separate reported conversions from revenue
Source-reported advertising metrics should keep their own names and definitions. They are not interchangeable with transaction revenue without a defined attribution model.
Difficult problems
- Paid media, Sheet inputs, and event data needed one reporting interface
- Ads totals had to be reconciled against platform exports and source ranges
- The dashboard needed authenticated views, filters, charts, and data-grid workflows
- Event tracking components needed careful validation before being used in reporting
Work contributed
- Built Python ETL for advertising and Sheet inputs.
- Connected reporting queries to authenticated dashboard/API access.
- Implemented filters, tables, charts, and event-tracking components.
Validation
- Compared reporting ranges and advertising totals with source exports.
- Reviewed reporting joins and dashboard query outputs.
- Validated event payloads used by reporting components.
Supported outcome
- Brought advertising and Sheet inputs into one reporting workflow.
- Exposed the reporting layer through authenticated views and dashboard queries.
- Provided a usable interface on top of ingestion and reporting work.
Technologies in context
Next.js · Python · BigQuery · Google Ads API · Meta Marketing API · Google Sheets · AG Grid · Recharts · PostgreSQL
Related services & work
Working through a similar problem?
Share the workflow and the output your team needs. We can identify a focused starting point.
Discuss your workflow