Blog

Why campaign approval is not spend activation.

A useful draft is a starting point—not permission to publish or spend. Our workflow treats those decisions separately.

PRODUCT THINKING

One button can hide several decisions.

When a marketer reviews an ad, they may be checking its wording, landing page, and fit with a brief. That review does not necessarily include the campaign settings, spending limits, or timing of a launch. Treating all of those decisions as one approval makes it harder to know what someone actually authorized.

Separate the content from the launch.

Jasmmo’s review model separates three actions: approving creative, authorizing creation of a paused campaign, and authorizing activation. Each action has a different purpose. A team should be able to prepare work for inspection without making it live.

Approve a version, not a moving target.

Approval is only meaningful when it refers to specific content and scope. If a budget, destination, account, or material part of a plan changes, the earlier review should not silently carry forward. Our implemented workflow records versions and invalidates dependent approvals after a material edit.

An unknown result is still unknown.

A network interruption after a provider request creates a different problem: the request may have succeeded even if the application did not receive confirmation. A future live execution path must reconcile the provider’s state before retrying. A retry button alone is not evidence that replay is safe.

What this means today.

The current execution component checks approval boundaries in dry-run mode. It does not create or activate a campaign in Google Ads, and live provider reconciliation remains unimplemented. The product preview illustrates the design; it is not a live advertising tool.

The goal is straightforward: help teams move from evidence to prepared work while keeping the authority to act explicit.

← Back to the blog