Changelog

CallScaler Product Changelog and Release Notes

What's New

The latest updates and improvements to CallScaler.

August 11, 2026

Invited buyers and publishers are ready to set up before they accept

new

Inviting someone whose email already had an account used to park them in a pending-invitations list until they accepted, you couldn't build anything for them in the meantime. The invite now creates the buyer or publisher record immediately, so you can set up campaigns, attach numbers and configure billing while the invitation is out. The row carries an Invite pending badge until they accept (resend it from the row or the ellipsis menu on their page), deleting the record cancels its invitation, and existing pending invitations have been converted to records the same way. Publisher names can also be renamed inline right from the page title, and the buyers list gained a sortable Last deposit column plus a Columns picker.

New verticals to run campaigns in

new

Biohazard Cleanup and Cabinets joined the vertical list, and the public marketplace picked up Auto Repair and Cabinets subcategories.

Publishers list gets the same filters and toolbar as buyers

new

The Publishers tab now filters like the Buyers tab: pick publishers with live campaigns, suspended campaigns, or none at all, and narrow by payout method, who's set up PayPal, Wise, Payoneer or ACH, or nobody's set up anything, right next to the search box. The Export and Columns buttons moved to the same spot on both pages and share one look.

Export your buyers' demand as a CSV

new

The Buyers tab has an Export button with three shapes to choose from. Detailed lists every campaign for every buyer, contact and billing info, vertical, bids, and the ZIPs they buy, one row per campaign and price. Bids by vertical strips the buyer identity and gives one row per unique vertical and price with its ZIP list, and Rolled up goes one step further by grouping nearby prices into ranges, so either can be handed straight to publishers to show them what demand to send. Buyers you ping for a price, rather than keeping ZIP lists in the app, are filled in from the bids they actually returned over the last 30 days. If the full ZIP lists make the file too heavy, switch the export to counts only.

Publisher pages now match your buyer pages, with a real billing view

new

