Selected work

Case study 12

Ad performance. Spend and sales on one row.

Ad spend and store sales for every brand land on one sheet. Spend against sales and the cancel rate update automatically. The team is told when the run finishes or a node fails.

Sector
Paid media for e-commerce brands
Type
Performance run into one sheet
Role
End-to-end owner: the media-buying problem, the path, aggregation, platform connections, alerts, and errors

The business problem

Each brand has an agreed ceiling: ad spend may not pass a set share of sales, from 7% to 30% depending on the contract.

  • A buyer opened Meta, Google, and TikTok, then each store, and copied numbers into a sheet.
  • One brand can have up to six Meta accounts.
  • Raw sales were inflated by pending, trash, cancelled, and failed orders.
  • The number arrived late.

What the run changes

How long a manual update used to take is not listed. No workflow URLs, credentials, or brand names are shown.

The month builds itself

From the first day of the month through today, on a sheet named Performance.

Several ad accounts, one row

Meta, Google, and TikTok spend is recorded per brand.

Sales after the noise

Pending and trash are left out. Cancelled, failed, fake, and retrieved where that status exists, go to the Cancel column.

The contract on the row

Total spend, total sales, today’s sales, last update, and MAX PERCENT.

The team hears the result

Discord on each brand, on completion, and on a node failure with the node name and the reason.

One run at a time

A wait between requests, and a queue that marks processing, then complete.

System workflow

BrandDaily salesMAX PERCENTT.SpentT.SalesCancelFBTikTokGoogleLast Update
  1. 01Manual start or webhook
  2. 02Discord: run started
  3. 03Month start through today
  4. 04Meta ids from Sheets, then Graph API spend
  5. 05Google and TikTok from Windsor.ai
  6. 06Match accounts to the brand
  7. 07Update the row by brand id
  8. 08Store APIs write T.Sales and Cancel
  9. 09Discord: brand done, then run complete

Technical architecture

Orchestrationn8n, with JavaScript for aggregation, matching, and ratios
MetaGraph API insights
Google and TikTokWindsor.ai
StoresWooCommerce REST, a custom order-status endpoint, and admin APIs for other stores
SheetsConfig, the Performance report, and the run-status queue
AlertsDiscord