Achi · Media Buyer

I buy growth. The numbers do the talking.

Meta, TikTok, Amazon and Pinterest — from seven-figure monthly budgets to boutique accounts, measured with third-party attribution, never platform hype. Four accounts below, every figure straight from the reports.

US$160M+
sales across accounts
US$40M+
ad spend managed
3
continents of markets
Selected Work

Four accounts. Real numbers.

Every figure on this site comes straight from ad-account and store reports. Pick a case study.

How I work

Measurement, and the tools I build to protect it.

Two things decide whether a media buyer is worth their budget: whether they can tell what is actually working, and whether they can run a clean operation at scale. Here is how I do both.

Measurement

Platform-reported ROAS is a claim, not a fact.
  • Third-party attribution. I work in Northbeam alongside the native platforms, so channel performance is read against an independent source rather than each platform marking its own homework.
  • Blended MER before channel ROAS. Total revenue ÷ total spend is the number that survives an attribution change. Channel ROAS tells me where to move budget; MER tells me whether the account is actually healthy.
  • New-customer CAC, not just blended. Scaling on blended CAC hides the moment paid stops bringing anyone new.
  • Contribution margin, not just revenue. A 3x ROAS on a product that barely clears COGS and shipping is a loss dressed as a win.
  • Naming the ceiling. Case Study 01 documents where efficiency broke at record spend. Knowing when to stop scaling is measurement work too.
NorthbeamMeta Ads Manager TikTok AdsAmazon Ads Pinterest AdsGoogle Ads ShopifyGA4

Automation I've built

Built with Claude, for my own ticketing venture — no engineering team.
  • Order intake → structured records. Web forms feed straight into order records, so nothing is retyped and nothing is lost between a customer paying and a supplier being told.
  • Supplier order blocks, auto-generated. One block per attendee, produced in the supplier's own language — English or Chinese depending on who I'm buying from.
  • Multi-currency pricing sheets. A supplier list in any of six currencies converts at the live rate and outputs two views: cost and margin for me, clean prices for customers.
  • Customer confirmations in one voice. Templated so every buyer gets the same clear message, with no internal cost information ever leaking into a customer-facing note.
  • Channel-tuned announcements. One inventory drop becomes a broadcast post, a short-form social post and a story version, each written to the platform rather than copy-pasted across them.
ClaudeAutomated workflows Web formsSpreadsheet automation Live FX conversionTemplated comms

What my reporting actually looks like

A sample from the benchmark system I run for the footwear account — built on Northbeam data, refreshed daily, one view per market. Ad names and the brand are anonymized; the structure and thresholds are the real thing.

Performance vs Benchmark — USA

Footwear Brand · Meta · Northbeam Master Table
Three attribution windows, each with its own job and its own grading thresholds. The mistake this system prevents: judging an ad on revenue that hasn't finished arriving.
Clicks only · 1-day
Same-day alarm
Good ≥0.50 ROAS · ≤$139 CPO
Bad <0.40 · >$174
Fires fast, catches disasters today.
Clicks + view · 7-day
Daily decision
Good ≥0.90 ROAS · ≤$79 CPO
Bad <0.72 · >$99
Where budget moves actually happen.
Clicks + view · 30-day
Weekly confirmation
Good ≥1.00 ROAS · ≤$69 CPO
Bad <0.80 · >$87
The settled truth, once revenue matures.
Ad (anonymized)Spend 1d ROASGrade 7d ROASGrade 30d ROASMatured
UGC video — restock push$2,6690.54Good0.66Bad0.6698%
Whitelisted partnership video$1,0980.61Good1.08Good1.0858%
Static — product flatlay$1,1400.55Good0.63Bad0.6361%
UGC — creator testimonial$7220.45Medium0.75Medium0.7587%
Micro-edit video test$1,5920.15Bad0.28Bad0.2872%
⚠️
Why the 30-day column is greyed out: in this snapshot only ~57% of click-and-view revenue had matured — the account read 0.648 ROAS against a settled baseline of 1.144. Graded naively, nearly every ad would be marked Bad purely because the revenue hadn't arrived yet. The system grades each window only when it's ready, so good ads don't get killed for being new. That is the entire reason a third-party view exists: the platform will happily let you make that mistake.
🇺🇸 USA — settled 30d
Good≥1.00 · ≤$69
Medium0.80–1.00
Bad<0.80 · >$87
🇬🇧 UK — settled 30d
Good≥1.54 · ≤£31
Medium1.23–1.54
Bad<1.23 · >£39
🇨🇦 Canada — settled 30d
Good≥2.10 · ≤C$52
Medium1.68–2.10
Bad<1.68 · >C$65

Every market earns its own thresholds from its own settled history — a "Good" in Canada is a different number from a "Good" in the US, because margins, AOV and shipping differ. One global ROAS target across markets is how budgets get wasted politely.

A media buyer who can build their own tooling ships faster and depends on fewer people. Both panels describe work I do myself.

About this data. Case Study 01 figures are aggregated from the brand's daily performance reports (spend and platform-reported ROAS per channel, Shopify total sales, Amazon total sales), Jul 1 2023 – Jun 30 2026. Case Study 02 (shapewear) figures come from account-level Meta monthly exports, Google Ads spend exports and Shopify sales reports, Feb 2025 – Jul 2026. Case Study 03 (Amazon Ads) draws on the same daily-report dataset as Case Study 01 — Amazon Ads spend and platform-reported ROAS, plus Amazon total sales (organic included), Jul 2023 – Jul 2026.
  • Channel ad revenue = daily spend × daily platform-reported ROAS, summed by month. Attribution is last-click per platform.
  • "Total sales" = Shopify total sales + Amazon total sales (Amazon includes organic — Amazon Ads launched Feb 2024).
  • Blended ROAS = total sales ÷ total ad spend across the four channels shown. Google/other channels also ran and are excluded from this case study, so blended figures here are conservative views of the channels I managed.
  • AUS figures are AUD; USA figures are USD. They are never mixed or converted.
  • The brand is anonymized; data is shared in aggregate with permission. Screenshots have identifiers removed.
  • Case Study 04 is a personal venture I operate, shown unnamed. Order counts are exact; average order value covers the 113 of 168 orders with a logged amount. No customer information is published.