A July 2026 scan of vendor pricing pages plus Reddit, Hacker News, and GitHub mapped the visible incumbents — and the free-scripts path — against PaceGuard's Tier 1 feature list. Here's the side-by-side.
The PaceGuard column is the spec target — Tier 1 is non-negotiable by definition; the backend is in build. Incumbent columns are what each product visibly ships today.
| Tier 1 feature | PaceGuard (spec) | Optmyzr | Bïrch (Revealbot) | Shape.io | Adpulse | Free GAds Scripts |
|---|---|---|---|---|---|---|
| 1Budget scopes (Account / Client / Label) × flexible periods | YesScope × period incl. custom ranges | PartialMonthly-centric | NoRule conditions, no budget object | YesCross-account budgets, monthly-centric | Partial"Broad, not granular" | PartialHand-coded caps |
| 2Cross-platform ingestion (Google, Meta, TikTok, LinkedIn/MS) | YesAll four (Google + Meta first) | PartialPacing Google + Microsoft only | PartialMeta/Google/TikTok/Snap, no LinkedIn/MS | PartialGoogle-centric | PartialGoogle/MS/Meta | NoGoogle only |
| 3Pacing engine with projected end-of-period spend | YesProjection front-and-center | Yes | No | YesBudget Pacer | Yes | PartialSome scripts |
| 4Pre-breach pace band + zero-spend / anomaly detection | Yes>120% / <80% bands + anomaly | YesOff-pace; anomaly | PartialDIY threshold rules | Yes | YesOverspend alerts | Partial% thresholds |
| 5Alerts: Email + Slack + webhook | YesPlus WhatsApp / in-app in scope | PartialEmail; Slack | YesSlack + email | PartialEmail; Slack | PartialEmail; others | PartialEmail only |
| 6Spend-cap rules engine (cap × window × scope × weekdays → pause / reactivate / notify) | YesComposable + stacked caps, per-firing log | PartialOptimization-oriented | PartialClosest match, $99+/mo tier | PartialAutoPilot fixed toggle, not composable | NoMonitors only | PartialHand-maintained |
| 7Sub-campaign granularity incl. Label | YesDown to keyword/creative + Label | PartialGoogle-deep, Google labels only | YesCampaign/ad-set/ad, naming patterns | NoCampaign-level | NoAccount/campaign | PartialWhatever you script |
| 8Opt-in actions; re-enable only its own pauses | YesOwn-pause invariant + platform-state re-check | PartialOptimizer writes | PartialOwn-pause guarantee | PartialOwn-pause guarantee | No | NoLabel re-enable resurrects human pauses |
| 9Multi-client management + roles | YesPer-client isolation, roles | YesAgency tiers | PartialThin client/role model | Yes | YesUnlimited accounts | No |
| 10Unified Rules section (central + inline) | YesCentral page + inline entity tabs | PartialCentral list only | PartialCentral list only | No | No | No |
| 11Client-status landing cards (connection + last-sync + pacing) | YesDefault view | PartialNo sync-freshness focus | No | PartialBudget overview | YesClient overview | No |
| 12Connectors matrix (clients × accounts, sync status) | YesClients × accounts, inline connect | No | No | No | No | No |
Optmyzr paces Google/Microsoft only; Bïrch skips LinkedIn and Microsoft; Shape.io and Adpulse are Google-first. Cross-platform guardian coverage is wide open.
Bïrch has the rule vocabulary but sells it as ROAS/CPA optimization behind its $99+/mo tier. Shape.io has the right behavior (pause at cap, restart next period) but as a fixed toggle — no cap × window × scope × weekday composition, no stacked semantics, no per-firing audit log.
Free scripts demonstrably get it wrong — label-based re-enabling resurrects campaigns a human paused. No incumbent documents a "re-fetch platform state, skip if a human intervened" guarantee.
No incumbent treats connection state and last-sync visibility as a first-class surface. PaceGuard's client-status cards and connectors matrix have no visible competition.
Conversion/revenue metrics and optimization advisory on day one (Tier 2 / non-goal territory for PaceGuard), Bïrch's Slack depth, and Optmyzr's keyword-level Google granularity.
The squeeze on small and mid-size agencies — like Shape.io removing its free tier — is the open-core opening.
| Tool | Pricing | Notes |
|---|---|---|
| PaceGuard | Open source | Open-core: budget definition, pacing, core connectors and basic alerts free; managed cloud planned for the rest. |
| Bïrch (Revealbot) | $49–299/mo | By spend tier; automation rules start at $99/mo. |
| Adpulse | From ~$20/mo | Monitoring-oriented; unlimited accounts. |
| Shape.io | Sales-call-only | Removed its free tier in March 2024. |
| Optmyzr | ~$249+/mo | Optimization suite; pacing is one module. |
| Free Google Ads Scripts | Free | Google-only, run inside the ad account, hand-maintained. |
A GitHub + web scan (June 2026) found no mature open-source tool that does cross-platform, multi-client, standalone ad-budget pacing. The space is fragmented into single-platform scripts and demos — that gap is why PaceGuard exists.
Sources: vendor pricing pages plus a Reddit / Hacker News / GitHub community scan, July 2026. Cells marked (?) come from general product knowledge and were not confirmed against vendor docs — re-verify before citing. The PaceGuard column reflects the spec target; the backend is in active build. Optimization suites (ROAS/CPA bid & budget optimization) are an explicit non-goal for PaceGuard — it's a guardian, not an optimizer.