Skip to content
Gabriel Tibay

Work Case study

AnalyticsAutomationIntegrations

Marketing Analytics Automation

Ad PlatformsScheduled PullNormalizeDatabaseReport

01

The problem

Campaign data lived in Meta Ads, Google Ads, and Shopify, each with its own definition of a conversion. Weekly reports were assembled by hand and were out of date by the time they were read.

02

What needed to change

Spend and revenue side by side, refreshed on a schedule, with definitions that stay the same from week to week.

03

Architecture

Automated campaign reporting: scheduled pulls from each platform's API, a normalization step for currencies, time zones, and attribution windows, storage in a database, and reports generated from it.

04

What I built

  • Scheduled API pulls from Meta Ads, Google Ads, and Shopify
  • Normalization of currencies, time zones, and attribution windows into one model
  • A database of daily campaign performance with revenue joined in
  • Automated reports and a dashboard for the team

05

Stack

  • Meta Ads
  • Google Ads
  • Shopify
  • APIs
  • Scheduled Workflows
  • Custom Reporting

06

Result

Reports generate themselves on schedule, and ad spend finally sits next to the revenue it produced.

07

What I learned

Normalizing the data was most of the work. Three platforms means three clocks, three currencies, and three opinions about what a conversion is.

Next case studyRPA + API Automation