Price Objection Response
Diagnose a price objection's root cause, select the highest-win-rate response framework, generate a tailored response, and log the outcome
npx gtm-skills add drill/price-objection-responseWhat this drill teaches
Price Objection Response
This drill handles the full lifecycle of a single price objection: diagnose the root cause, select the response framework most likely to succeed, generate a tailored response, deliver it, and log the outcome. It converts a "too expensive" moment into structured intelligence.
Input
- A price objection received during a proposal call, follow-up email, or negotiation
- Deal record in Attio with existing pain data (from
pain-discovery-calldrill) - The objection itself: either a call transcript segment or email text containing the pushback
Steps
1. Extract and classify the objection
If the objection came from a recorded call, run call-transcript-objection-extraction on the transcript to get structured objection data: root cause, severity, emotional tone, and comparison anchor.
If the objection came via email or chat, manually build the objection input:
{
"objection_quote": "This is more than we budgeted for this quarter",
"root_cause": "no_budget",
"severity": 6,
"emotional_tone": "genuine_concern",
"comparison_anchor": null
}
Classify root cause using these diagnostic questions (ask on the next call or infer from context):
- "Compared to what?" ->
competitor_comparisonorsticker_shock - "What budget did you have in mind?" ->
no_budgetorauthority_gap - "What's the cost of not solving this?" ->
value_gap - "Is it a matter of timing?" ->
timing
2. Validate pain-to-price ratio
Pull the deal record from Attio. Check if pain data exists:
- If
pain_to_price_ratio >= 5: strong value foundation. Proceed with confidence. - If
pain_to_price_ratiois 3-5: moderate. The response must lean heavily on ROI proof. - If
pain_to_price_ratio < 3or no pain data: the objection is likely a symptom of weak discovery. Recommend re-running discovery before attempting to overcome the price objection. Generate a note: "Price objection on deal {name} may stem from insufficient pain quantification. Current pain-to-price ratio: {ratio}x. Consider a follow-up discovery call before responding."
If pain_to_price_ratio < 3, re-run pain-quantification-prompt with any new context from the objection conversation to see if the estimate improves.
3. Generate the response
Run objection-response-generation with the classified objection and deal context. This returns:
- The selected response framework
- A verbal response script (2-4 sentences)
- Diagnostic follow-up questions
- A follow-up email with supporting data
- A supporting asset recommendation (ROI calculator, case study, TCO comparison, payment options, or business case)
4. Human review checkpoint
Human action required: Review the generated response before delivery. Check:
- Does the verbal response sound natural for the seller's voice?
- Is the pain-to-price math accurate and defensible?
- Is the follow-up email under 150 words and focused on one key point?
- Is the recommended asset available (or does it need to be created first)?
Adjust tone and specifics as needed. The generated response is a starting point, not a script to read verbatim.
5. Deliver the response
On the next call or in a follow-up email:
- Deliver the verbal response or send the follow-up email
- Ask the diagnostic questions to deepen understanding
- Share the supporting asset if appropriate
- Propose a clear next step
6. Log the outcome
After delivery, update the deal record in Attio:
{
"objection_type": "value_gap",
"response_framework": "roi_proof",
"response_delivered_date": "2026-03-30",
"objection_outcome": "resolved|partially_resolved|unresolved|escalated|lost",
"days_to_resolution": 3,
"discount_offered": 0,
"discount_accepted": false
}
Fire PostHog events:
{
"event": "price_objection_handled",
"properties": {
"deal_id": "...",
"root_cause": "value_gap",
"framework_used": "roi_proof",
"outcome": "resolved",
"severity": 7,
"pain_to_price_ratio": 12.5,
"days_to_resolution": 3,
"discount_percentage": 0
}
}
7. Route based on outcome
- Resolved: Deal moves forward. Update deal stage in Attio. Trigger next-step workflow.
- Partially resolved: Schedule a follow-up conversation. If a supporting asset was not yet sent, send it now. Consider involving the champion to reinforce value internally.
- Unresolved: Escalate. If the objection root cause was
authority_gap, request a meeting with the economic buyer. Ifvalue_gap, consider running apain-based-business-casedrill to build a champion-ready ROI document. - Lost: Log lost reason as "Price" in Attio. Add the objection to the loss analysis dataset for pattern detection.
Output
- Structured objection data stored in Attio with root cause classification
- Tailored response delivered using the highest-win-rate framework
- PostHog events for response effectiveness tracking
- Routing recommendation for next action based on outcome
Triggers
Run manually after each price objection is received. At Scalable+ levels, triggered automatically by objection-detection-automation drill when a price objection is detected in a call transcript.