Understanding the Lead Modal: Lead Processing & Troubleshooting Guide

The Lead Modal gives you a complete view of everything that happened to a lead from the moment it was ingested through buyer responses, triggers, and data appending. Use it to understand how a lead was processed, optimize campaign performance, and troubleshoot issues.

When a lead is processed in Lead Prosper, multiple actions happen in real time: internal data validation, filter and cap checks, third-party validations, and data appending — all before the lead is even ingested. Once ingested, the system attempts to sell the lead to your buyers, and after that, campaign triggers fire. The Lead Modal lets you review every step of this lifecycle for any individual lead.


Lead Info Tab

The Lead Info tab is the default view when you open any lead. It contains two main areas: lead details with field values on the left, and the Timeline on the right.

Lead Overview

At the top of the Lead Info tab you'll see a summary of key details:

  • Lead ID — The unique lp_lead_id  for the lead.
  • Campaign — The campaign the lead was sent into.
  • Lead Date — The exact date and time the lead was ingested and processed. The date and time shown here use the default timezone set in your Account Settings.
  • Total Execution Time — The total time it took for the lead to fully process, from initial ingestion to being sold.
  • Purchase Price — The cost paid to your Supplier for the lead.
  • Sold For Price — The total price the lead was sold to your buyer(s) for.
  • Profit — The profit made on the lead, calculated by deducting the purchase price from the sale price.

Field Values

Below the overview, you'll see up to three sections displaying the lead's field data:

Campaign Fields — All campaign fields and values sent in with the lead on the POST. If you are reviewing leads from a Ping Post Exchange, this section shows only the data sent on the POST. Check the Ping Log tab to see exactly what data came in on the PING, as it may differ from the POST data.

Computed Fields — If your campaign has computed fields configured, this section shows each computed field and its calculated value based on the POST data.

Additional Fields — This section displays any field included in the lead payload that doesn't have a matching campaign field. It serves two purposes:

  • During onboarding, it shows everything that came through from your form so you can build matching campaign fields.
  • In live campaigns, it surfaces fields being sent that may not exist yet, helps you catch typos in field names, and makes troubleshooting easier when something doesn't map.

Lead Actions

At the top of the Lead Info tab you also have options to:

  • Copy the lead data in JSON or FORM format.
  • Return the Lead if the lead was sold exclusively to a single buyer.
  • Edit and Repost the lead.

The Timeline

The right-hand side of the Lead Modal shows the Timeline — one of the most important tools for reviewing your leads. It provides a full breakdown of the lead lifecycle in order:

  1. The Supplier that sent the lead in.
  2. Third-party integrations that ran on the lead, in the order they were called, with pass/fail responses for each.
  3. Data Appending that ran on the lead (whether it was configured to run before or after filters).
  4. Each eligible buyer, with a complete breakdown of their responses — whether they accepted on PING or POST, the bid price, margins applied, the final sale price (if any), and whether a buyer-level filter or cap prevented the lead from selling.

If you are using buyer groups in your campaign, the groups and their associated buyers are organized together in the Timeline along with their specific responses.

Ping Post Exchange and Highest Bidder Campaigns

In a Ping Post Exchange or Highest Bidder campaign, the Timeline shows a full breakdown of all bids, margins, and penalties applied to each buyer and their returned bids. You'll also see statuses indicating whether the bid was attempted and rejected, if the buyer was outbid, or if they failed to sell due to PING conditions not being met.

Clicking Into a Buyer

Click any buyer in the Timeline to open a detailed view of the requests and responses (PING and/or POST) made to that buyer. This includes headers, request bodies, the buyer's response, and the next actions that took place. You can review exactly what was sent, what the buyer returned, any bid adjustments from margins or penalties, and the final outcome of the lead.

This is available for every buyer in the Timeline, so you can click through each one to review the full lifecycle of the lead being attempted against each buyer.

Filtering the Timeline

For campaigns with a large number of buyers, you can filter the Timeline by:

  • Status — Any, Accepted, or Error.
  • Specific buyer — Select a single buyer to focus on.

This helps declutter the Timeline when there are dozens of buyers inside a campaign.


Post Log Tab

All leads have a Post Log tab. It provides a full breakdown of the POST data that was sent in (the same data available under Campaign Fields on the Lead Info tab). The Post Log also includes a complete timeline of every buyer that was attempted, including the API requests and responses sent, any bids or pricing rules, margins or penalties, and more.


Ping Log Tab

If the lead is part of a Ping Post Exchange, you'll see a Ping Log tab. It shows a full breakdown of the data sent on the PING, along with the PING requests and responses sent to each eligible buyer.

Keep in mind that Suppliers can technically send different values to the same campaign field on the PING vs. the POST. This is important to remember when troubleshooting issues in a Ping Post Exchange — if something looks off, compare the PING and POST data to confirm the same values were sent.


Triggers Log Tab

If the lead triggered a Campaign Trigger, you'll see a Triggers Log tab. It contains a breakdown of each Trigger and Action that was executed after the lead processed:

  • If the Trigger Action was an API request, you'll see the request and response.
  • If it was an Email, you'll see the email body.
  • If it posted to a Google Sheet, you'll see the full breakdown of the header and values that were posted.



