# Leadspedia Real Time Bidding Integration

> Send a real-time ping from a CallGrid destination to a Leadspedia call campaign, read the payout and routing number, and test the integration.

Source: https://callgrid.com/knowledge-base/leadspedia-real-time-bidding-integration
Last updated: 2026-10-28
Topics: Integrations, Real Time Bidding

## Overview

This integration sends a real-time ping from a CallGrid **destination** to a Leadspedia call campaign. Leadspedia decides whether a buyer wants the call and returns a payout and a routing number; CallGrid uses the response to accept or reject that destination for the call or bid.

In CallGrid the destination's outbound request is its **Ping**, configured on the destination's **Ping** tab. It is not an integration webhook (those live under Integrations > Webhooks and fire on call events).

## Prerequisites

- A Leadspedia account with a call campaign that accepts pre-pings.
- From Leadspedia: your **subdomain**, **Campaign ID** and **Campaign Key**.
- A CallGrid campaign that will route to this destination (static or bidding).
- If Leadspedia only accepts requests from known IPs, have them allow CallGrid's static IPs, `3.232.249.88` and `54.160.65.103` (see Static IPs below).

## Step 1: Create the destination

1. **Buyers > Destinations > New Destination**.
2. **Settings** tab > Basic Information: Name (for example "Leadspedia - Medicare"), Sub ID, **Buyer**, Timezone, Business Hours.
3. Call Settings > **Phone Type** **Variable** (the routing number comes from the ping response). Set Dial Attempts and Dial Timeout.
4. Revenue Settings > **Revenue Type** **Variable**; set **Billable Type** (usually Duration) and duration to match the Leadspedia buyer's terms.
5. Save the destination. The Ping tab is available only after the destination is saved ("Save the destination to enable ping settings").

## Step 2: Configure the Ping

