Tracing Sold Units Back to Their Marketplace Listings
A sold unit with no link to the ad that ran is a dead end in the used-car meeting. Tracing sold units back to their Marketplace listings is a matching habit: VIN, status, thread, and jacket.
The unit sold. The DMS is updated. Someone remembers "it was on Facebook." Nobody can show the listing, the dates it was live, or whether a Marketplace thread existed. In the next used-car meeting, Marketplace gets credit for a walk-in or gets blamed for a car that never posted. Both errors are the same failure: tracing sold units back to their Marketplace listings was never a job with an owner.
This is a matching problem, not a marketing-attribution product. You join a VIN across inventory status, the live or archived ad, any logged conversation, and the deal. When the join is missing, you write "untraced," not a story. You do not get to claim Facebook sold the car because the rep likes Marketplace. You also do not get to say Marketplace did nothing because the jacket source field still says "internet."
This article is for used-car managers and internet directors. Pair it with same-day sold-unit hygiene so the listing does not outlive the deal, and with source capture so the buyer's words have a place to go.
Why Tracing Sold Units to Listings Is an Operations Job
If you cannot reconstruct the ad, you cannot manage the channel.
What you need the join for
- Hygiene. Confirm the listing left Marketplace when the unit sold.
- Coaching. See whether the sold unit had a real listing (photos, price match) or a ghost post.
- Coverage. See which sold VINs never posted at all.
- Disputes. End the meeting argument with a record instead of volume.
What you do not need it for: a made-up close rate, a testimonial, or a claim that Meta's ranking "chose" this car.
The four records that must agree
- Sold VIN in the DMS (or your sold log).
- Inventory/posting record for that VIN (posted at least once, or explicitly never posted).
- Listing identity (the ad: title, price at last live date, photos belonging to that VIN).
- Conversation record if one exists (thread, or an explicit none).
When 1 and 2 disagree, you have a process break. When 2 says posted and you cannot find any evidence of an ad, you have a logging break. When 3 is a different color or year, you have a data break.
Untraced is allowed; fiction is not
A share of sold units will not trace cleanly: cash deals after hours, wholesale that was never supposed to be retail, a listing taken down by a policy notice you did not screenshot. Record untraced with a reason. Do not backfill Marketplace because the month looks better that way.
A Repeatable Process for Tracing Sold Units Back to Marketplace Listings
Run this at deal completion, not at month end when memory is gone.
Same-day match checklist
When a unit goes sold:
- Confirm the VIN on the jacket matches the inventory row.
- Set inventory status to sold and archive so the ad is not still offered as available. That step is the hygiene half; see sold units leaving Marketplace the same day.
- Note last posted/live window: when it first posted, whether it was live on sale day.
- Search the leads log for that VIN. Attach thread IDs or "no thread."
- If the buyer was asked where they found you, copy that pick-list value onto the sold row.
- If they bought a different unit than the one in the thread, record both VINs: came-to-see vs. sold.
If step 2 does not happen, tracing later is archaeology, and buyers will keep messaging a sold car.
Matching when they switch units
Marketplace often starts on one VIN and closes on another. That is normal retail. The listing still did work if a thread exists on the first VIN. Tag:
- Origin listing VIN
- Sold VIN
- Same deal: yes
Do not force the sold VIN's listing to take credit if it was never live. Do not delete the origin thread because the stock number changed.
Matching when there was no thread
Possible truths:
- Walk-in or service-drive buyer; listing may still have been live (awareness you cannot prove).
- Website or phone; listing may have been duplicate content.
- Never posted.
Code the deal as no Marketplace thread. If the unit was posted, you may say "listed, no logged conversation." That is not the same as "Marketplace sold this." Keep the language boring and accurate.
A weekly reconciliation so month-end is not a scavenger hunt
Once a week, not once a quarter:
- Pull retail sold VINs for the week.
- Left-join posting history.
- Flag sold-still-live (should be near zero if same-day archive works).
- Flag sold-never-posted.
- Flag posted-with-thread vs. posted-without-thread.
- Sample five "Marketplace" source tags and confirm a thread or a buyer answer exists.
The sample catches creative coding. The flags catch process.
What the Match Table Should Look Like
Keep it ugly and useful.
Columns
| Column | Meaning |
|---|---|
| Sold date | Retail deal date |
| Sold VIN | Unit that left |
| Origin VIN | Listing that started the chat, if different |
| Ever posted? | Yes / no |
| Live on sold date? | Yes / no / unknown |
| Thread? | Yes / no |
| Buyer-stated source | Pick list or unknown |
| Listing defects at last live | Price mismatch, clone copy, etc., if audited |
| Trace status | Matched / partial / untraced |
Partial means you have posting history but no thread and no buyer source, or a thread with a VIN mismatch you have not resolved.
How to read it in the used-car meeting
Questions that deserve answers:
- How many retail deals never had a Marketplace listing? That is a coverage miss if those units were supposed to be posted.
- How many deals had a live listing and a thread? That is the set you may discuss as Marketplace-touched.
- How many sold-still-live incidents? That is trust and duplicate-risk, not a channel debate.
- How many origin-VIN switches? Normal. Useful for coaching reps not to abandon the original thread.
Do not compute a fake "percent of sales from Marketplace" by dividing threads by total deals unless you also show unknown and never-posted. A single percentage without those pieces is a weapon.
Edge cases
- Wholesale and dealer trades. Exclude from retail tracing or keep a separate sheet. Posting them as retail is a different problem.
- Pending that unwinds. If the deal falls through, the unit may need to go live again. Tracing should show the first sold attempt and the relist, not a single confused row. Relist discipline is covered in other playbooks; here, just do not merge two lives of the same VIN into one blob.
- Multi-lot. Match rooftop as well as VIN. The wrong store's listing is a mismatch.
- Policy removals. If the listing was down, say so. Check current Meta commerce policies for what you can relist. This is not legal advice.
Close the Loop Without Building a Science Project
If the process needs a committee, it will not run on a Saturday delivery.
Owners
- Desk / F&I / closer: sold VIN hits the log the same day.
- Inventory owner: status to sold, archive.
- Internet director or used-car manager: weekly join and flags.
- Rep who owned the thread: origin VIN and switch note.
Shared logins destroy tracing because "who posted" and "who answered" become fiction. One person, one queue, one account relationship.
What "good" looks like operationally
You will not hit perfect. Aim for a store that can, for last week, list every retail VIN as posted or not, live-on-sold-date or not, thread or not, with unknown labeled. That is enough to manage posting labor and hygiene. Attribution theater can wait.
Connect this loop to posting analytics by rep and source for labor, and to the message-to-sale funnel for conversations. Tracing is the sold-end of those two.
How PostToMarket Automates This
Tracing sold units back to their Marketplace listings fails when posting history lives in screenshots and sold status lives only in the DMS. The operational need is one VIN with a posting status, a queue owner, and a sold/archive action that the whole store can see.
PostToMarket inventory statuses (draft, posting, posted, sold, failed) are the spine of the match. Mark as sold and archive from inventory or the queue is the same-day join to "not live anymore." Unlimited vehicles means you are not dropping VINs off a truncated list. Bulk CSV and Excel import with a row-level error log keeps the VIN that will later sell from being a typo in week one. The leads inbox holds inquiries a manager can still see after the unit is sold, which is how you answer "was there a thread?" Team analytics by rep and source show who posted the origin listing. Per-rep queues, manager assignment, and the team queue view keep ownership from dissolving. AutoPost records paced, one-at-a-time posting rather than an undocumented burst. PostToMarket is independent and not affiliated with or endorsed by Meta. It does not certify that Facebook caused the deal.
Make "It Was on Facebook" a Record, Not a Rumor
If last month's sold units cannot be joined to a listing status, you are arguing in the dark. Tracing sold units back to their Marketplace listings means every retail VIN is posted or never-posted, thread or no thread, archived or still live, with untraced written when that is the truth.
PostToMarket includes inventory, import history, queues, a leads inbox, analytics, and AutoPost (one vehicle at a time, human-like delays, server-enforced daily limits). Dealership is $299 per month for up to 13 logins. Starter is $59 per month for a solo seller with one login.
Start your 10-day free trial through secure Stripe checkout. Put sold status and listing history on the same VIN before the next used-car meeting. Cancel anytime.