Metrics glossary

What every figure in a report means and exactly how it is counted — so a number on the overview, in an export and from the API can be compared.

After this page you can defend any figure the platform shows you, reconcile one screen against another, and say precisely why two numbers that look like they should match do not. Every measure has one definition, written down once and used by the overview, the call log's totals, the report builder, every CSV export and the API alike.

If two screens show a figure with the same name, it is the same figure. That is not a promise about care; it is a property of the code — there is one place each of these is computed, and every surface reads it.

The fourteen measures

KeyShown asIs
callsCallsEvery call that reached one of your tracking numbers or bids.
connectedConnectedCalls a buyer's line answered.
convertedConvertedCalls that earned revenue.
unroutedUnroutedCalls that ended without reaching a buyer, each under a reason code.
connectRateConnect rateconnected ÷ calls.
conversionRateConversion rateconverted ÷ connected.
revenueCentsRevenueWhat buyers owe you for these calls.
payoutCentsPayoutWhat you owe publishers for these calls.
profitCentsProfitRevenue minus payout. Platform usage is shown separately.
usageCentsUsageWhat the platform charged for connected minutes.
avgTalkSecondsAvg talk timeTotal talk time ÷ connected calls.
totalTalkSecondsTalk timeSeconds callers spent connected to a buyer.
rpcCentsRevenue per callRevenue ÷ calls.
epcCentsPayout per callPayout ÷ calls.
Money is integer cents everywhere in the API. The console shows dollars; the two are the same number.

The three counts that everything else is built on

These three carried different meanings on different screens once, which is how a workspace ends up reconciling arithmetic instead of revenue. They now have exactly one each.

Connected

Calls a buyer's line answered. Two conditions, both required: the buyer's leg was answered, and the call did not end under an unrouted reason.

  • The platform answering the caller is not a connection. Only the buyer's leg sets the answer time, so hold music and ringing never count.
  • A call that ended unrouted is never connected — not even when the campaign's fallback number picked it up and somebody talked for ten minutes. A fallback answer is not a buyer connection, and counting it would make the same call connected on one page and unrouted on the next.
  • A call that connected and then failed to convert is still connected. Connection and conversion are different questions.

Converted

Calls that earned revenue: the buyer's duration threshold was met, or a conversion was posted or marked by hand.

  • It is the same flag the revenue beside it was booked under, so a count of conversions and a sum of revenue can never be about two different sets of calls.
  • A conversion that arrives later — a buyer's postback, an adjustment — changes the call, and therefore changes any report covering its date. See Conversions and adjustments.
  • Every converted call is also connected. The reverse is not true, and the gap between them is conversionRate.

Unrouted

Calls that ended without reaching a buyer, each under one of the eleven reason codes. A gate refused it, or every target in the plan was tried and none took it.

  • One code per call, stored on the call itself. A reason a single target was *skipped* is not one of these — the call carried on past it.
  • An unrouted call the fallback number answered is still unrouted, for the reason above.
  • calls is not connected + converted + unrouted. Converted calls are a subset of connected ones, and a call that rang out with no unrouted reason is none of the three.

The two rates

Both, exactly
connectRate    = connected ÷ calls          // null when calls = 0
conversionRate = converted ÷ connected      // null when connected = 0
Connect rateConversion rate
AsksOf every call that arrived, how many did a buyer answer?Of the calls a buyer took, how many paid?
Denominatorcallsconnected
Falls whenYour plan is short of capacity, your hours are wrong, or your traffic arrives when nobody is open.Your buyers answer and then do not stay on the line, or their thresholds are longer than your calls.
Is null whenNo calls arrived.No call connected.

Conversion rate is over connected, which is the industry's meaning and not the only possible one. If you want conversions over every call that arrived, divide converted by calls yourself — and call it something else, so nobody reconciles the two.

Money

