You set the ceiling. Pulsar maximises everything under it.
Tell Pulsar what a product family may spend, a maximum ACOS or TACOS, and what to maximise: revenue, units or profit. The target is a hard ceiling, never a number to drift toward. Every bid is computed from what a click is actually worth, and every increase in spend has to prove it bought sales.
Four properties that decide whether a bidder is safe to leave running.
Most tools get the arithmetic right and the guardrails wrong. The interesting part is what happens on the bad days: an out of stock week, a lost Buy Box, a raise that bought nothing.
÷ ( clicks(node) + m )
Estimates are shrunk up the chain: entity, ad group, campaign, scope. A dense keyword with a thousand clicks keeps its own number. A sparse one rides its lineage until it has earned one. No click threshold cliff, no do-nothing zone.
(3d after the raise vs 3d before)
A raise matures only after the attribution lag has passed, and a second raise cannot start while one is still immature. If the extra spend bought sales above the ceiling, or bought nothing at all, the raise fails and the dial holds or reverts.
Safe by construction, not by supervision.
Learned step sizes, from our own bid history.
Every bid is snapshotted daily and every pushed change is logged with its before and after values. That is a growing record of bid to outcome, on real accounts, which is the dataset a bidding model actually needs.
A small, logged share of entities receives bounded random perturbations, which supplies the causal variation that observational data cannot. The first learned model is bid elasticity, impressions gained per unit of bid, per campaign cluster. It replaces fixed step caps with moves sized to the expected response, still hard capped.
Language models supervise and explain. They are not in the decision loop, and they will not be.
See it run in shadow mode on your own account.
We point Pulsar at your portfolio with writes disabled and walk you through what it would have changed and why, bid by bid. If the answers are not convincing, you have lost half an hour.