Completions

Commercial pillar · Inventory-aware ads · Omnichannel inventory orchestration

Per-state action decisioning: when a SKU goes out of stock, your ads pause within seconds — not by Tuesday batch

Manhattan, Korber, Logility, NetStock, Cin7, Fishbowl, Ordoro, inFlow, and Zoho track stock-on-hand and reorder points. They do not pause ad spend, throttle Performance Max bids, rewrite Google Business Profile posts, reroute save-flow offers, or emit attribution events when a SKU goes out of stock in one state and overstocked in another. The per-state action decisioning layer is operator-side wiring on top of the inventory primitive.

Published May 30, 2026

The orchestration gap inventory tools assume you have already closed

An inventory event is generated every time stock-on-hand crosses a per-SKU per-location threshold. The system of record (Manhattan, Korber, Logility, NetStock, Cin7, Fishbowl, Ordoro, inFlow, Zoho) emits the event correctly and in real time. The gap is everything that should happen next.

The Phoenix store loses its last unit of SKU A at 11:14am local. Google Ads is still spending against SKU A in the Phoenix DMA at 11:14:01am. Performance Max is still bidding on the asset group that anchors SKU A. The Google Business Profile post featuring SKU A is still live across the seven Phoenix-area locations. The save-flow propensity engine is still offering a SKU A coupon to abandoning carts in Phoenix. The attribution pipeline has no event marking the moment ad-attributable demand exceeds inventory.

The Tampa store has 47 units of SKU A on the same day — overstocked relative to demand. The same per-state action decisioning layer that pauses spend in Phoenix should redirect spend toward Tampa, raise Performance Max target-ROAS on the SKU A asset group in the Tampa DMA, and update the featured-SKU post on the Tampa locations. The two actions are mirrored — pause where OOS, accelerate where overstocked — and both fire from the same per-state policy map.

The five canonical downstream actions per stock-event

Per-state ad-spend pause. Google Ads API and Meta Ads API receive campaign-level or ad-group-level pause mutations scoped to the affected geography and the SKUs whose stock dropped below threshold. The mutation batch carries idempotency keys so retries do not generate duplicate pauses.

Per-state Performance Max bid throttle. Performance Max does not expose per-SKU pause cleanly. The action layer adjusts target-ROAS or target-CPA on the affected asset groups per state — reducing bid pressure on the OOS cluster while preserving spend on in-stock substitutions.

Per-state GBP-post rewrite. Google Business Profile API receives an updated post per affected location swapping the featured SKU from the OOS item to the available substitution. Promotional cadence preserved; no traffic driven to a stocked-out product page.

Per-state save-flow rerouting. The save-flow propensity engine reroutes offer-presentation logic per state to the substitution SKU. Abandonment recovery does not surface a stocked-out item.

Per-state attribution-event emission. The attribution pipeline emits the stock-event and each downstream action as discrete events into the warehouse. Downstream reporting joins the action sequence to per-state revenue + margin + customer-acquisition-cost delta.

Why omnichannel inventory orchestration and per-state action decisioning compose

Omnichannel inventory orchestration decides which channel gets the next available unit. Per-state action decisioning fires the downstream actions that adjust demand to match the allocation decision per geography. The two layers compose.

Omnichannel inventory orchestration without per-state action decisioning produces correct allocation and wrong ad spend — the operator keeps advertising the OOS SKU in the state that just lost its allocation. Per-state action decisioning without omnichannel inventory orchestration produces fast reactions to wrong allocation decisions. Operators running at 50-1,500 locations across 50 states need both layers wired together.

Frequently asked

What is per-state action decisioning and why does it matter for inventory-aware ads?

Per-state action decisioning is the orchestration layer that converts a stock-event in one geography into the right downstream action across every paid + organic + on-property channel within seconds. The stock-event is generated by the inventory system (Manhattan / Korber / Logility / NetStock / Cin7 / Fishbowl / Ordoro / inFlow / Zoho). The downstream actions are: pause ad spend on the OOS SKU in the affected state, throttle Performance Max bids on adjacent SKU clusters that depend on the OOS SKU as anchor, rewrite Google Business Profile posts to swap the featured SKU per affected location, reroute save-flow propensity offers to the available substitution SKU, and emit an attribution event that downstream reporting joins to demand-signal pacing. Inventory-aware ads as a marketing concept fails operationally when the inventory signal arrives Tuesday and the OOS happened Friday — three days of wasted spend per state per SKU. Per-state action decisioning compresses the lag from days to seconds.

Why do Manhattan, Korber, Logility, NetStock, Cin7, Fishbowl, Ordoro, inFlow, and Zoho not solve this problem?

