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