Skip to main content

Advanced Caps: Volume and Spend Guardrails

How to use Advanced Caps to control volume, spend, routing eligibility, and side-specific Lower Bid behavior.

Written by Moja Bot

Advanced Caps: Volume and Spend Guardrails

Location: Targets → Advanced Caps | RTB Targets → Advanced Caps | Buyers → Advanced Caps | Campaigns → Advanced Caps | Publishers → Advanced Caps


Summary

Advanced Caps let you set configurable guardrails for call volume and spend across key routing entities in Moja. You can cap connected calls, converted calls, total calls, or revenue across Targets, RTB Targets, Buyers, Campaigns, and Publishers.

When a cap is approaching or reached, Moja can warn your team, mark the entity ineligible, or lower the payout/revenue value on the side of the routing stack where the cap is configured.


Why This Matters

Campaigns can move fast. A buyer can hit a daily budget, a publisher can exceed a testing threshold, or a target can absorb more volume than planned before anyone notices manually.

Advanced Caps help you:

  • Limit exposure while testing new publishers, buyers, or targets

  • Protect buyer budgets and publisher agreements

  • Warn your team before a cap is reached

  • Enforce routing guardrails automatically

  • Account for live calls currently in progress when enforcing caps


What’s Included

  • Entity-level caps — configure caps on Targets, RTB Targets, Buyers, Campaigns, and Publishers

  • Campaign-publisher scoped caps — cap a specific Publisher inside a specific Campaign

  • Multiple cap types — Connected Calls, Converted Calls, Total Calls, and Revenue

  • Flexible timeframes — hourly, daily, weekly, monthly, and custom rolling windows

  • On-cap actions — warn, mark ineligible, or lower bid / reduce value

  • Live call counting — include calls currently in progress so concurrent spikes do not slip past your limit

  • Notifications — in-app and Slack alerts for warning thresholds, cap-met, and cap-exceeded events


Cap Types

Each cap uses one of the following measurements:

  • Connected Calls — counts calls that successfully connect to the target

  • Converted Calls — counts calls that meet your conversion criteria

  • Total Calls — counts all calls routed to the entity, regardless of outcome

  • Revenue — tracks revenue generated against a dollar limit

You can stack multiple caps on the same entity. For example, a buyer can have both a daily revenue cap and a monthly converted-call cap. Whichever cap is reached first can trigger its configured action.


Timeframes

Available timeframe options include hourly, daily, weekly, monthly, and custom rolling windows.

Each cap operates independently inside its own timeframe. For example, you can use an hourly connected-call cap to prevent short-term spikes and a daily revenue cap to protect the overall daily budget.


On-Cap-Reached Behavior

When a cap is hit, choose how Moja should respond:

  • Warn — sends a notification at a configured percentage threshold without changing routing behavior

  • Mark Ineligible — removes the entity from routing until the cap timeframe resets

  • Lower Bid / Reduce Value — reduces the payout or revenue value for the side where the cap is configured

When multiple caps overlap on the same entity, the most restrictive cap wins. If one cap lowers value while another cap marks the entity ineligible, Moja treats mark ineligible as the more restrictive action.


How Lower Bid Applies

The Lower Bid action applies to the side of the routing stack where the cap is configured.

Cap location

What it controls

Lower Bid affects

Campaign → Publisher-scoped cap

Publisher traffic within that campaign

publisher_paid_out

Publisher

Publisher traffic

publisher_paid_out

Target

Buyer/target-side traffic

revenue_paid_out

RTB Target / RTB Formula

RTB buyer-side traffic

revenue_paid_out

Buyer

Buyer-level traffic

revenue_paid_out

Important: Target-side Lower Bid does not lower publisher payout.

If your goal is to reduce volume from publishers after a threshold, configure the cap on the Campaign/Publisher side. A Target or Buyer cap protects buyer-side economics, but it does not automatically reduce publisher payout.

Not currently supported: A buyer-side cap cannot yet automatically reduce publisher payout or make publisher traffic less attractive. For example, a Target cap reaching its limit can reduce buyer-side revenue or mark that target unavailable, but it does not cross over and lower the publisher bid.


Example Use Cases

  • Buyer budget protection: A buyer has a daily revenue cap. At the warning threshold your team gets a Slack alert; when the cap is reached, the buyer is marked ineligible until the next day.

  • Publisher testing: You are testing a new publisher inside an existing campaign. Add a campaign-publisher scoped cap so that publisher has controlled exposure while other publishers continue routing normally.

  • Concurrent call spikes: A target accepts only a limited number of connected calls per hour. With live call counting enabled, calls currently in progress count toward the cap before additional calls are routed.

  • Buyer-side value reduction: A Target cap lowers value after a threshold. Moja reduces buyer-side revenue value for calls routed to that target; publisher payout is unchanged unless the cap is configured on the publisher side.


Getting Started

  1. Navigate to the entity you want to control: Target, RTB Target, Buyer, Campaign, or Publisher.

  2. Open the edit form and scroll to Advanced Caps.

  3. Click Add Cap.

  4. Choose the cap type: Connected Calls, Converted Calls, Total Calls, or Revenue.

  5. Choose the timeframe: hourly, daily, weekly, monthly, or custom rolling.

  6. Set the cap limit.

  7. Choose the on-cap-reached behavior: Warn, Mark Ineligible, or Lower Bid / Reduce Value.

  8. Optional: enable live call counting and set a warning threshold percentage.

  9. Save the entity. Caps take effect on future routing decisions.


Slack Alerts and Notifications

Cap warnings, cap-met, and cap-exceeded events can appear in the platform notification center. To receive cap notifications in Slack, go to Settings → Slack Integrations, add your Slack webhook URL, and select the channel for cap alerts.

Notifications are de-duplicated so your team receives a useful alert when a threshold is crossed, not repeated noise for every call while the cap remains active.


For historical release context, see Release Notes: 2026-02-09 — Caps — Advanced Caps.

Questions? Reach out to your account manager or contact support.

Did this answer your question?