Those platforms are inventory systems-of-record. They track stock-on-hand per SKU per location, reorder points, lead-time-by-supplier, and demand forecasts. They are excellent at the inventory primitive. None of them ship the downstream-action graph that converts a stock-event into a paid-ad pause + a PMax bid throttle + a GBP-post rewrite + a save-flow reroute + an attribution-event emission. The downstream-action graph requires coupling the inventory system to Google Ads + Meta Ads + GBP API + a save-flow engine + an attribution pipeline — each with its own authentication, rate limits, idempotency semantics, and per-geography overlay. Building the coupling is operator-side wiring. Manhattan and Korber assume the operator has already built it. Cin7 and Fishbowl and Ordoro and inFlow assume the operator does not need it. Logility and NetStock focus on the forecasting upstream of the stock-event, not the action downstream of it. The orchestration gap is the whitespace.

How is per-state action decisioning different from omnichannel inventory orchestration?

Omnichannel inventory orchestration as a category covers stock-allocation across channels (DTC ecommerce + retail stores + marketplaces + wholesale + BOPIS). The orchestration question it answers is: which channel gets the next available unit. Per-state action decisioning is the next layer down — once the orchestration has decided allocation, the per-state action decisioning layer fires the downstream actions that adjust demand to match supply per geography. The two layers compose. Omnichannel inventory orchestration without per-state action decisioning produces correct allocation but wrong ad spend (you keep advertising the OOS SKU in the state that lost its allocation). Per-state action decisioning without omnichannel inventory orchestration produces fast reactions to wrong allocation decisions. Operators who run at 50-1,500 locations across 50 states need both — the orchestration deciding allocation and the decisioning firing the downstream actions per geography.

What are the five canonical downstream actions per stock-event?

First: per-state ad-spend pause. The Google Ads API or Meta Ads API receives a campaign-level or ad-group-level pause for the affected geography, scoped to the SKUs whose inventory dropped below the per-state threshold. Second: per-state PMax bid throttle. Performance Max campaigns do not expose per-SKU pause cleanly; the action layer adjusts target-ROAS or target-CPA on the affected asset groups to reduce bid pressure on the OOS cluster while preserving spend on in-stock substitutions. Third: per-state GBP-post rewrite. The Google Business Profile API receives an updated post per affected location that swaps the featured SKU from the OOS item to the available substitution, preserving promotional cadence without driving traffic to a stocked-out product page. Fourth: per-state save-flow rerouting. The save-flow propensity engine reroutes the offer-presentation logic per state to the substitution SKU so abandonment recovery does not surface a stocked-out item. Fifth: per-state attribution-event emission. The attribution pipeline emits the stock-event + each downstream action as discrete events into the warehouse, so downstream reporting can join the action sequence to the resulting per-state revenue + margin + customer-acquisition-cost delta.

How does per-state action decisioning integrate with Google Ads and Meta Ads?

The Google Ads API supports geographic targeting + product-group exclusions + campaign-level pause via the standard mutations. The action layer maintains a per-state-per-SKU policy map. When a stock-event fires, the layer looks up which campaigns + ad groups + product groups are affected per state, generates a batch of Google Ads mutations, applies idempotency keys to avoid duplicate actions on retry, and writes the action log to the attribution pipeline. The Meta Ads API has analogous mutations: campaign-budget-optimization adjustments + ad-set audience-narrowing per geography + creative-rotation pause. The per-state policy map and the idempotency-and-retry semantics are common across both APIs; the per-platform mutation shapes differ. Building this once per platform and reusing the policy + retry + attribution wiring across platforms is the operational unlock — operators who build per-platform integrations in isolation re-build the policy + retry + attribution wiring three times.

What is the typical engagement model for building per-state action decisioning?

Tier 1 AI Readiness Assessment ($10k, 2-3 weeks) audits the current state of inventory-system → ad-platform → GBP → save-flow → attribution coupling. The output is a per-state-per-SKU policy map + identified gaps in the downstream-action graph. Tier 2 AI Swarm Setup Sprint ($25-50k, 4-8 weeks) builds the action layer end-to-end: Google Ads + Meta Ads + GBP + save-flow integrations, idempotency + retry + attribution wiring, per-state policy ingestion, and stock-event-to-action dispatcher. Tier 3 Fractional CMO with AI Swarm ($15-25k/month, 6-month minimum, 1-2 days/wk embedded) operates the action layer in production + extends the policy map per new SKU launch + per new state expansion + per new channel onboarding. Operator team owns the policy map, the action log, the attribution events, and the credentials. Completions owns the orchestration knowledge.

Engage Completions

Start with the AI Readiness Assessment (Tier 1, 2-3 weeks, $10k). Hand off to Tier 2 AI Swarm Setup Sprint ($25-50k, 4-8 weeks). Continue under Tier 3 Fractional CMO with AI Swarm ($15-25k/month, 6-month minimum, 1-2 days/wk embedded).