SpendSignoffSpendSignoff

Guide

Marketing agency automation with SpendSignoff: managing client accounts at scale

Agencies managing ten or more client ad accounts need a system that reads all of them, surfaces what needs attention, and drafts changes at scale — without any single change going live without the account manager signing off.

The agency scaling problem

An account manager at a mid-size agency typically handles 8-15 client accounts. Each account has its own login, its own budget pacing rhythm, and its own set of campaigns that need attention on different timelines. The standard workflow is a morning audit loop: log into each platform, check pacing, check anomalies, log out, repeat.

That loop takes 2-3 hours on a good day. It scales linearly with client count. And it misses things — a campaign that looked fine at 9 AM can exhaust its budget or spike its CPA by noon, but no one checks again until the next morning.

SpendSignoff reads all connected accounts continuously and surfaces the prioritized draft queue across clients. The account manager reviews a single queue sorted by urgency and dollar impact, rather than repeating the same login-audit-logout loop for each client.

Multi-account architecture in SpendSignoff

SpendSignoff uses an organization model that matches how agencies are structured:

  • One SpendSignoff org per agency — the organization is the billing and permission root. All team members and all client accounts live under one org.
  • One ad account connection per client — each client Google Ads or Meta account is connected as a separate linked account under the agency org. Client data is org_id-scoped and never mixed.
  • Owner and member roles — org owners can connect accounts, manage billing, and see all client data. Members can read accounts, review drafts, and approve changes for accounts they are assigned to.
  • Per-account approval routing — drafts for a specific client account route to the assigned team member. A junior analyst can see and approve drafts for their assigned accounts; they cannot see accounts they are not assigned to.

The unified draft queue across clients

The approval queue in SpendSignoff shows drafts across all connected accounts, sorted by a combination of urgency (anomaly-triggered drafts first) and dollar impact (proposed change multiplied by daily spend at stake). An account manager opening the queue at 9 AM sees the ten highest-priority actions across all their clients, not a per-client list they have to navigate.

Each draft shows the client account, the platform (Google Ads or Meta), the change type (budget, bid, negative keyword), the trigger signal, and the before/after values. The account manager can approve, reject, or defer each draft individually, or batch-approve a set of similar drafts after reviewing them.

Deferred drafts expire after 24 hours and return to the queue as a new analysis cycle. If the underlying condition has resolved (the campaign stopped pacing, the bid normalised), the new cycle may produce no draft, which keeps the queue from accumulating stale items.

Client accounts are protected by the same approval gate regardless of role

No one in an SpendSignoff org — owner or member — can push a change to a live client ad account without the two-step Approve and push live → Confirm control. The AI client held by any team member has mcp.read and mcp.draft only. Approval requires a human action in the SpendSignoff app. Every approved change is recorded in the org-scoped KMS-signed audit log with the approving user and timestamp, giving clients a full record on request.

Setting up an agency org in SpendSignoff

1

Create the org and invite team members

Sign up with your agency email. The account creates an org automatically. Invite team members from the Settings screen; new members join as the member role by default. Promote to owner as needed.

2

Connect client ad accounts

From the Accounts screen, connect each client Google Ads or Meta account via OAuth. You will need the client to grant your agency MCC (Manager Account) access on Google Ads, or add your agency as a partner on Meta Business Manager, before the OAuth handshake can complete.

3

Assign accounts to team members

In Accounts settings, assign each connected account to the team member responsible for it. Assigned members see that account in their approval queue. Unassigned accounts default to org owners.

4

Configure loop parameters per account

Set the autonomy loop parameters for each client account individually: daily budget ceiling, maximum bid change per cycle, and draft frequency cap. Client accounts with tighter approval windows may want a lower frequency cap to keep the queue manageable.

Reporting across clients

The SpendSignoff reporting tab shows unified metrics per account, including the cross-platform ROAS calculation for accounts with both Google Ads and Meta connected. Agency accounts can filter the reporting view by client account or see an aggregated view across all connected accounts.

Client-level reporting exports are in the product roadmap. In V1, the reporting tab is the canonical view. For clients who need scheduled PDF or CSV reports, the current recommendation is to screen-export the reporting view on a weekly cadence.

Next

Concepts

Drafts, the approval queue, the autonomy loop, roles, and the audit log — the full mental model.

    Marketing agency automation — SpendSignoff multi-account guide · SpendSignoff