Delayed Triggers Log Tab

If a lead triggered a Delayed Trigger, a Delayed Triggers Log tab appears after the delayed trigger has processed. This tab shows the Delayed Trigger details, the date and time the delayed trigger executed, and a breakdown of every action that was executed.


Data Appending Tab

If your campaign is configured for data appending and it ran on a particular lead, you'll see a Data Appending tab. It shows:

  • The Data Appending name.
  • Whether it runs before or after filters.
  • The API request and response.
  • What data was inserted or overwritten, and which campaign field it was added to.


Troubleshooting Leads

The Lead Modal is your primary tool for diagnosing why a lead was rejected or didn't sell as expected. Most troubleshooting happens when you click into a buyer from the Timeline and review the request and response details.

Investigating a Rejected Lead

When you click any buyer in the Timeline, a panel opens showing the request sent to that buyer and their full response on the PING and/or POST. Look for:

  • Specific error messages in the buyer's response (missing required fields, invalid values, incorrect formats).
  • The actual data sent vs. what the buyer's API specs require.
  • Differences in the payload between leads that sold and leads that didn't.

When you find an error message that points to a specific issue, go back to the buyer setup and adjust the payload, transformer, or field mapping accordingly.

Common Errors and What They Mean

Not every error is self-explanatory. Some of the most common ones include:

Unmatched / No Buyers Found / Lead Failed — Vague catch-all errors from the buyer with no specific cause provided. When the buyer returns a vague status like "Unmatched" or "Lead Failed," there isn't much to pull on our end — we can only show what the buyer returns. The best path forward is to reach out to the buyer directly and ask them to provide a reason for the rejection. That insight helps you adjust your setup so more leads sell to that buyer going forward.

Incorrect or missing API key — The buyer's authentication failed. Double-check the API key, token, or auth header in the buyer's payload.

Invalid data type being sent — A field was sent in the wrong format, such as a string where a number is expected, or a hyphenated phone number when 10 digits are required. For formatting fixes, see Payload Field Transformers.

Lead failed validation on the buyer's side — The buyer's system rejected the lead based on their own validation rules.

Buyer flagging the lead as a duplicate — The buyer already has the lead on file, even if your campaign's dupe checker didn't catch it.

Buyer caps being hit — The buyer has reached their daily, weekly, or monthly cap.

"Rejected" Status Even Though the Buyer Accepted the Lead

If the Lead Modal shows the lead was rejected, but opening the buyer's response reveals they actually accepted or sold the lead, the issue is almost always a buyer response mapping problem.

Each buyer setup includes a mapping that tells Lead Prosper what an "Accepted" response looks like. If that mapping doesn't match what the buyer is actually returning, Lead Prosper will mark the lead as rejected even when it sold on the buyer's side.

The fastest way to fix this is the Response Parser tool. It lets you point and click on the buyer's actual response to set the correct Accepted, Duplicated, and pricing mappings without manually editing JSON paths or regex. See Using The Upgraded Response Parser To Simplify Buyer Setups for a full walkthrough.

The Buyer Didn't Return a Response

If a buyer doesn't appear to have returned anything, check the connection time first.

By default, new buyers in Lead Prosper have a 30-second timeout. Any response that takes longer than 30 seconds causes the connection to be terminated. This timeout exists because when a lead is ingested, the system has to wait for every buyer to respond before sending a final status back to the supplier — and 30 seconds is already a long time for a supplier to wait.

Two important things to know about timeouts:

  • Even though Lead Prosper drops the connection, the buyer's system may still be processing the lead. The buyer can still sell the lead on their end without Lead Prosper knowing, which creates the risk of the lead being double-sold elsewhere in the meantime.
  • This makes long buyer response times a serious issue to address quickly.

To fix this:

  1. Short-term: Temporarily increase the timeout for that buyer so you stop missing responses.
  2. Long-term: Reach out to the buyer and ask them to optimize their response times. Anything consistently over a few seconds should be improved on their side.

The Lead Modal is your single source of truth for understanding how any lead was processed in Lead Prosper. From the Lead Info tab you can review field values, computed fields, and unmapped fields. The Timeline gives you a chronological view of every validation, data append, and buyer attempt — and lets you click into any buyer to inspect the exact API request and response. The Post Log and Ping Log tabs provide the raw payload data for each stage of the exchange, while the Triggers Log, Delayed Triggers Log, and Data Appending tabs surface everything that happened after the lead was sold or processed.

Use the Lead Modal to diagnose why a lead was rejected by a specific buyer, verify that your payload and field mappings match a buyer's API spec, confirm that triggers and delayed triggers fired correctly, check what data was appended and which fields were updated, and compare PING vs. POST data in a Ping Post Exchange to catch discrepancies.

If you run into an issue you can't resolve using the Lead Modal, or if a buyer is returning vague error messages that don't point to a clear fix, reach out to the Lead Prosper support team and we'll help you dig into it.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.