Skip to main content

Why am I getting calls but no revenue?

Diagnose why calls appear in Call Logs with $0 revenue by checking duration, buyer qualification, payout configuration, publisher payout, postbacks, and RTB outcomes.

Written by Moja Bot

If calls are showing in Call Logs but revenue is $0, the call may not have met the configured revenue or conversion requirements. In pay-per-call workflows, a connected call is not always a payable call.

This guide explains how to diagnose $0 revenue by checking the call outcome, buyer or target payout rules, publisher payout rules, campaign setup, and any postback or delayed reporting workflow.

Revenue vs publisher payout

Revenue is what the buyer owes for a qualified call. Publisher payout is what you owe the traffic source. A call can have revenue, publisher payout, both, or neither depending on the configured rules.

For example, a buyer may pay only after a 90-second connected call. If the caller hangs up after 35 seconds, the call may connect but still generate $0 revenue. Separately, a publisher payout may also depend on source, number, campaign, buyer, target, duration, conversion, or other payout rules.

Revenue failure layers

Layer

What it means

Duration rule

The call connected but did not last long enough to qualify for revenue.

Buyer qualification

The buyer rejected, disqualified, returned, or otherwise did not accept the call as payable.

Revenue configuration

The revenue rule is missing, disabled, incorrectly configured, or not matched by the call.

Test/non-billable traffic

The call routed to a test destination, non-paying destination, or other traffic path where revenue should not be expected.

Postback/delayed reporting

Revenue depends on buyer feedback, postbacks, webhooks, or buyer-side confirmation that has not arrived yet.

RTB/economics mismatch

An RTB bid or call happened, but no payable outcome was recorded after routing, transfer, duration, or buyer qualification.

Key Call Log fields to review

Start with the affected call in Call Logs. Use the approximate time, caller ID, tracking number, campaign, publisher/source, buyer, or target to find the call.

Field

Why it matters

Duration / connected duration

Confirms whether the call met the minimum duration rule for revenue or payout.

Buyer / target

Shows which destination received the call and which buyer or target rules applied.

Revenue

Shows what Moja AI recorded from the buyer side.

Publisher payout

Shows whether the traffic source was payable.

Conversion / billable status

Confirms whether the call qualified under the configured conversion or billing rules.

Rejection / return reason

Shows buyer-side disqualification, return, or rejection details when present.

Postback / webhook status

Helps diagnose delayed, missing, or failed revenue updates from asynchronous buyer reporting.

Adjusted revenue / adjusted payout

Shows whether the original economics were manually or automatically changed after the call.

Campaign / source

Confirms the call matched the expected campaign, number, publisher, or traffic source setup.

Some fields may appear only when the related feature or workflow is enabled. For example, RTB details appear for RTB flows, and postback or webhook status is most relevant when revenue is updated asynchronously.

What to check first

  1. Open the affected call in Call Logs.

  2. Check connected duration against the buyer, target, campaign, or publisher rule.

  3. Confirm which buyer or target received the call.

  4. Review revenue, publisher payout, conversion/billable status, rejection/return reason, and postback/webhook status.

  5. Compare the affected call against a similar call that did generate revenue. Differences in source, campaign, buyer, target, duration, or status usually point to the issue quickly.

Common causes

  • The call duration was too short. The call connected but did not meet the minimum billable or conversion duration.

  • The buyer rejected, returned, or disqualified the call. The call may have connected but failed buyer-side qualification criteria.

  • The revenue rule was not met. Revenue usually depends on the buyer or target payout rules configured for the campaign.

  • The buyer, target, campaign, or source payout config is missing or disabled. The call may not match any active revenue or payout rule.

  • The call routed to a non-paying or test destination. Test calls and non-billable destinations may correctly show $0 revenue.

  • Revenue reporting has not updated yet. This is common when revenue depends on postbacks, webhooks, or buyer-side confirmation.

  • An RTB bid happened, but the call did not become payable. Winning a bid or routing a call does not guarantee that the final call met the buyer’s payable criteria.

Troubleshooting table

What you see

Likely cause

What to check

Connected call, $0 revenue, short duration

Minimum duration not met

Connected duration vs buyer or target payout rule.

Connected call, $0 revenue, no buyer payout configured

Missing payout config

Buyer, target, and campaign revenue settings.

Connected call, revenue but no publisher payout

Publisher payout rule not met or missing

Number, source, publisher, campaign, buyer, or target payout settings.

Call converted but revenue still $0

Postback, reporting, or configuration issue

Conversion event, revenue value, revenue rule, and postback/webhook logs.

RTB bid won but revenue $0

Bid did not become a payable call

Call Logs, buyer response, connected duration, transfer outcome, and buyer qualification criteria.

Calls from one campaign show $0

Campaign config issue

Campaign routing, payout settings, conversion settings, and test/non-billable setup.

Calls for one buyer show $0

Buyer-specific payout rule

Buyer or target revenue settings, duration requirements, and qualification criteria.

Revenue appears later

Delayed postback or buyer reporting

Buyer reporting timing, revenue postbacks, webhook delivery, and retry status.

Test calls show $0

Non-billable traffic

Destination setup, test flag/workflow, and whether the buyer should be charged for test calls.

Common fixes

  • Adjust the buyer payout, target payout, or conversion rule if it is configured incorrectly.

  • Confirm the target has a revenue or payout amount set when it should be payable.

  • Confirm publisher payout is configured separately if the traffic source should be paid.

  • Verify the call lasted long enough to qualify under the buyer, target, campaign, or publisher rule.

  • Review buyer rejection, return, or disqualification reasons.

  • Confirm postback or webhook delivery if revenue is updated asynchronously.

  • Exclude test calls and non-billable destinations from revenue expectations.

  • Compare affected calls against similar calls that did generate revenue to spot campaign, source, buyer, target, or duration differences.

Related articles

What to send support

If the call should have generated revenue and the fields do not explain why it is $0, send support the details below. Money issues are much faster to trace when support has exact examples instead of a general time range.

  • Call log ID or example call

  • Campaign name

  • Buyer or target

  • Tracking number or source

  • Time range, including timezone if relevant

  • Expected revenue amount

  • Actual revenue shown

  • Expected buyer payout, target payout, or conversion rule

  • Whether postbacks or webhooks are involved

  • Any rejection, return, conversion, billable, or postback status shown

Summary

A call can appear in Call Logs, connect, and still show $0 revenue if it did not meet the configured revenue or conversion requirements. Start with connected duration, buyer/target payout rules, campaign setup, publisher payout rules, conversion or billable status, and any delayed postback or buyer-side confirmation.

Did this answer your question?