Opening a publisher gave you their campaigns and three summary tiles. It now has the same three tabs a buyer has, Campaigns, Billing, Profile, and each one is a linkable URL. Billing shows what you owe them and how it breaks down: how much is clear to send now, how much is still inside your review hold, and how much is already requested or paid, alongside lifetime earnings, the last 30 days, and their last payout. Below that sit the payout destinations they saved (flagged if your network doesn't accept one), your minimum request, hold and cooldown terms, full payout history you can approve or reject right there, earnings month by month, and the credits, adjustments and payouts on their ledger. Profile holds the name you use for them, their account and contact details, and the traffic sources, strategy and landing pages from their applications. Campaign rows now also show what each campaign has earned them.

Search, filter and export the ping log on a campaign

new

Ping activity on a buyer or publisher campaign used to show the 50 most recent pings and nothing else. You can now filter the log by outcome (bid returned, calls routed or won, no bid), search it for a caller's number, load older pings a page at a time, and download what you're looking at as a CSV. Both tabs also gained a Calls with payout tile next to the routed/won count, with the money those calls earned, so you can see how many of the calls that actually connected turned into revenue. The search matches a full number exactly, or the start of one if you type fewer digits.

Connected time included in the call log export

new

The export has a new Connected column showing how long the caller was actually connected to the destination, counted from the moment it picked up, Duration also covers the greeting, any questions you ask, and ring time. It's the last column, so spreadsheets that read the export by position keep working, and it's blank on calls that never reached a destination. Publishers see it on their own calls too, since pay-per-call routes qualify on connected time.

Choose which clock a buyer's minimum call duration is measured on

new

Your campaigns set a minimum call duration, and until now that was always measured from the moment we answered the caller, which also covers the greeting, any questions you ask, the auction and ring time. Buyers you ping start counting when their own end picks up, roughly 20 seconds later, so calls that cleared a 90-second minimum on our clock were 70-something on theirs and went unpaid. Each buyer now has a Measured from setting under Buyers, Billing, Advanced: leave it on total call time (unchanged, and still the default for every buyer) or switch it to connected time for buyers who report their own call lengths back to you. Switching also moves the minimum quoted to your publishers onto the same clock, so both sides of a call are held to one number, and adds a small safety margin you can tune. Campaigns routing into your own call flows always stay on total call time. Call details and the call log export now show connected time alongside total duration.

A buyer rejecting a call now reverses the charge and the payout

new

When a buyer's system posted back to say it wasn't paying for a call, we stopped crediting the publisher but left the buyer charged, so the call still counted as revenue. The charge is now refunded and the publisher credit reversed together. Buyers that signal a rejection by leaving the payout out of the postback entirely, rather than sending a zero, can now be recognized too, via a per-webhook setting, since for most sources a missing payout just means an informational event.

Buyer postbacks match the right call more reliably

new

Matching a buyer's postback to a call used to guess that their reported length ran about 30 seconds shorter than ours and allowed a minute either side, which left roughly one in eleven postbacks with more than one candidate call to choose between. Matching now compares against the connected portion of the call directly, so the right call is picked far more often. Calls with no connected time recorded still fall back to the old rule.

Card check when you start a free trial

new

Starting a trial now runs a quick validity check on your card, a small temporary authorization that is released right away and never charged. Your trial is still free and nothing is due today. If the check comes back declined you're told immediately and can enter a different card, instead of finding out a week later when the trial tries to convert. Cards that simply need your bank's extra verification step are let through.

Buyers on a bid-duration campaign now bill at the duration the bid actually states

new

Ping/post campaigns set to bill on the winning bid's stated duration were falling back to the campaign's fixed minimum whenever the buyer's platform stated that duration as a bid term rather than a plain field. Those terms are now read, so the buyer is charged only for calls that reach the length their own bid pays on, instead of every call past the campaign minimum. Campaigns on a fixed minimum are unaffected, and a bid that states no duration still falls back to the campaign's own setting.

Full call details when reviewing a dispute

new

Opening a call from the Disputes tab used to show a stripped-down version of the call, no payout or buyer charge, no caller ZIP, no publisher or buyer, no carrier or routing. It now shows exactly what the call log's detail panel shows, so you can judge a dispute without leaving the page. Each dispute also gets a second button, View in Call Log, which opens that one call in the call log where the row's own actions (notes, tags, qualification, recharge) are available.

Publisher name now included in the call log export

new

Exporting your call log now includes a Publisher column, so the label you use for each publisher, including any internal tracking ID you've added to it, comes through in the spreadsheet instead of only appearing on screen. It's the last column, so existing spreadsheets that read the export by position keep working. Publishers and buyers don't see it in their own exports, and calls you bought through the marketplace don't reveal the selling network's publisher.

August 10, 2026

White label fixes for buyer, publisher and broker invites

fixed
  • Signup links opened a login page: sending a buyer a signup link from your Buyers page dropped them on a login screen asking for credentials they didn't have yet, so no one could complete signup. The link pointed at your branded domain, which only allowed a fixed set of pages through — the signup form wasn't one of them. Those links now open properly, and carry your brand colors instead of ours.
  • Older links used the wrong domain: copying a link from your pending invites list handed out a CallScaler address instead of yours. Only freshly generated links were branded.
  • Your brand name instead of your internal label: the name your buyers, publishers and brokers were shown was your account's internal name, not the brand they know you by. It now reads correctly on the signup form, on their dashboard, and across every invite, welcome, campaign assignment and campaign suspension email.

Set a minimum deposit and get your buyers warned before they run dry

new

Two new controls for networks over how buyers fund their wallet, both in Pay Per Call settings.

  • Minimum deposit: choose the smallest amount any of your buyers or brokers can add at checkout, from $50 up to $50,000. The suggested amounts on their Add Funds screen start at your minimum, the custom box enforces it, and it applies to deposit links you generate for them too. It also floors automatic recharges — raising it lifts any saved recharge amount below the new figure, and you're shown exactly which accounts that affects before anything changes.
  • Low balance alerts: have your buyers emailed automatically when their balance runs low, so campaigns don't quietly stop winning calls. Pick a dollar threshold, send once per depletion or weekly while they're still low, and choose who hears about it — the buyer's contact address, everyone with access to their account, and/or extra addresses of your own. Each recipient gets their own unsubscribe link, so one person opting out doesn't mute the account.

Fixed-price campaigns no longer described as real-time bidding

fixed

Publishers on a fixed-price campaign were shown auction wording: the integration popup was titled "Real-Time Bidding API spec", the campaign page's second route card was labeled "Real-Time Bidding", and both described a live bid being quoted. Every campaign does get a ping endpoint, but on a fixed-price campaign the ping confirms availability and returns the campaign's set payout, so those screens now say "Ping / Post" and describe a fixed payout. Real-time bidding campaigns are unchanged.

Call details panel now shows everything the call log shows

new

Opening a call's details now includes every piece of information the call log columns can show. The ZIP code a caller entered appears with its resolved city and state alongside the area-code location, marketplace buyers see what they paid for the call (with refunds struck through), refunded buyer charges stay visible instead of disappearing, network operators see the publisher and buyer on the call, and marketplace calls are labeled with your offer or campaign name.

The names you set now show everywhere

new
  • Offers and campaigns: the name you give an offer (and any per-publisher campaign rename) was ignored on several screens, which showed the public marketplace listing name instead — publisher assignment emails, the Applications tab and its export, publishers' own application lists, campaign-suspended emails, and auto-generated number labels. Every surface now uses the name you set, and the public marketplace listing keeps its own name.
  • Publishers and buyers: the name in your Publishers and Buyers lists was frozen at whatever it was when the account was created, so a publisher who renamed their own account stayed under the old name forever. These labels now follow the account name automatically, and you can still type your own label for any of them — one you've set by hand is never overwritten. Clearing it goes back to following the account.

Caller Check results on every call

new

Calls that go through a Caller Check step now show the outcome directly in the call's detail view: whether the caller passed, was blocked, or the check couldn't complete, along with the screening service's response and how long the lookup took. Previously only blocked callers left a visible trace, so a check that silently failed (for example a wrong endpoint URL in the step) was impossible to spot from the dashboard.

August 8, 2026

One login for every account you belong to

new

If the same email belongs to more than one account, you no longer need a separate login for each. An account switcher in the top left lists every business you're a member of alongside any buyer, publisher, or broker accounts you hold, and switching between them takes one click with no logging out. Networks adding you as a buyer, publisher, or broker can now send the invite to the email you already use, and accepting it attaches the account to your existing login instead of asking you to make a second one. Each account keeps its own permissions, and networks with their own branded domain only ever show the accounts that belong to that network.

Ported numbers take calls the moment they arrive

new

Numbers ported in from another provider were landing in your account without call routing attached, so calls to them went nowhere until we configured them by hand. Porting now sets up call routing, texting, and call status reporting automatically as soon as the number lands, and existing numbers already in this state have been repaired.

Renamed buyer campaigns show the new name everywhere

new

Renaming a buyer campaign left the old name on its bidder card inside an RTB call flow step and on new entries in the ping log, so the only way to correct it was to remove the buyer and add them back. The name now follows the rename everywhere it appears.

Caller Check API keys now save

new

Saving an API key on the Caller Check step failed every time with "Could not save the key. Try again.", so the step could never be pointed at a screening service. Keys now save and can be reused across your flows as intended.

Faster call log

improved

The call log opens noticeably quicker. Accounts that both buy and sell marketplace calls saw the biggest delay and are now many times faster, and every visit to the page does half the work it used to regardless of account type.

Plan payment fixes

fixed
  • Failed plan payments no longer clear themselves: When a card was declined for your monthly plan, the payment notice could disappear on its own without the payment having gone through, and account credit meant for calls and numbers was used up instead. The notice now stays until the plan is genuinely paid, so a declined card is visible until it's fixed.
  • Paying a late plan charge restores your plan: If a plan was cancelled after repeated declined payments, paying the outstanding amount went through but left the account with no plan attached, so numbers renewed at pay-as-you-go rates instead of your plan's rate. Paying now puts your plan back in place at the price you were on, with no extra charge for the period you'd already paid.

August 7, 2026

Caller Check screens callers before they connect

new

A new Caller Check step for call flows checks each caller against an outside screening service and hangs up on the ones it flags, before the call ever reaches your destination. Blacklist Alliance comes preset and ready to use, or point the step at any screening service you already pay for. Save your API key once and reuse it across every flow in your business, then choose which response value means "block". Blocked calls are labeled in your call log and are never billed. If the screening service is slow or unreachable the call continues as normal, so screening can never cost you a good caller.

Name and delete publisher campaigns

new

Pay Per Call networks can now give each publisher campaign its own name instead of showing the offer's title, so two publishers running the same offer can be labeled for the work they are actually sending. Campaigns you no longer need can be deleted from the campaign settings. Deleting frees the number for reassignment and leaves past calls and earnings history untouched.

Build your first campaign while signing up

new

Buyer signup now goes from creating your account, to building your first campaign, to funding your balance. The campaign step uses the very same editor you get inside the app, so the price per call, service area, and call destination you choose during signup are exactly what you will see later. Both the campaign and funding steps can be skipped, and the confirmation page after funding now takes you straight to your campaigns.

Clearer campaign settings

new

The campaign editor's Basics section now keeps the four things you set most often in one place: campaign name, vertical, daily call cap, and minimum call duration. Vertical, daily call cap, and minimum call duration each explain themselves with a short tooltip written for anyone new to pay per call, and the signup version of the editor is wider so hours of operation are no longer cut off.

August 6, 2026

Custom publisher payout terms

new

Pay Per Call networks can now set their own payout schedule for publishers. Settings → Pay Per Call → Payout Preferences offers Standard terms or Custom, how long earnings are held before becoming available, and how long publishers wait between payout requests. Publisher earnings pages and payout requests follow your terms automatically, and the "Pays weekly / bi-weekly / monthly" badge on marketplace listings now reflects each network's actual terms instead of a fixed label.

Offer editor: custom verticals and internal names for your publishers

new

The offer editor got smarter about how offers are labeled and categorized:

  • Custom verticals: Type your own vertical name when creating or editing an offer — it's saved as a new vertical visible only within your network, and your buyers' and brokers' campaign pickers include it automatically.
  • Internal offer names: Invite-only and private offers now show their internal name to your network's publishers everywhere in the app, instead of the public marketplace listing title.
  • One vertical field: The marketplace subcategory picker now lives in the Distribution section and only appears for offers actually listed on the marketplace.
  • New verticals: Wildlife Removal and Auto Body are now available for offers and campaigns.

Payment pages on white-label domains

new

Paying from a network's own branded domain no longer strands you on a login screen:

  • Buyer & broker deposits: After completing a deposit, the confirmation page now loads and shows your updated balance. Previously the redirect bounced to the login page — the deposit was still credited automatically within a few minutes, but it looked like the payment failed, and some payers paid twice.
  • Account top-ups, cards & subscription payments: Adding funds, saving a card, or paying a subscription from a branded domain now returns you to that same domain when the payment finishes, instead of the main platform's login page.

Negative-balance notices show the live amount owed

new

The negative-balance notice on the billing page, and its email reminders, now always shows your current outstanding amount. Previously it froze at the amount from the moment your balance first went negative, so it could badly understate what was owed.

Delete Pay Per Call offers through the API

new

Offers can now be deleted via the API (DELETE /api/v1/ppc/campaigns/{id}), including drafts created through the legacy campaigns endpoint that never appeared in the Offers tab. Deleted offers also no longer linger in API list responses.

August 4, 2026

Buyer campaign verticals now come from your offers

new

When you, your buyers, or your brokers create a buyer campaign, the vertical picker now only offers verticals your network actually has an offer for, no more campaigns pointed at a vertical with no matching supply. Each offer now carries a "Buyer campaign vertical" setting in the offer editor, auto-suggested from its marketplace category, and existing campaigns keep their current vertical even if no offer matches it yet.

Broker accounts for Pay Per Call networks

new

Pay Per Call networks can now bring on brokers, trusted partners who bring their own buyers into your network and manage them for you. Turn on "Enable broker accounts" under Settings → Pay Per Call → Global Settings and a Brokers tab appears on your Pay Per Call dashboard, where you invite brokers and track what their buyers owe you. Each broker gets their own portal login to create buyers and set up their campaigns and bids, seeing only their own buyers' calls, never the rest of your network. Charges for a broker's buyers accrue on the broker's own balance, which they fund with deposits, a saved card, or auto top-up, or run on invoice billing and settle with you directly. The first settings tab is now called Global Settings, holding your network profile alongside network-wide options like this one.

A more informative Buyers list

new

The Buyers tab in Pay Per Call now shows much more at a glance: each buyer's email (with one-click copy) under their name, how they're billed (prepaid or invoice), what they've spent in the last four weeks, and a per-buyer breakdown of campaign health, live, paused, needs balance, outside hours, or cap reached, as compact chips with explanations on hover. Columns are sortable and you can filter by billing mode or campaign status. The Publishers tab also now says "publisher" everywhere it used to say "affiliate."

Publisher campaign pages open instantly, organized into tabs

new

The publisher campaign detail page is now split into two tabs, Campaign details and Ping activity, matching the buyer campaign page, and it opens instantly even for publishers sending hundreds of thousands of pings: the ping totals and activity chart that previously took noticeable time to compute now load in milliseconds, and lifetime totals stay accurate no matter how much old ping history has been trimmed.

Publisher payout corrections

new
  • Payout adjustments now reach the publisher's view: unqualifying a call, editing its payout, granting a retroactive payout, or approving a buyer dispute updates the publisher's own copy of that call too — previously the publisher's dashboard could keep showing the old amount even though the actual ledger was correct. Existing mismatched calls have been corrected.
  • Missed payouts on some auction wins: calls from publishers on a standard campaign assignment that were sold through the network's live auction billed the buyer but skipped the publisher's payout. These calls now attribute and pay the publisher correctly (including their minimum-duration rules), and the affected publishers have been credited.

Ping activity on buyer campaigns, with full request/response detail

new

Buyer campaign pages in Pay Per Call are now split into two tabs: your campaign setup on the first, and a new Ping activity tab showing every ping sent to that buyer, how many times the campaign was pinged, how many bids it returned, and how many calls it won, with an activity chart and a log of recent pings. Click any ping, on either the buyer campaign page or the publisher campaign page, to see the complete exchange: the exact request that was sent, the response that came back (including the buyer's error message when an endpoint rejects), and the accept confirmation for two-step buyers. Full payloads are kept for 48 hours on publisher pings and 7 days on buyer pings, winners keep theirs much longer, so recent integration issues can be diagnosed without the log growing forever. The same click-through detail is also available from any call's Ping Details tab in the call log.