CallGrid

TrackDrive Real Time Bidding Integration

Sell your calls into a TrackDrive buyer's marketplace: set up the destination, configure the TrackDrive ping template, test it and troubleshoot.

Updated 5 min read

Browse the knowledge base
On this page

Overview#

This integration sells your calls into a TrackDrive buyer's marketplace. A CallGrid destination pings TrackDrive's inbound webhook ping endpoint for each call, reads the offer in the response and, if it is accepted, routes the call to TrackDrive.

In CallGrid terms, TrackDrive is a buyer and this is that destination's Ping (Edit Destination > Ping tab). It is not an integration webhook.

Prerequisites#

  • A TrackDrive inbound webhook ping endpoint, provided by the TrackDrive buyer.
  • From TrackDrive: your subdomain, the webhook name, the traffic source ID, and the TrackDrive number the ping should reference.
  • A CallGrid buyer and destination for TrackDrive (Buyers > Destinations).

Step 1: Create the destination#

  1. Go to Buyers > Destinations and click + New Destination.
  2. Basic Information: Name (for example TrackDrive - BuyerName), Buyer, Timezone, Business Hours.
  3. Call Settings > Phone Type: Phone, with the TrackDrive number the buyer gave you. If the buyer's endpoint returns a forwarding number for each offer instead, use Variable and map it in Step 2.
  4. Call Settings > Advanced: Match Connect Duration always applies to TrackDrive destinations, whether or not the checkbox is ticked. TrackDrive answers the call and plays a ringing tone while it connects its buyer, which otherwise inflates duration on your side. Match Connect is conservative and can under-report by up to about a second. True Connect (Beta) removes the discrepancy for both sides; ask your account manager before enabling it.
  5. Revenue Settings: Revenue Type Variable if you will map the payout from the response, otherwise Fixed. Set Billable Type and Duration to match the TrackDrive offer's conversion rules.
  6. Save Destination. The Ping tab is available once the destination is saved.

Step 2: Configure the Ping#

Destination Ping tab with the TrackDrive template selected
TrackDrive ping request body and test variables
  1. Open the destination and go to the Ping tab. Turn on Ping Integration.
  2. Turn on Ping Template and select TrackDrive.
  3. Fill in Subdomain, Webhook Name, the TrackDrive number and Traffic Source ID.

The template sends this request:

Setting

Value

Method

POST

URL

https://<subdomain>.trackdrive.com/api/v1/inbound_webhooks/ping/<webhook name>

Content Type

JSON

JSON
{  "trackdrive_number": "YOUR_TRACKDRIVE_NUMBER",  "traffic_source_id": "YOUR_TRAFFIC_SOURCE_ID",  "caller_id": "[[tag:CallerId]]",  "state": "[[tag:VisitorStateCode|tag:InboundStateCode]]",  "zip": "[[tag:VisitorZipCode|tag:InboundZipCode]]"}

State and zip use the publisher's value when it is present and fall back to the inbound value. Add any other fields the buyer's filters need. Tag names are case sensitive.

  1. Set Timeout to what TrackDrive can meet. The source override Webhook Timeout can shorten it per source.
  2. Turn on Use Static IP for requests only if TrackDrive allow-lists IPs. Requests then come from 3.232.249.88 and 54.160.65.103. They apply to the Ping, its confirmation request and webhooks with the option on, not to SIP.

Acceptance and mapping set by the template#

Setting

Path

Meaning

Acceptance Parsing (JSON)

buyers.0.offer_conversion_payout Greater Than 0

Accept when the first offer pays

Variable Revenue/Bid

buyers.0.offer_conversion_payout

Payout of the first offer

Variable Duration

buyers.0.current_conversion_duration

Seconds the call must last to convert

Value Extraction

buyers.0.id to PingResponseId, status to PingResponseCode

For reconciliation with TrackDrive

Check the field names against your response. TrackDrive lets each endpoint choose which buyer fields it returns, so your buyer's response may use different names, for example bid_price for the payout. Run Ping (Step 3) and, if the names differ, change the Acceptance Parsing and Field Mapping paths to match.

  • To accept only higher offers, raise the value, for example Greater Than 20. Operators available: Equals, Not Equal To, Greater Than, Less Than.
  • If the response can hold several offers, enable Bid Ordering so the array is sorted by payout before values are extracted.
  • If you set Phone Type to Variable, map Variable Phone/SIP to the forwarding number field, for example buyers.0.forwarding_number.
  • Use Adjust Revenue or Adjust Duration only for unit conversions (cents to dollars, minutes to seconds).

Step 3: Test#

Ping Testing panel with Run Ping
  1. In the Ping tab, fill Test Variables (for example CallerId = a test number).
  2. Click Run Ping.
  3. Read the raw response. Confirm it contains an offer, acceptance passes, and the payout (and number, if mapped) populate.
  4. Click Save Ping.
  5. Add the destination to a campaign's routing and place a live test call. Check Reports > Pings for Accepted, Ping Won and Won Call.

Step 4: Run it#

  • The destination competes according to the campaign's routing method. On Revenue or Dynamic RPC routing, the mapped payout drives selection; on Priority it does not.
  • Set Max Pings Per Minute if TrackDrive rate limits you; buyer-level ping caps also apply.
  • Set Min Revenue Amount on the destination to reject offers below your floor, as an alternative to an acceptance threshold.

SIP note#

If TrackDrive returns a SIP address instead of a number, confirm the buyer is not on Twilio. CallGrid cannot send to a buyer's SIP endpoint when both sides are on Twilio; that buyer must receive calls on a DID.

Troubleshooting#

Symptom

Check

Every ping rejected

Run Ping and read the raw response; check subdomain, webhook name and traffic source ID; check the acceptance path matches the response field names

Pings time out

Reports > Pings Timeout column; raise the Ping Timeout or ask TrackDrive about latency

Pings fail with API errors

Reports > Pings API Failed. A 429 from TrackDrive is counted as API Failed, not as a separate rate limit bucket

Accepted but call not connected

Phone Type number, or the Variable Phone/SIP path if you use one; destination caps or concurrency reached

Payout shows 0

The payout field has a different name in your response; update Variable Revenue/Bid

Duration disputes with TrackDrive

Compare on Connect Duration (Match Connect Duration applies automatically); ask your account manager about True Connect (Beta)

Offers below your floor winning

Add Min Revenue Amount or raise the acceptance threshold

Do it with AI#

Ask Griddy, Claude or ChatGPT. Try: "Show the ping results for my TrackDrive destination today, including timeouts and API failures." Claude and ChatGPT need the CallGrid connector turned on (setup guides for Claude and ChatGPT).

The connector is read only. It looks things up and reads your data. You make the changes in CallGrid.

Was this article helpful?

Still stuck on a setup step?

Email support@callgrid.com with this article and where it stopped matching. A CallGrid specialist will help you get it working.