azuite
dock

Azuite Dock

Azuite Dock is an internal advertising operations dashboard: it monitors our clients’ ad spend (Google Ads, Meta Ads and others) against their agreed budgets, and alerts our team when an account needs attention.

This page documents, for Google’s app verification review, how Azuite Dock — operated by Brandal (We Think Solutions SRL) — uses the Google Ads API.

Who we are

Brandal (brandal.agency) is a digital marketing agency based in Argentina, operating under We Think Solutions SRL. We manage paid media campaigns on behalf of our clients. Azuite Dock (dash.azuite.com) is our internal, staff-only operations dashboard.

What the tool does

Azuite Dock includes a module called Control de Presupuestos (Budget Control). Its single purpose is to monitor advertising spend against the monthly budget agreed with each client, and to raise internal alerts when something needs attention:

  • An account is spending significantly above or below the agreed monthly pace.
  • An account unexpectedly stopped serving impressions.
  • A prepaid balance is running low.

The tool is read-only with respect to Google Ads. It does not create, edit, pause or otherwise modify campaigns, budgets, keywords or any other entity in Google Ads.

Relationship to the ad accounts

Every Google Ads account accessed through this integration belongs to a client of Brandal and is already linked as a client account to our agency Manager Account (MCC ID 145-954-4140). We do not access any account outside of this pre-existing agency relationship, and we do not onboard third parties.

How the API is used

Authentication uses a single OAuth 2.0 connection at the agency level — not one connection per client. An authorized Brandal staff member signs in once through the standard Google consent screen, granting the https://www.googleapis.com/auth/adwords scope. The resulting refresh token is stored server-side only.

A scheduled job runs periodically and, for each linked client account, requests:

  • metrics.cost_micros — daily spend
  • metrics.impressions — daily impressions, used to detect accounts that stopped serving

These are requested from the customer resource via customers.googleAds:search, aggregated at account level. No campaign-level, keyword-level or user-level data is retrieved.

Data flow

Scheduled job (hourly)
→ Supabase Edge Function (server-side, Deno)
→ Google Ads API — REST, agency refresh token + developer token
→ response parsed, stored as a daily snapshot per client account (PostgreSQL)
→ rendered in the internal dashboard UI

Who has access

Internal only. Access to the Budget Control module is restricted to Brandal employees who have been explicitly granted a permission flag by a system administrator. The tool is not distributed publicly, not resold, not offered as a product to external users, and clients do not have direct access to Google Ads data through it. There is no public sign-up.

Security

  • OAuth tokens are stored only in our backend database, readable exclusively by server-side (service-role) code.
  • No token or credential is ever rendered in the browser or logged in plaintext.
  • Row-level security policies in PostgreSQL restrict which staff members can view budget and spend data, matching their existing account assignments.
  • The dashboard itself sits behind passwordless email authentication.

Contact

API contact: maxipasteris@gmail.com
Company: We Think Solutions SRL (Brandal) — brandal.agency
Manager Account (MCC): 145-954-4140