Every network gets a translator that knows its dialect and its version history.
An adapter is the only component that talks to a given network. It holds the credentials, discovers accounts, writes and edits objects, uploads creative in that network's accepted formats, translates targeting, applies budget changes, ingests reporting and feeds business outcomes back. Version changes land here too, so a breaking API release is an adapter update rather than a campaign migration. Google, Meta, TikTok, LinkedIn, Microsoft, Pinterest and X each have one, and each declares what its network can and cannot express.
One network, one piece of code
Authentication, account discovery, object writes, creative upload, targeting translation, budget changes and reporting ingestion for a network all sit inside its adapter. Nothing above the adapter holds a network credential or a network field name. A breaking release stays contained to one component.
Unsupported is a valid answer
When an intent asks for something a network cannot express — a targeting facet it lacks, a budget granularity it does not offer — the adapter returns an explicit gap and the closest available alternative. That gap shows in the builder and stays on the campaign record instead of being silently rounded off.
Conversion feedback goes back out
Adapters push business outcomes taken from your CRM and your finance system — qualified lead, paying customer, retained customer — into each network's own conversion signal. The networks keep bidding their own way on data no external system sees. They are simply aimed at a customer who paid rather than a form that was filled.
In this capability
- Per-network credentials
- Targeting translation maps
- Offline conversion feedback
- API version isolation
Campaigns
The rest of Campaigns
Cross-Channel View
One table for every campaign on every network: spend, credited revenue, profit, CAC, customer quality, creative, landing page.
Campaign Builder
Brief it in business language; the builder drafts network-specific structures and shows the full diff before anything publishes.
Campaign Intent
The canonical record of outcome, economics and limits, kept separate from how any network happens to implement it this quarter.
Pacing
Holds spend to budget and calendar without resetting the learning phase each network runs on new campaigns.
One goal. Every channel. Real business truth.
Connect your ad accounts, say what a good customer is worth, and let the Growth Brain work the objective inside limits you set.
No ad spend commitment · Connect one channel to start · [email protected]