Open source · free · by Irfan Shaik

Your AI reads everything. It changes nothing without you.

Pulse puts every ad channel, GA4, Search Console and Shopify in one place. Claude (or any MCP app) can dig into what happened and suggest what to do. Every suggestion arrives as a dry run a person approves, with an undo button on everything that runs.

The demo runs on sample brands across 15 channels, so you can't break anything.

Why did ROAS drop last week?

ROAS went from 3.15x to 2.84x. Two things happened, and only one is real.

Your Instagram UGC video wore out: frequency nearly doubled, CTR halved and CPA went up 2.7x. TikTok looks broken too, but that's the pixel. GA4 still sees the sales.

Proposal · dry runWaiting for you
Meta · UGC video – Hero bottle$450 → $398
Google · Search – Bottles (non-brand)$260 → $312
Estimated+$122/day revenue

Start with a question, not a spreadsheet.

Each platform has its own API. Pulse reads them through official connectors, puts every row into one shape, and serves it over MCP, the open standard AI apps use to call tools. Reading is wide open. Writing goes through a gate.

Guardrails, so an agent can go near the money.

Letting an AI read your ad accounts is easy. Letting it change them is where most people stop. These rules apply to every write, whether it comes from Claude, the Ask page or a teammate.

01

It can only propose

The AI never changes anything directly. It files a proposal with its reasoning, and the proposal waits in a queue.

02

A dry run first

Every proposal shows before → after for each item and an estimate of what it does to spend and revenue per day.

03

A person approves it

In the Pulse queue, or in the AI app's confirm dialog. The model can't click that button for you.

04

One-click undo

Everything that runs is logged with the values it replaced. Undo puts them back, unless someone has changed them since.

05

Hard limits

Budgets move at most ±20% a day per item. New items start paused. Nothing gets deleted, ever. Writes are switched on per account.

06

A kill switch

One switch stops every write, undo included. Auto-approve for small changes exists too, and it stays off unless you turn it on.

Every channel, side by side.

The demo covers the channels most marketers and small agencies actually run, so cross-channel questions have real answers: where Pinterest and Reddit buy cheap reach that doesn't convert, where Snapchat works in the Gulf and not elsewhere, why Apple Search Ads converts best, and where to move the next $50 a day.

Google Ads · Search, PMax, YouTube, AppMeta · Facebook, InstagramTikTokLinkedIn Microsoft AdsSnapchatPinterestRedditAmazon AdsX AdsApple Search Ads GA4Search ConsoleYouTube AnalyticsShopify

With your own accounts, Pulse connects through official, self-serve APIs: GA4, Search Console, YouTube Analytics, Google Ads and Meta (both with governed writes), Shopify, Stripe, and CSV for anything else. Where a platform makes API access hard to get, the Access Map shows the exact steps instead of a half-working connector.

See the channel mixPlatform Access Map

What it notices for you

Pulse runs plain, explainable checks over your data. The demo brand has one of each, so you can see them straight away.

Ads that wore out

Frequency up, click-through down, cost per sale up, while conversion rate holds. It's the creative, not the offer.

Campaigns starved of budget

Spending every last dollar, day after day, at a ROAS well above your average.

Tracking that quietly broke

Clicks keep coming, conversions stop, and your store and GA4 say sales didn't. Fix the pixel, don't cut the budget.

Pages that slipped in Google

A key page drops from position 3 to 7 and loses half its clicks. You'll know which page and since when.

Days that pay better

Weekend ROAS a third above weekdays, eight weeks running. That's a pattern worth a schedule.

Why a number moved

Any ROAS or CPA change split into cost per click, conversion rate, order value and where the spend went. The parts add up exactly.

Why I built it

I kept hearing the same two things from marketers and small agencies in my network. They couldn't see all their channels in one place without stitching exports together every Monday. And they wanted help from AI, but didn't trust an agent anywhere near a live campaign budget.

Pulse is my attempt at both, in the open. It reads every major channel into one schema, explains what changed in plain words, and lets an AI suggest changes that a person approves, with an undo button on everything. It's free, it can run on your own machine, and the code is there to read.

Irfan Shaik

Questions

Is it really free?

Yes. Pulse is open source under the MIT licence. Run it on your laptop or your own server. The APIs it uses are free for your own accounts.

Can the AI spend my money?

Not on its own. It can only propose changes. A person approves each one, budgets move at most ±20% a day, new items start paused, and the kill switch stops everything. Real accounts start read-only until you switch writes on for each one.

Where does my data go?

If you run Pulse yourself, nowhere new: tokens stay encrypted on your machine and Pulse calls each platform directly. On a shared Pulse server, each person's credentials are encrypted with their own key; the privacy page has the details.

Do I need API keys to try it?

No. The demo has 90 days of data for three sample businesses across 15 channels, and every tool works on it, including approvals and undo.

Does it replace my reporting tool or warehouse?

No. Pulse sits next to whatever you already use. It adds a careful way for an AI to look at the numbers and act on them, with a person in the loop.

Which AI apps work with it?

Anything that speaks MCP. Claude Desktop and Claude Code connect in one line, and remote clients can use the Streamable HTTP endpoint. The setup is on the Connect to Claude page.