Reconcile the lead sources prospects mention on calls
Extract what prospects actually say about finding the business, connect each statement to the correct deal and build a deduplicated channel report with visible gaps.
How this works
Separate prospect-reported discovery from channel normalization and the existing CRM source field. Preserve the original conversation context.
This is evidence about stated recall, not causal attribution or proof that a campaign generated incremental revenue. Preserve multiple touches, unknown answers and uncertain matches instead of forcing one channel per deal.
Before you start
Reporting population
Define the call window, eligible call types and whether the denominator is all eligible deals or only deals represented by calls. Record that choice visibly.
Channel definitions
Agree channel labels and distinctions such as first discovery, later research and booking trigger. Keep a mapping version for comparable reporting.
Prepare the inputs
- Call corpus
- Required
Transcript IDs, dates, speakers, account or contact references and text.
Inventory missing, duplicate and incomplete transcripts before extracting statements.
- CRM identity export
- Required
Deal IDs, account and contact IDs, relevant dates and recorded source fields.
Prefer stable IDs; domains and company names may match several deals.
- Coding rules
- Required
Channel labels, synonyms, touch-type definitions and unknown reasons.
Allow multiple mentions and ambiguous statements; do not convert a salesperson’s suggestion into prospect testimony.
- Reporting specification
- Required
Window, time zone, eligibility rules and counting unit.
Declare denominators and how unmatched calls are counted.
Implementation, step by step
Freeze the coverage and counting unit
- List eligible calls, available transcripts and candidate deals for the selected window. Deduplicate repeated exports by transcript ID.
- Record exclusions and unavailable calls. Define whether this run counts distinct deals, calls or mentions; use separate totals rather than mixing them.
Checkpoint: Coverage and denominator are reproducible.
Extract explicit discovery statements
- Find answers about first hearing of the business, researching it or deciding to book. Retain a short exact excerpt, speaker, timestamp and nearby question.
- Separate prospect speech from salesperson prompts, hypothetical examples and negations. A channel named only in the question is not a confirmed source.
Checkpoint: Every accepted mention has prospect evidence and a touch type.
Resolve the deal identity
- Prefer call-to-deal IDs, then verified contact associations and time context. Compare all candidate deals when an account has multiple opportunities.
- Hold uncertain matches in a separate queue with candidates and the missing discriminator. Never assign a convenient deal simply to complete the report.
Checkpoint: Accepted matches are evidenced; other calls remain unresolved.
Normalize channels without rewriting the claim
- Map the stated source to the agreed taxonomy while preserving the original words and any named asset separately. Distinguish a first discovery from a later validation touch.
- Retain contradictions and multiple channels. Record unknown reasons; never fill missing self-reports from CRM fields.
Checkpoint: The report retains statement, normalized label and uncertainty independently.
Build and reconcile the channel summary
- Create one deal-level row that references all accepted mentions, plus a separate mention ledger. Deduplicate repeated claims across calls for the same deal.
- Show distinct deals mentioning each channel, with the declared denominator and coverage. Multi-channel shares may exceed one hundred percent; label them as non-exclusive.
Checkpoint: Eligible deals reconcile to known, unknown and unresolved states; calls and mentions have separate counts.
Review exceptions and release the report
- Have the owner review ambiguous matches, contradictions and a sample of accepted excerpts. Preserve corrections with the source reference and coding reason.
- Publish the reviewed report only to the authorized destination. Any CRM update is a separate approved action; preserve the original field and avoid overwriting tracking data with stated recall.
Checkpoint: Coverage, coding version and limitations accompany the report.
Decisions along the way
A prospect names a referral and a later review site
Retain both touches and their roles; do not force a single winning channel.
The salesperson asks about an ad and the prospect says no
Do not count the ad as a positive mention; preserve the negative answer if relevant to review.
Two deals plausibly match one call
Leave the deal unresolved until a stable reference or owner confirmation distinguishes them.
Self-report disagrees with a tracking or CRM field
Preserve the discrepancy without choosing a sole truth.
What you will produce
self-reported-sources.csv
CSVOne row per eligible deal.
Include: deal_id · source_status · channels · touch_types · mention_ids · crm_source · discrepancies · review_state
source-mentions.csv
CSVEvidence and unresolved matches.
Include: mention_id · transcript_id · speaker · timestamp · excerpt · channel · touch_type · candidate_deals · match_basis · unknown_reason
source-report.md
MarkdownSummary, denominators and limitations.
Include: window · coverage · counting_rules · channel_totals · unknowns · unresolved_matches · coding_version
Check the result
- Verify speaker, negation and context for every sampled excerpt.
- Count each deal once within each non-exclusive channel total.
- Reconcile known, unknown and unresolved deal states to the declared population.
- Keep marketing contribution and causal claims out of the findings.
When something goes wrong
Speaker labels or transcription are unreliable
Mark the affected statement uncertain and request permitted recording review or owner confirmation.
A later CRM export changes deal associations
Version the report and rematch affected calls; retain the earlier mapping for comparison.
A worked example
SYNTHETIC EXAMPLE · NOT A REPORTED BUSINESS RESULT
Request
Synthetic: summarize source mentions for four eligible deals.
Inputs
Deal D1 mentions a referral and a later review site across two calls. D2 mentions a podcast. D3 was never asked. A fourth call could belong to D4 or a separate opportunity.
Expected result
Report two known deals, one unknown and one unresolved. D1 appears once in each of two non-exclusive channel counts. Keep the ambiguous call outside accepted channel totals and state that the report does not establish campaign causality.
Run a small pilot
Start small
Review one reporting window with a manageable call sample and at least one multi-touch and ambiguous-match example.
Record the baseline
Record manual coding agreement, missing source fields and duplicate deal counts.
Agree success criteria
Agree match and coding acceptance criteria with the owner; require full denominator reconciliation.
Stop or revise
Do not distribute channel conclusions when unavailable transcripts or identity errors make the selected population misleading.
Keep the scope clear
- Do not infer a source from a person’s employer, demographics, campaign exposure or the interviewer’s prompt.
- Do not present stated recall as causal attribution, return on ad spend or a justified budget change.
Check before using
The marketing or revenue owner verifies excerpt context, deal matches and channel coding before using the report in planning.
Business activities
- Run sales conversations and proposals
- Run advertising and acquisition tests
- Research customers and markets
FROM A RECIPE TO YOUR WORKFLOW
Bring the company context together.
This workflow needs reliable inputs before it needs a better prompt. Moat8 Vault brings working information into a readable archive for the AI tools you use.
For this recipe: Authorized sales-call transcripts · Deal and contact export · Channel taxonomy and reporting window
Start with one recurring task, agree which sources to use, and review the first result with your team.
Discuss this workflow