NEW FEATURE RELEASE
Advanced Caps
Location: Targets → Advanced Caps | RTB Targets → Advanced Caps | Buyers → Advanced Caps | Campaigns → Advanced Caps | Publishers → Advanced Caps
Release Date: February 2026
Looking for the current setup guide? This release note is kept for historical context. For the evergreen customer guide, see Advanced Caps: Volume and Spend Guardrails.
Overview
Advanced Caps gives you configurable guardrails for call volume and spend across key routing entities. Set caps on connected calls, converted calls, total calls, and revenue for Targets, RTB Targets, Buyers, Campaigns, and Publishers — with flexible timeframe windows. When a cap is approaching or reached, the platform responds automatically: lowering values on the configured side of the routing stack, warning your team, or marking entities ineligible — so you can stay within budget and volume limits without manual monitoring.
Cap counts update in real time, including calls currently in progress, which means concurrent call spikes won’t push you past your limits. Notifications arrive in-app and via Slack so your team can act immediately when thresholds are hit.
What’s New
Cap Types and Entity Coverage
You can now set caps on any of the five entity types in your routing stack: Targets, RTB Targets, Buyers, Campaigns, and Publishers. Each entity’s edit form now includes an Advanced Caps section where you configure all cap rules for that entity.
Four cap types are available:
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 mix and match cap types on the same entity to enforce multiple constraints simultaneously. For example, a buyer can have both a daily revenue cap of $5,000 and a monthly converted call cap of 2,000 — whichever cap is reached first takes effect.
Timeframes
Each cap operates within a configurable timeframe window. Available timeframes include hourly, daily, weekly, monthly, and custom rolling windows.
Each cap operates independently within its timeframe — for example, a daily cap resets at midnight and a weekly cap resets at the start of each week. You can stack multiple timeframes on the same entity, such as an hourly cap of 25 connected calls and a daily cap of 200 connected calls on the same target.
On-Cap-Reached Behavior
When a cap is hit, you choose how the platform responds:
Mark Ineligible — Removes the entity from routing until the timeframe resets
Lower Bid / Reduce Value — Reduces the payout or revenue value for the side where the cap is configured. Campaign and Publisher caps reduce publisher payout. Target, Buyer, and RTB Target caps reduce buyer-side revenue. Target-side caps do not currently lower publisher bids. Target-side Lower Bid does not lower publisher payout.
Warn — Sends a notification at a configurable percentage threshold without changing routing behavior
When multiple caps overlap on the same entity, the most restrictive cap wins. If a daily revenue cap triggers “mark ineligible” while an hourly connected call cap triggers “lower bid,” the entity is marked ineligible because that’s 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 | Publisher traffic |
|
Target | Buyer/target-side traffic |
|
RTB Target / RTB Formula | RTB buyer-side traffic |
|
Buyer | Buyer-level traffic |
|
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: if a Target cap lowers value by 30%, Moja reduces the buyer-side revenue value for calls routed to that target. It does not reduce publisher payout unless the cap is configured on the publisher side.
Live Call Counting
Real-time cap enforcement — Enable live call tracking so calls currently in progress count toward your cap, not just completed calls.
This addresses a gap that batch-based cap systems miss: concurrent call spikes. When 50 calls arrive in the same minute, a system that only counts completed calls would allow all 50 through before recognizing the cap was exceeded. With live call counting enabled, the platform uses predictive counting to block new calls that would exceed the cap before they connect. The 51st call is blocked in real time, not reconciled after the fact.
Warning Thresholds and Notifications
Warning threshold — Set a percentage (e.g., 80%) to receive an early alert before the cap is reached. Notifications are sent once per threshold event to prevent alert fatigue.
In-app notifications — Cap warnings, cap-met, and cap-exceeded events appear in the platform notification center with details on which entity and cap type triggered the alert.
Slack notifications — Connect a Slack channel to receive cap alerts for your organization. Configure webhooks from the Slack Integrations page under Settings.
Notifications are de-duplicated — you receive one alert when a threshold is crossed, not a repeated alert for every call that arrives while the cap is active. This keeps your notification channels clean even during high-volume periods.
Publisher-Scoped Campaign Caps
Campaign-publisher caps — When creating or editing a Campaign, select a specific Publisher to scope caps at the campaign-publisher level for granular volume control.
This is useful for testing new publishers with controlled exposure before scaling. You can limit a new publisher to 100 converted calls per week within a specific campaign while the campaign continues routing calls from other publishers without restriction.
Why This Matters
Running campaigns across multiple targets, buyers, and publishers means managing volume and spend at every layer. Without comprehensive caps, a high-performing campaign can blow past daily budgets before your team notices, or a single target can absorb more calls than planned — leaving other targets underserved. Advanced Caps puts automated guardrails at every level of your routing stack, with real-time enforcement that catches concurrent spikes before they exceed your limits.
Example Use Cases
A buyer in the debt vertical has a $5,000 daily revenue cap with an 80% warning threshold. At $4,000 your team gets a Slack alert; at $5,000 the buyer is marked ineligible until the next day.
An insurance carrier accepts 25 connected calls per hour across their targets. With live call counting, the 26th concurrent call is blocked before it connects.
A publisher is contracted for 10,000 total calls per month. At 8,000 calls the ops team gets an in-app notification to evaluate pacing; at 10,000 the publisher is marked ineligible for the remainder of the month.
You’re testing a new publisher on an existing campaign — create a campaign-level converted call cap scoped to that publisher with a weekly timeframe to limit exposure while other publishers route without restriction.
Getting Started
Navigate to any entity (Target, RTB Target, Buyer, Campaign, or Publisher) and open the edit form.
Scroll to the Advanced Caps section.
Click Add Cap and select the cap type (connected calls, converted calls, total calls, or revenue).
Choose a timeframe (hourly, daily, weekly, monthly, or custom rolling) and set the limit value.
Configure the on-cap-reached behavior: lower bid / reduce value, warn at percentage, or mark ineligible.
Optionally enable live call counting and set a warning threshold percentage.
Save the entity. Caps take effect immediately on the next routed call.
Slack Alerts: To receive cap notifications in Slack, go to Settings → Slack Integrations, add your Slack webhook URL, and select the channel for cap alerts. Notifications will be sent for warning thresholds, cap-met, and cap-exceeded events.
Questions? Reach out to your account manager or contact support.