Every ad platform tells you it won the sale. Google Ads claims the conversion. Meta claims the same one. Add up the platform numbers and you've somehow generated 140% of your actual revenue.
Hermes, the open-source agent from Nous Research, is built to grow with you. So grow it into the analyst who settles that argument. Connect it to your real numbers and it scores every channel against the money that actually landed in Stripe.
This guide shows how. One integration, a YAML edit, and a few questions you can ask today.
TL;DR
| Question | Answer |
|---|---|
| What you're building | Hermes, configured as an in-house marketing analyst that reads every channel |
| The one integration | Sequel, a single MCP server with read-only access to GA4, Search Console, Google Ads, Meta Ads, HubSpot, Stripe, and your warehouse |
| Setup | Add Sequel under mcp_servers in ~/.hermes/config.yaml, then /reload-mcp. Or run sequel install hermes. |
| Hero workflow | Blended ROAS scored against real Stripe revenue, not platform-reported conversions |
| Also unlocks | Full-funnel attribution, content-decay alerts, a Monday metrics digest |
| Safety | Read-only by default. Tool-level access control. Credentials stay in Sequel. |
Why your channel ROAS numbers never add up
Marketing data lives in walled gardens. Google grades its own homework. So does Meta. Each one counts the conversions it can see and ignores the rest.
The cost is real. Attribution-model bias wastes up to 26% of marketing budget by over-crediting some channels, per Improvado. Privacy rules and walled gardens obscure 42 to 65% of the customer journey on top of that.
The deeper issue is that your data is scattered. As of 2026, only about half of organizations report a single source of truth for sales and marketing data, per the Demand Gen Report. The rest split it across CRMs (70%), web analytics (62%), automation (59%), and spreadsheets (57%).
So the cross-channel questions go unanswered. Marketers end up as "glorified data janitors", reconciling exports by hand. A dashboard won't fix that. An agent that reads every source at once will, which is the case we make in dashboards vs AI agents.
Why "grows with you" matters for analytics
Hermes is a self-hosted, open-source agent. It runs on your hardware and improves the more you work with it. That compounding is the point.
A one-off script answers one question. An agent that grows builds a working memory of your business: which campaigns you watch, how you define a qualified lead, what "good" looks like. Connect it to data and that knowledge stops being trapped in a senior marketer's head.
On its own, though, Hermes can't see your numbers. It needs tools. Hermes speaks the Model Context Protocol, or MCP, the standard for giving an agent access to external data. Add one MCP server and the agent gains a skill it keeps.
That server is Sequel. It "reaches into every connected tool, merges the data at query time, and answers the cross-tool question that none of the single-tool features can touch," as our marketing analytics pillar puts it.
Connect Sequel to Hermes
Hermes reads MCP servers from ~/.hermes/config.yaml. Sequel is a remote server at https://api.sequel.sh/mcp, authenticated with a Bearer key.
The fast path is the Sequel CLI. It writes the config for you.
sequel install hermesTo do it by hand, add a sequel entry under mcp_servers. Remote servers take a url and an optional headers map. There's no transport field to set.
mcp_servers:
sequel:
url: "https://api.sequel.sh/mcp"
headers:
Authorization: "Bearer sql_your_api_key"Then run /reload-mcp inside Hermes, or restart it. That's the whole setup.
Grab your key and connect sources from the Sequel install docs and connecting your first data source. Wire up the channels you care about: Google Analytics, Search Console, Google Ads, Meta Ads, HubSpot, and Stripe.
Lock access down with tool filtering
Hermes gives you a clean knob for least-privilege access. Each MCP server in config.yaml takes a tools policy with include and exclude lists. You decide exactly which Sequel tools an agent can call.
The defaults are already safe. Sequel runs read-only and shows each query before it runs, so you can audit what the agent did. Your database passwords and OAuth tokens stay encrypted in Sequel. Hermes only holds a scoped Sequel API key.
For the full model, see securely connecting your database to AI agents and MCP security and governance.
Workflow 1: score every channel against real revenue
This is the one that pays for itself. Stop trusting platform-reported ROAS. Score spend against the money that actually arrived.
| Source of truth | What it counts | The catch |
|---|---|---|
| Google Ads ROAS | Conversions Google can claim | Over-credits assisted and view-through |
| Meta Ads ROAS | Conversions Meta can claim | Often claims the same sale as Google |
| Blended (spend vs Stripe) | Total ad spend against real revenue | The number your CFO trusts |
Sequel joins Google Ads, Meta Ads, and Stripe at query time. No warehouse model needed. Ask Hermes:
- "Compare blended ROAS across Google Ads and Meta Ads this quarter against Stripe revenue."
- "Which channel has the best cost per dollar of actual revenue, not platform-reported conversions?"
You get one honest number instead of two flattering ones.
Workflow 2: trace the full funnel to closed revenue
Leads are easy to count. Revenue is the hard part. The valuable question spans four tools: ad platform, GA4, HubSpot, then Stripe.
Hermes can follow that chain in a single prompt:
- "Which Meta campaigns drove HubSpot opportunities that closed in Stripe last quarter?"
- "What's the average time from first ad touch to closed revenue, by channel?"
The agent shows how it joined the sources. You see the logic, not a black box. For where this whole category is heading, see the best marketing AI agents in 2026.
Workflow 3: catch content decay before it compounds
Paid isn't your only channel. Organic pages quietly fade, and the loss is easy to miss. Content decay is "the gradual decline in a page's organic traffic and rankings over time," per Ahrefs.
Hermes can audit it by reading Search Console alongside GA4. Compare the last three months to the same period a year ago. A sustained drop across three or more consecutive months is the real signal, per Animalz.
| Signal | Source | Threshold |
|---|---|---|
| Traffic drop over 90 days | GA4 | More than 20% |
| Position loss on target keywords | Search Console | More than 5 positions |
Thresholds are from the Animalz refresh framework. Then ask:
- "List blog URLs with Search Console impressions down three months running, with their GA4 engagement rate."
Run it monthly and refreshes stop being guesswork.
Workflow 4: a Monday digest the agent sends itself
Hermes already runs on your hardware, so let it report on a schedule. Give it a standing prompt:
- "Every Monday, post last week's spend, signups, revenue, and blended ROAS."
The numbers that used to eat a Monday morning show up on their own. That's the shift from describing data to acting on it, which we argue in the marketing decision problem.
What Hermes still can't do
An agent is only as honest as the data beneath it. Keep two limits in mind.
It can't fix broken tracking. If your UTMs are inconsistent and your GA4 events misfire, Hermes reports the mess accurately. It can flag that two sources disagree. It can't tell you which one is right.
It also won't end the attribution debate. First-touch and multi-touch will still differ. Hermes runs the model you choose. The judgment stays with you.
Grow your agent into the analyst you don't have to hire
You self-hosted Hermes so it could grow with you. Pointing it at Sequel is the step that turns a capable agent into a marketing analyst that reads every channel at once.
Run sequel install hermes, connect your sources, and ask it which channel actually earned its budget. Get started free.
