How to Send TrackDrive Pings to CallScaler
Create a TrackDrive buyer that pings a CallScaler campaign for a live bid and routes accepted calls to the returned number.
What you're building
A TrackDrive Buyer that pings your CallScaler campaign endpoint before bridging the call. CallScaler answers in about a second with accepted, a bid, and a phone number — and TrackDrive does the rest: when a bid is accepted, it overrides the buyer's Number, Revenue, and Duration with the values from the ping response.
TrackDrive's own reference for this flow is their Ringba RTB ping guide. That guide leans on a Ringba buyer template — there's no template needed for CallScaler, because the whole configuration is one URL and one header.
Before you start
You need two values from your campaign — both are in the campaign approval email and on My Campaigns (open the campaign and hit API specs):
Network admins: open the publisher under Publishers and choose Download integration guide (PDF) from the ⋯ menu — a send-ready document with every campaign's credentials and this setup.
- •Endpoint URL —
https://…/api/v1/rtb/ping/<token>, unique per campaign. - •X-RTB-Secret — the header value that authenticates your pings.
Step 1 — Create the buyer
Go to Campaigns → Buyers and create a new buyer (skip the templates — they're for specific networks). Fill in the basics: Name it after the campaign, set a Buyer ID and Time Zone, and keep it Paused while you configure the ping.
Step 2 — Configure the ping
In the buyer's Conversion Settings, add a PING-type setting:
Pings without a caller or ZIP are rejected (missing_caller / missing_zip). And unlike TrackDrive's own two-step inbound webhooks, there is no separate post/accept request — the ping response already includes the number to dial.
- •URL — the campaign's endpoint URL.
- •Method — POST.
- •Fields — send
caller_idandzipwith TrackDrive's tokens for the caller number and ZIP. CallScaler accepts TrackDrive's own field names as-is, so no renaming is needed. - •Headers — add
X-RTB-Secretwith the campaign secret.
Step 3 — Let the response drive the call
TrackDrive verifies bid acceptance and overrides the buyer's values from the response by default — keep the Number on its dynamic response path so accepted calls route to the returned tracking number:
- •Number —
phone. Route the call there within 15 minutes (ttl_seconds); it's matched to your ping automatically and the caller skips the ZIP prompt. - •Revenue —
bid(dollars;bid_centsexists if you prefer integers). - •Duration —
min_duration_seconds, the call length a call must reach to pay out.
{"accepted": true,
"bid": 25.50,
"phone": "+15125550123",
"ttl_seconds": 900,
"min_duration_seconds": 90,
"duration_basis": "total",
"ref_id": "…",
"ping_id": "…"}Step 4 — Go live
Unpause the buyer and add it to the TrackDrive campaigns that should ping for a price. Rejected pings return accepted: false with a reason code — no_winner just means nothing bid on that caller and ZIP, so route the call elsewhere; it costs you nothing.
Test and verify
Before going live:
- •Use Send a test ping on the campaign's API specs panel to confirm the endpoint answers before pointing TrackDrive at it. Pings are free — only routed, qualified calls move money.
- •Every TrackDrive ping appears in the campaign's ping log within seconds, including the reject reason:
bad_secret(header wrong or missing),missing_caller/missing_zip(field didn't arrive),campaign_inactive(ask your network contact). - •Before placing a real test call, register your phone as a test number in your publisher dashboard — calls from unregistered VoIP numbers are blocked as spam, and test-number calls connect without counting as a paid lead.
Related
On this page