Paid ads beta · Free & open source

Stop stitching ad reports.
Start moving budget.

Ask why CPA moved. Duct reads Google Ads, Meta, Apple Search Ads, GA4 and Stripe together, proposes the pause or the shift, and applies it when you approve.

Free during beta · No credit card · For performance marketers at 20–200 person companies

An insights session: asked where the ads budget is leaking, the agent costs every campaign against the CPA target, proposes a pause, two negatives and a budget raise, and writes the spend brief on the right
Ask where the budget leaks. Duct costs every campaign against your CPA target, proposes the pause, the negatives and the budget shift, and applies them when you approve. The one over the guardrail waits for you.

Connects to the platforms you already run

The Problem

The signal is in your platforms.
But none of them talk to each other.

  • Google says ROAS is up. Meta says CPA spiked. Your spreadsheet says something else entirely. You don't know which to trust.
  • A campaign that crushed it last month is tanking now. You don't know if it's the creative, the audience, or the algorithm.
  • You spend four hours every week pulling CSVs from three platforms to build a report that's already stale by Monday.
Google Ads
Google Ads
Meta Ads
Meta Ads
Apple Search Ads
Apple Search Ads
HubSpot
HubSpot
After Duct Meta CPA spike was audience overlap with Google — excluding existing Google converters cut Meta CPA by 24%.

How it works

Connect. Ask. Approve.

01

Connect your stack

One-click OAuth to Google Ads, Meta Ads, Apple Search Ads, OpenAI Ads, GA4 and Stripe. Reporting needs read access only; nothing is exported by hand.

02

Ask the question

Type it the way you would ask a colleague. Duct reads every connected tool for it, shows the sources, and a second agent re-checks the numbers before you see them.

03

Approve the change

When the answer is a change, it arrives as a change set with a preview and a guardrail check. Apply it, or don’t. It remembers either way.

What it does

What it does for paid.

A change-set card: pause one campaign, one change blocked by a guardrail, Reject and Apply buttons

Pause the campaign that buys churners

When
ROAS is up and retention is down, in the same week.
Today
You find out at the end of the quarter, from finance.
With Duct
It reads Ads, GA4 and Stripe together, proposes the pause with the numbers, and applies it when you approve. A budget change over the guardrail stays blocked until you look.
One question and its answer: where the ads budget is leaking, read from Google Ads, GA4 and Stripe, with the campaign and the search terms named

Ask why CPA moved

When
CPA jumped and four platforms each have a theory.
Today
CSVs from Google, Meta and Apple, merged by hand on Friday.
With Duct
One question, every platform read together, and an answer that cites which campaign, which cohort, and what to do.
The Memory timeline: a CPA target, a decision, an event, and what the agent learned this week

Remembers the target and the August call

When
The CPA target changed and the brand campaign was meant to stay untouched.
Today
It lives in someone’s head until they are on holiday.
With Duct
Targets, decisions and what it learned, on a timeline. The next proposal respects them without being told again.

Who It's For

The marketer who owns paid without a data team

You're running three platforms, reporting to a founder, and making budget calls without a proper attribution model. You need cross-channel clarity, not another dashboard.

That's me — download Duct ↓
Performance Marketer20–200 person SaaS
Perfect fit
Growth LeadOwns paid + organic
Great fit
Founding MarketerWearing many hats
Great fit
Enterprise Media Buyer500+ with dedicated agency
Not yet

FAQ

Frequently asked questions

What is Duct for paid ads?

An open-source AI agent that reads Google Ads, Meta Ads, Apple Search Ads, OpenAI Ads, GA4 and Stripe together. Ask why CPA moved and it answers across platforms with its sources; when the answer is a pause, a negative or a budget change, it proposes the change set and applies it only when you approve.

How long does it take to connect my ad platforms to Duct?

Under five minutes. Duct uses one-click OAuth to connect Google Ads, Meta Ads, Apple Search Ads, OpenAI Ads, GA4, Search Console, HubSpot, Stripe and RevenueCat. No API keys to configure and no developer time required. You select your platforms, authorize access, and your first daily ad intelligence brief arrives the next morning.

Does Duct modify anything in my ad accounts?

Not unless you approve it. Duct reads your performance data to build the brief, and reporting works with read-only access alone. When it finds something worth acting on — a wasted-spend search term to add as a negative keyword, a campaign to pause — it proposes the change, shows you every affected item before and after, and applies it only once you approve. Every applied change is logged and reversible where the platform allows it. OAuth tokens are encrypted and stored server-side, and all data in transit is encrypted via TLS.

How is Duct different from building cross-platform ad reports in spreadsheets or dashboards?

Spreadsheets and dashboards show you what happened — Duct tells you what to do about it. Instead of manually pulling CSVs from three platforms and merging them weekly, Duct automatically correlates data across Google Ads, Meta, and LinkedIn to surface creative fatigue, budget reallocation opportunities, and cross-channel attribution gaps that static reports miss entirely.

How much does Duct for paid ads cost?

Free with your own keys, always. Duct is MIT licensed: you pay your model provider directly, or sign in with the ChatGPT plan you already have. A paid plan later bundles the models for teams that would rather hold no keys; nothing open today moves behind it. What will cost money is spelled out on the open-source page.

What kind of changes can it make?

Pausing a campaign, adding negative keywords, and moving a budget within the guardrail you set for the account. Each arrives as a change set with a preview; destructive changes are flagged, anything over a guardrail is blocked until a person looks, and every applied change can be rolled back.