![Destination Ping tab with the Leadspedia template selected](https://callgrid.com/api/media/file/kb-Leadspedia-template.png)

![Leadspedia ping request data and test variables](https://callgrid.com/api/media/file/kb-Leadspedia-request.png)

1. Open the destination > **Ping** tab and turn on **Ping Integration**.
2. Turn on **Ping Template** and select **Leadspedia**.
3. Fill in **Subdomain**, **Campaign ID** and **Campaign Key** from your Leadspedia account.

The template sets up the request, acceptance and mapping for you:

| Setting | Value |
| --- | --- |
| Method | GET |
| URL | `https://<subdomain>.leadspediatrack.com/call-preping.do` with `lp_campaign_id`, `lp_campaign_key`, `caller_id` and `zip_code` |
| Caller ID sent | `[[tag:CallerId]]` |
| Zip sent | The publisher's zip (`VisitorZipCode`) if present, otherwise the inbound zip (`InboundZipCode`) |
| Acceptance Parsing | JSON, `payout` Greater Than `0` |
| Variable Revenue/Bid | `payout` |
| Variable Duration | `duration` |
| Variable Phone/SIP | `number` |

1. Set **Timeout**: the seconds CallGrid waits for Leadspedia. Keep it well under your publishers' bid timeouts.
2. Turn on **Use Static IP for requests** if Leadspedia restricts inbound IPs.

### Adjusting the request

- **More tags.** Add parameters to the URL with tag macros: `[[tag:TagName]]` inserts a tag value, `[[number:TagName]]` inserts it as a number. Click the code icon in the URL bar to search and insert tags. Tag names are case sensitive.
- **Zip code.** Campaign **Estimate Zip Code** fills a blank InboundZipCode from area code data at no charge, and that value reaches Leadspedia through the zip parameter above.
- **Cents.** Use **Adjust Revenue** only if Leadspedia returns the payout in cents.
- **Two-step posts.** If your Leadspedia campaign uses a ping and a separate post with a ping id, set up **Confirmation Ping/Post** and pass the id with `[[tag:PingId]]`. **Value Extraction** can store a Leadspedia id in a custom tag or in PingResponseId for reconciliation.
- **Rejection Protection** keeps the call or bid when the HTTP status is not 200. Use it only if Leadspedia returns transient errors on otherwise good responses.

## Step 3: Test

![](https://callgrid.com/api/media/file/LeadspediaAP.png)

1. In **Ping Testing**, enter test variables (a real caller ID format and a zip such as `90210`).
2. Click **Run Ping**.
3. Read the raw response. Confirm it contains `payout`, `duration` and `number`, that acceptance passes for a paid response, and that the number and payout extract. If Leadspedia names a field differently in your account, update the Acceptance Parsing and Field Mapping paths to match the response.
4. **Save Ping**.

## Step 4: Add the destination to a campaign

1. Campaign > Edit > **Routing** tab: add the destination (Simple or Group Routing).
2. Choose a routing method. Revenue or Dynamic RPC compare Leadspedia's payout with other buyers; Average RPC with Turbo Routing favors speed.
3. Optional floors: **Minimum Revenue** on the campaign or group, or **Min Revenue Amount** on the destination, instead of hard-coding a payout threshold in acceptance parsing. The destination value overrides campaign and group for that destination.
4. On bidding campaigns, set **Max Pings Per Minute** on the destination or buyer if Leadspedia limits ping volume, and consider **Ping Guard**.

## How it works

1. A call arrives (static) or a source sends a bid request (bidding).
2. CallGrid sends the Leadspedia ping with the caller's tags.
3. Leadspedia evaluates its buyers and returns a response.
4. Acceptance parsing accepts or rejects; Field Mapping extracts the number, payout and duration.
5. The routing method picks among accepted destinations. If Leadspedia wins, the call dials the returned number.

## Static IPs

With **Use Static IP for requests** on, pings come from `3.232.249.88` and `54.160.65.103`. These IPs apply to pings and webhooks only, not to SIP traffic.

## Per-source timeout

If one publisher needs a shorter ping timeout, set it per source: Campaign > Sources tab > Configure source overrides > **Webhook Timeout**. It overrides the destination ping timeout for that source and does not affect event webhooks.

## Troubleshooting

| Problem | Check |
| --- | --- |
| Authentication or 4xx errors | Campaign Key, Campaign ID, subdomain spelling; Leadspedia campaign active |
| No bids | Leadspedia buyer criteria, budget and hours; zip and caller ID actually populated (check the ping detail on the Pings tab) |
| Accepted but call does not connect | Variable Phone/SIP mapping; number format |
| Payout shows 0 or wrong | Variable Revenue/Bid mapping; Adjust Revenue for cents |
| Timeouts | Pings report Timeout and Timeout %; raise destination Timeout or ask Leadspedia about latency |
| High API Failed | Leadspedia returning errors or rate limiting; a buyer's HTTP 429 is counted as API Failed |
| Leadspedia blocks requests | Turn on Use Static IP and have them allow both IPs |

Reports > **Pings** grouped by DestinationName shows Pings, Accepted, Ping Won, Won Call, Failed Accept, Min Rev, Timeout, API Failed and Avg Bid for the Leadspedia destination.

## Best practices

- One destination per Leadspedia campaign, so reporting and caps stay separate.
- Use tag aliases for zip and state instead of editing each ping when publishers send different tag names.
- Keep payout floors in Minimum Revenue settings rather than acceptance rules, so they are visible in one place.
- Review Accept % and Avg Bid weekly and compare with other buyers.

## Do it with AI

**Ask Griddy, Claude or ChatGPT.** Try: "How many pings went to my Leadspedia destination this week, and how many were accepted?" Claude and ChatGPT need the CallGrid connector turned on (setup guides for [Claude](https://callgrid.com/knowledge-base/callgrid-mcp-connect-to-claude-desktop) and [ChatGPT](https://callgrid.com/knowledge-base/callgrid-mcp-connect-to-chatgpt)).

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