Build your agency’s own marketing analytics. Stop renting it per client.
Connectors to every ad platform, event tracking, a warehouse, attribution, client dashboards, an AI agent and automations: the building blocks agencies rent as a dozen subscriptions, on one platform. Build cross-client analytics and your own measurement product on top, in a repository your agency owns, for a fraction of what the SaaS stack costs.
Our engineers build the first version on your clients’ data, or your team builds it with its own coding agent.

Sound familiar?
A bill that grows with every client
Connector tools retire the plans you signed up on and quote several times the price. Reporting tools charge per client, attribution tools per store or by ad spend. Win a client, and every subscription goes up.
Hours of pulling, cleaning and waiting
Pulling each client’s numbers takes half an hour, cleaning and aligning them another hour, and a report on live connectors takes minutes to load. Every platform counts spend, conversions and windows its own way.
Renting a window into your own data
Your methodology is what clients pay for, but the numbers sit in a vendor’s warehouse, behind dashboards every other agency resells. If you cancelled tomorrow, what would you own?
The agency stack, as one platform.
A performance agency typically rents a connector tool, an ELT service, a transformation tool, event collection, an attribution tool and an email platform per e-commerce client, a reporting tool and an automation tool, each priced on a meter that grows with the client list. On SegmentStream they are building blocks of one platform, and you pay for what runs.
Before: the patchwork stack
8 subscriptions · each bill grows with your client list
The meter each tool’s price grows with.
After: one platform
Collect
Model
Decide
Deliver
Usage-priced · one contract · no charge per client, seat or connection
Each tool you rent, and what replaces it.
Every job the stack does today has a building block on SegmentStream. Each one has its own page, with real screens and code.
Supermetrics, Funnel, Improvado, Adverity, Windsor.ai
Pull spend and results from every ad platform into sheets, Looker Studio or a warehouse.
Managed connections to every ad platform, Google Ads manager accounts included, and ingestion pipelines that load every client account each morning.
Fivetran, Airbyte, Stitch
Load CRM, store and analytics data into a warehouse.
Ingestion for any API, with retries, backfills and replays that replace a day exactly.
dbt Cloud
Turn raw data into reporting tables.
Models in your repository, compiled to warehouse SQL, with checks and lineage for every table.
Snowflake, a BigQuery project you look after
Hold every client's history.
A BigQuery warehouse that comes with the workspace, in the EU or the US, billed on what you store and query.
Segment, RudderStack, Snowplow
Collect events from client websites and apps.
Event streams on your own endpoint, straight into the warehouse. The trackers you run change one setting.
GA4 reports and exports
Sessions, channels and conversions.
Keep GA4 and own every hit: its export or your own tracker, modelled into sessions and channels you can read.
Triple Whale, Northbeam, Polar Analytics, Rockerbox, Hyros
Attribution and profit dashboards for e-commerce clients.
Attribution as models you read and change: clicks stitched to sessions, orders from Shopify or the client's back end, your rules for credit, the same for every client.
Klaviyo, Mailchimp, Omnisend
Welcome, abandoned checkout and win-back flows for e-commerce clients.
Email and SMS flows and campaigns on each client's own customers and orders, sent through the client's own providers, with no charge per profile.
AgencyAnalytics, Whatagraph, DashThis, Looker Studio
Client dashboards and monthly reports.
Client portals in your own app: each client signs in and sees only its own data, and the agent drafts the commentary.
Zapier, Make
Glue between the tools.
Workflows in your repository, on a schedule, a webhook or a record change, with every run recorded.
ChatGPT and Claude seats
Answer “why did CPA jump for this client?” from CSV exports.
An agent in Slack, Telegram or WhatsApp, and MCP for Claude and ChatGPT, on every client's live data, within the asker's roles.
Every ad platform your clients run.
Search, social, programmatic, retail media and affiliate networks, each loading every client account you manage. They are part of 100+ pre-built integrations, and any other API connects the same way.
StackAdapt
Adform
RTB House
Impact.comRakuten AdvertisingOne connection per platform, for all your clients' accounts.
Every building block of an agency’s marketing software.
Data in, a model of your clients, analysis, and what your team and your clients open: every block shares the same records, roles and history, so whatever you build next works with what is already there.
Connections and secrets
100+ pre-built integrations, with credentials held by the platform
Events
First-party events from sites, apps and servers, into your warehouse
Pipelines
Ingestion, models, checks, schedules and lineage
Warehouse
BigQuery per workspace, with the ontology replicated in
Ontology
Your records, the actions that change them, roles and history
Apps and sign-in
Hosting, email-code sign-in and roles for your app
Company agent
In Slack, Teams, WhatsApp, Telegram and email, as the person asking
Workflows
On a schedule, when something happens, or when a record changes
Every client in one model. Every number defined once.
The thing no rented tool gives you: one model of every client, built on your methodology, that your team, your clients and your agents all read the same way.
- One connection per ad platform reaches every client account you manage, Google Ads manager accounts included.
- Spend, conversions, currencies and attribution windows are normalised once, in models every client shares. The connectors are the easy part; this is the part that takes analysts' mornings.
- ROAS, CPA, pacing and blended return are metrics declared once; every dashboard, report and agent counts them the same way.
- Roles decide who sees what: an account manager their own clients, a client only its own accounts, the founders everything.
> claude "load Google Ads and Meta cost for every client account each morning,
and flag any client pacing 15% over budget in #client-alerts"
▸ connections/connections.py google_ads, meta_ads, slack
▸ pipeline/ingestion/ad_cost.py every client account, by day
▸ pipeline/models/client_performance.py
▸ ontology/client.ts budget, owner, status
▸ ontology/workflows/morning-check.ts weekdays at 06:30
$ segmentstream deploy
▸ checks passed · pipelines scheduled · workflow and agent live// simplified
import { entity, m, p, warehouse } from "@segmentstream/ontology";
export const AdPerformance = entity("ad_performance", {
id: "ent_ad_performance",
label: "Ad performance",
plural: "Ad performance",
title: "campaign",
description: "Daily spend and revenue per client and campaign.",
source: warehouse("gold/ad_performance_daily", {
key: ["client_id", "date", "campaign_id"],
currency: "currency",
}),
properties: {
client: p.text({ column: "client_id" }),
date: p.date({ column: "date" }),
channel: p.text({ column: "channel" }),
campaign: p.text({ column: "campaign_name" }),
currency: p.text({ column: "currency" }),
spend: p.number({ column: "spend" }),
revenue: p.number({ column: "revenue" }),
},
metrics: {
spend: m.sum("spend", {
unit: "currency",
description: "Media spend.",
}),
revenue: m.sum("revenue", {
unit: "currency",
description: "Revenue, by the agency's model.",
}),
roas: m.divide(m.ref("revenue"), m.ref("spend"), {
unit: "ratio",
description: "Revenue per unit of spend.",
}),
},
});Build it in an afternoon. Keep it running for years.
Agencies already replace connector subscriptions with pipelines a coding agent writes in an afternoon. Writing the script is the easy part. What breaks is everything around it, usually the night before a client report.
A Meta or Google API change breaks the script the night before a client report.
Managed connections, and checks on every run: a broken feed shows up in the morning check, before a wrong number reaches a client.
Tokens expire, and credentials sit in a script, a sheet or someone's laptop.
OAuth sign-in refreshed by the platform. Credentials never reach your code or your repository.
The cron job runs on a free-tier server nobody remembers paying for.
Schedules, retries and backfills declared in code and run on managed compute, with every run recorded.
The person who built it leaves, and nobody dares to touch it.
Everything is code in one repository, with the instructions any engineer or coding agent needs to pick it up.
Client 31 means copying a folder and editing account IDs by hand.
Every client is a record in the same model. Adding a client is adding its accounts.
A database, a host, a sign-in service and a warehouse, each with its own bill and its own keys.
One platform: warehouse, database, hosting and sign-in for your clients come with the workspace.
What agencies build on it.
Start with the one that costs your team the most hours today. Each runs on the same workspace as the rest.
The morning portfolio review
Every client's spend, revenue and pacing on one page before the stand-up, from one model, with anything unusual already flagged.
See how →Client portals under your brand
Each client signs in to your app with an email code and sees only its own accounts. Your brand, your design, no per-client licence.
See how →Attribution, your way
Every attribution tool shows a different ROAS, and none of them is the truth. Make the model yours: clicks stitched to sessions, orders from the store or CRM, your rules for credit, explained to a client line by line.
See how →Budget pacing and alerts
A workflow checks spend against every client's budget each morning and posts what needs a decision to the account team's channel.
See how →Reports that draft themselves
Weekly and monthly numbers come from metrics, the agent drafts the commentary, and the account manager approves it before it goes out.
See how →First-party tracking for every client
Server and browser events from every client's site into the warehouse. Segment, RudderStack and GA4 trackers change one setting.
See how →Lead quality for B2B clients
Every lead graded A to D against the client's own standards, so spend is judged on qualified pipeline, not form fills.
See how →The agency's own operations
Your own new-business pipeline, retainers and approvals on the same platform as client delivery.
See how →
Your methodology becomes your product.
Rented software makes every agency look alike. Software you own is where your expertise accumulates, and something you can sell.
Software the agency owns
The models, the reports, the portals and the agent's instructions are code in a git repository that belongs to the agency. Clone it, keep a copy on GitHub; it never leaves with a vendor.
Built once, used for every client
One agency workspace holds every client, with roles that keep each person to the clients they work on. A client that wants software of its own gets a workspace, with your code reused in it.
A product you can charge for
Your attribution and reporting stop being a deck and become software clients sign in to. Price it as your own product: SegmentStream never sits between you and the client.
Built by the team behind SegmentStream Marketing Analytics.
For ten years we have built cross-channel attribution, incrementality testing and budget allocation for brands and agencies, trusted with more than $100M in managed ad spend. SegmentStream is the platform we build it on now, and it is yours to build on too. Our measurement engine stays available as a managed service.
Priced on what runs, not on how many clients you have.
No seats, no per-client fees, no charge per connection or data source. Compute, storage, events and queries are billed at public prices, so a new client costs what its data costs to process.
- Compute
- $0.30
- per SSU, one processor for an hour
- Events
- $10
- per million events
- Warehouse queries
- $12
- per TB scanned
- AI Gateway
- +15%
- model list price
Included in every price
- Unlimited members, apps, agents and connections
- Orchestration, retries and restarts
- Logs and observability
- Secrets and credentials, held by the platform
Enterprise, with our engineers
Our engineers build your first agency product on your clients’ data in two weeks, at a fixed price: usually the cross-client dashboard and the morning checks. Parity with your current reports is proven before anything is switched off, and the repository is yours.
Self-serve, with your own agent
Install the CLI and tell your coding agent which clients and platforms to connect and which numbers your team reports. It creates the workspace, writes the pipelines, metrics and pages, and deploys.
curl -fsSL https://segmentstream.com/install.sh | shStart with a pilot on your own clients.
Tell us which platforms and how many client accounts you run, and which reports eat your team’s week. Our forward-deployed engineers build the first version on your data, in your own workspace, as code your agency owns.
- One solution, on your data, in your own workspace
- First version live in two weeks
- Parity proven before anything is switched off
- Fixed scope and price, credited to your contract if you continue
Not ready for a pilot? Send the form anyway with your question. An engineer will reply, not a sales rep.
How the pilot worksQuestions
Do we need engineers to build on it?
No. Coding agents such as Claude Code, Codex and Cursor build on SegmentStream through its CLI from plain-language requests, and the platform's checks refuse what does not fit. Or our engineers build the first version with you in a two-week pilot and hand over the repository.
We already built our own with Claude Code and BigQuery. Why move?
Good: you already know what you need. Your coding agent moves the scripts into a workspace, where connections are managed, runs are scheduled and checked, and clients sign in to your portals. What you built keeps its logic; what used to break at midnight becomes the platform's job.
Which ad platforms and tools can we connect?
100+ pre-built integrations cover every ad platform, analytics tool, CRM and store your clients run: Google Ads, Meta, Microsoft, TikTok, LinkedIn, Amazon, DV360, The Trade Desk, Criteo, Taboola, Awin, Impact, GA4, Adobe Analytics, AppsFlyer, HubSpot, Salesforce, Shopify, Klaviyo and more. Any other API connects with a key or OAuth. If a client runs something unusual, your agent or our engineers add the connection.
One workspace for all clients, or one per client?
Either. Most agencies run one workspace for the portfolio, with roles that scope each person, and each client's own logins, to the clients they may see. A client that wants software of its own gets a workspace of its own, with your code reused in it.
Can our clients sign in?
Yes. Invite the client's people to your app: they sign in with an email code, need no SegmentStream account, and see only what their role allows. The app is your code, so it carries your brand.
What happens to the history in the tools we use today?
It comes with you. Backfills reload past days from each ad platform's own API, and the GA4 exports you already keep in BigQuery are read in place. Run the new reports beside the old ones until the numbers match.
How does the cost compare with our stack?
There is no charge per client, seat, connection or data source. You pay public usage prices for compute, storage, events and queries, so adding a client costs what processing its data costs. The pricing page lists every unit price, with an example month.
How does this relate to SegmentStream Marketing Analytics?
Marketing Analytics is our managed measurement product: attribution, incrementality and budget allocation, run with our experts. The platform is for agencies that want to own their software and their methodology, and build their own products on it.
Build your agency’s own marketing software. Let agents run it.
$ segmentstream workspace create acme --region eu --subdomain acme
▸ Created workspace acme · database, warehouse and a private git repository
$ segmentstream workspace WORKSPACE-ID clone acme && cd acme
▸ your coding agent builds what your team asked for and runs the checks
$ git add -A && git commit -m "First version"
$ segmentstream deploy
▸ app, company agent, API and MCP tools live for your invited members
Our engineers build the first version on your data in two weeks, at a fixed price.
Or build it yourself with your coding agent:
curl -fsSL https://segmentstream.com/install.sh | sh