MeasureSumsWhose money
revenueCentsThe price frozen on the call, for each converted call. Zero for a call that did not convert.Your buyer owes you. Books only — the platform never collects it.
payoutCentsWhat each call earned its publisher under the terms frozen when it started.You owe your publisher. Books only — the platform never pays it.
profitCentsrevenueCents − payoutCents.The margin on your own trade.
usageCentsWhat the platform charged your wallet for those calls' connected minutes.Real money, already taken from the wallet.
Revenue and payout are records of money that changes hands off the platform — see books-only money. Usage is the one figure here that was actually charged.
  • Usage is not netted off profit. profitCents is revenue less payout and nothing else, so that the platform's fee is a line you can see rather than one hidden inside a margin. Subtract it yourself when you want a full contribution figure.
  • Both sides read frozen values: the price on the target that took the call, and the publisher's terms as they stood when the call arrived. A buyer repriced this afternoon has not repriced this morning's calls.
  • A call can pay a publisher and earn nothing, or earn revenue and pay nothing. The two sides are different deals with different thresholds — see Payout terms.
  • rpcCents and epcCents divide by calls, not by connected or converted ones. That is deliberate: what an incoming call from a source is worth, before anybody knows how it ends, is the number to compare against what you pay for it.

Talk time

MeasureIs
totalTalkSecondsThe sum of talk time across connected calls only. Talk time runs from the moment the buyer answered to the end of the call.
avgTalkSecondstotalTalkSeconds ÷ connected, rounded to whole seconds. 0 when nothing connected.

Unconnected calls are excluded from both, so a bad hour of no-answers does not drag the average towards zero and make a good buyer look slow. Talk time is also what the platform's per-minute fee is counted on, and what a duration threshold is compared against — one clock, three uses.

The derived figures, exactly

Nothing here is rounded twice
profitCents      = revenueCents − payoutCents
avgTalkSeconds   = round(totalTalkSeconds ÷ connected)   // 0 when connected = 0
rpcCents         = round(revenueCents ÷ calls)           // 0 when calls = 0
epcCents         = round(payoutCents ÷ calls)            // 0 when calls = 0

The three per-call figures are 0 rather than null on an empty denominator, unlike the two rates. That is a deliberate difference: a rate of "no calls" is unknowable, whereas revenue per call over no calls is genuinely nothing.

Outcome: the one word per call

A report counts measures. A call carries a single word saying how it ended, chosen most specific first — and that word is what the call log's outcome filter and column show.

OutcomeThe call…
liveHas not ended yet.
convertedEarned its price.
unroutedEnded under a reason code. This holds even if the fallback number answered it.
connectedWas answered by a buyer and did not convert.
missedEnded with no buyer answering and no unrouted reason — typically the caller hung up while a target was ringing.

Worked example: reading one row

One publisher, one day, from a report grouped by publisher,day. Every figure below comes from the four sums and three counts at the top.

Northwind Media, 19 September
calls            212
connected        171        // a buyer answered
converted         96        // and 96 of those earned their price
unrouted          14        // ended on a reason code

connectRate      171 ÷ 212  = 0.8066
conversionRate    96 ÷ 171  = 0.5614

revenueCents  403200        // $4,032.00 owed by buyers
payoutCents   264000        // $2,640.00 owed to publishers
profitCents   139200        // the difference
usageCents      2871        // what the platform charged for the minutes

totalTalkSeconds  34371
avgTalkSeconds    34371 ÷ 171 = 201
rpcCents         403200 ÷ 212 = 1902
epcCents         264000 ÷ 212 = 1245
  • 212 arrived, 171 were answered by a buyer. The 41 that were not split into the 14 that ended unrouted and 27 that rang out or were abandoned.
  • 96 of the 171 paid. Conversion rate divides by 171, not by 212: the calls nobody answered were never the buyer's to convert.
  • Profit is $1,392.00, and usageCents sits beside it rather than inside it, so the platform's own fee for the day's minutes is something you can see rather than discover. The figures above are invented; what the platform charges a minute is on the pricing page.
  • Revenue per call is $19.02 against a payout per call of $12.45. That pair, not the profit, is what tells you whether to buy more from this publisher.
  • Average talk time is 201 seconds across the 171 connected calls, not across all 212.

When two numbers disagree

SymptomAlmost always
A report and a buyer's invoice differ by a day's trafficThe window. A bare date is midnight UTC; set tz and send instants with an offset — see Report builder.
A report changed since you last ran itA conversion or adjustment on a past call. Reports are live; exports are records.
calls is more than connected + converted + unroutedIt should be. Converted calls are a subset of connected ones, and missed calls are in none of the three.
A rate is empty rather than 0%Its denominator was zero. That is the honest answer.
Profit looks higher than the money you haveprofitCents excludes usageCents by design, and both exclude your plan and your number rent — see Billing and usage.
A publisher's own total differs from yoursTheir portal counts their calls under their terms. Check the payout side, not the revenue side.

Next steps