Skip to main content

Release Notes: 2026-02-09 — Caps — Advanced Caps

Historical release note for Advanced Caps. Current setup guidance is linked at the top.

E
Written by Eric Gardona

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_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

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

  1. Navigate to any entity (Target, RTB Target, Buyer, Campaign, or Publisher) and open the edit form.

  2. Scroll to the Advanced Caps section.

  3. Click Add Cap and select the cap type (connected calls, converted calls, total calls, or revenue).

  4. Choose a timeframe (hourly, daily, weekly, monthly, or custom rolling) and set the limit value.

  5. Configure the on-cap-reached behavior: lower bid / reduce value, warn at percentage, or mark ineligible.

  6. Optionally enable live call counting and set a warning threshold percentage.

  7. 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.

Did this answer your question?