About

Why this suite exists

A short note on who we are, what we built, and why this product is internal.

Bestwearly started as a small cross-border e-commerce operation running Google Ads campaigns for our own product portfolio — a handful of Amazon-bound brands targeting shoppers in the US, EU and JP. As the number of accounts grew past a dozen, the manual work started eating the day: nightly budget syncs, weekly negative-keyword cleanup, hour-by-hour pacing checks.

What we needed (and couldn't find)

The tools we evaluated were either designed for huge enterprise marketing teams, or built around Google's older AdWords API and never made the jump to the modern Google Ads API. None of them fit a small operator running a handful of brand accounts with a high-touch, daily-touch workflow.

So we built one. Bestwearly is the codebase we use every day to run our own ads. It covers the specific operations our workflow demands: hourly performance monitoring, automated bid schedules, bulk negative-keyword sync across the MCC, anomaly alerts delivered to chat, and daily rollups for the operator.

How it's structured

The suite runs against the Google Ads API under MCC-level OAuth, so we manage every account in our tree with one credential pair. There is no separate per-account auth, no per-account dashboard, and no per-account log to keep around. Everything rolls up.

Tech stack

  • Google Ads API (current GA version)
  • OAuth 2.0 (offline, refresh-token)
  • Containerised backend (Python / FastAPI)
  • PostgreSQL for time-series performance data
  • React dashboard for the operator UI
  • Webhook delivery for alerts (Slack / DingTalk)

What it is, and what it isn't

It is an internal operations suite. We built it for our own use and we use it every day. We share it here so other small operators facing the same multi-account burden have a reference implementation to study or build from.

It isn't a hosted SaaS, a managed service, or a sales platform. We're not onboarding customers and we're not selling subscriptions. The site you are reading exists so that we can document what we built — and so that the Google Ads API team can review the application that lets this work.

Contact

We're reachable through the address listed on the contact page. We do not run a sales pipeline and we do not respond to RFPs.