Browse help topics

Agencies & partners

Agencies

Manage client workspaces under your brand. Compare agency licenses and understand Managed and Self-serve client billing.

On this page

Overview

An agency is a parent organization. Each client is a child workspace with its own businesses, campaigns, ads, and reporting. That child appears under the agency in the sidebar workspace list and in Settings, not as its own top-level workspace. The agency workspace is the console (clients, brand, license, wallet). Add the client's website and campaigns after you open that client. Operators switch clients from the agency console. Adding a client keeps you in the agency console on that client's page. Use Open, or pick the nested client in the workspace list, when you want to work inside their workspace. Client audiences stay separate. Managed clients draw media funds from the agency wallet; Self-serve clients fund their own wallets.

Create an agency workspace from /start-agency or Settings → Workspaces if you already have an account: paste your agency website (or confirm the name), sign in if needed, and create the parent workspace. You keep your Individual workspace. Then add clients and run campaigns under your brand. Businesses who run their own ads still paste a website at /start or on Home. There is no public signup on a branded agency host: you create the client workspace and send invites.

Create an agency workspace

Paste your agency website, sign in (or create an account), and confirm the name we prefill from the site. If you are already signed in, open Settings → Workspaces and choose Create an agency workspace. Adwave opens the agency console so you can add clients, set brand and domain, and choose Managed or Self-serve per client. Individual is never converted.

Managed or Self-serve

Managed is the default. Your team runs setup, ads, and reporting, and each campaign day bills the agency wallet at media cost. The client never has to sign in. If you do invite people at a Managed client, they can read reporting, work leads, and pause or resume live campaigns; setup, creatives, launch, and archive stay with your operators.

Self-serve: you invite people at the client. They see your brand, not Adwave, and they fund their own wallet by card. You keep your fee. Turn on card payouts in the agency console first (a US Stripe Express account) so earned fees can be remitted to you. Switch a client between the two modes anytime from the console or with operatingMode on the agency API. Invites are sent by you; there is no public signup on your domain.

Billing

Agencies pay a license: Agency $499, Growth $1,999, or Scale $4,999 a month. You can keep adding clients and drafts without one. Launch needs an active agency license: the Launch step says so and links to checkout. Media charges begin when the campaign is ready to serve; paid creative generation can happen before launch. Creative generation is billed to the agency at published unit prices in Wallet & billing, with no Adwave markup on those units. Mix Managed and Self-serve clients in one agency.

Managed: each client campaign day debits the agency wallet at 100% of the daily budget. You bill your clients however you already do. Adwave does not collect media from them.

Self-serve: the client funds their own wallet by card and pays the published daily budget for the ads we run. You set your fee, and card payouts remit it to you.

Channel budget requirements for Managed clients use the full daily budget as media. Direct-business budgets include Adwave's platform share, so their channel requirements differ. Campaign setup shows the amounts for your active workspace.

Spend bands ($10k / $75k / $250k) describe each license. They do not pause delivery. Scale unlocks the agency API and MCP tools.

Your brand and domain

Set product name, colors, logo, and support email in the agency console. Clients see that kit on sign-in, mail, and the app shell.

Day one: we give you an Adwave subdomain, for example harbor-media-01234567.partners.waverunner.adwave-apps.com. Use it before you own DNS.

Your host: Growth and Scale can point ads.harbor.example at customers.current.page with a CNAME (DNS only / grey cloud on Cloudflare). Do not point it at the included subdomain. Agency (cobrand) keeps the included partner host; clients may see Powered by Adwave. The console shows the exact records and status (pending, verifying, active). Invites use your vanity host once it is active.

Mail from: Growth and Scale can save an address like ads@harbor.example. The console shows the DNS records to add. Until they verify, mail still uses your product name on the Adwave notifications address. After verification, invites and notices send from your address.

Agency API

An API key on the agency org can list, create, read, and update child clients, disable or restore a client, read each child's campaign reports, and download a cost CSV of media spend at cost. Set Managed or Self-serve with operatingMode (MCP update_agency_client). Create a key for one client with create_agency_client_api_key: it works only as that client, so you can hand it to their tooling without exposing the agency. list_agency_campaigns reads campaigns across every client at once. Client-scoped keys stay inside that client org. There is no leads inbox on the API; dashboards use the campaign report's won count and revenue. Fund the wallet from the API reference wallet checkout or MCP create_wallet_checkout (hosted Stripe URL). Never send card numbers on the API. Scale keys also get the same campaign and reporting tools as a business key. See MCP for offboard_agency_client and restore_agency_client.

Invites

Create the client workspace, then send a branded invite from the console. The email uses your product name and colors. Harbor Media would send Harbor mail, not Adwave mail.

Disable a client

Disable pauses live campaigns and turns off that client's API keys. It does not delete history. Restore lets them sign in again; campaigns stay paused until you resume them. There is no Delete on the client page.