Skip to main content

Overview

Call drop-off reasons help you understand why customers didn’t convert during calls. By categorizing non-conversions, you gain valuable insights to improve your sales process, messaging, and product offerings.
When a call ends without conversion, AI automatically selects the most appropriate reason from your predefined list.

What Are Drop-Off Reasons?

Drop-off reasons are predefined categories that explain why a customer didn’t complete a desired action (purchase, booking, signup, etc.) during the call. Benefits:
  • Identify patterns in non-conversions
  • Optimize your pitch and messaging
  • Prioritize product or service improvements
  • Track effectiveness of changes over time
  • Understand customer objections better

Creating Drop-Off Reasons

1

Navigate to Drop-Off Reasons

In your agent configuration, scroll to the Call Drop-Off Reasons section
2

Click Add Call Drop-Off Reason

Click the “Add Call Drop-Off Reason” button
3

Define the Reason

Name: Short, descriptive identifier (e.g., NOT_INTERESTED, BUDGET_CONSTRAINTS)Description: Clear explanation of when this reason applies
The description is critical - it tells the AI exactly when to select this reason.
4

Add Multiple Reasons

Create all relevant drop-off reasons for your business (typically 5-10 reasons)
5

Enable "Others" Option

Check “Also include Others if none of the given reasons matches”This provides a fallback for calls that don’t fit your predefined categories.
Enabling “Others” ensures every non-converted call gets categorized, even edge cases.

Common Drop-Off Reasons

Use these as templates or inspiration for your own drop-off reasons:
Description:
Customer explicitly stated they are not interested in the 
product/service or do not have a current need for it
When to use: Customer shows no interest or explicitly declines
Description:
Customer expressed interest but mentioned that the price is too 
high or they don't have the budget right now
When to use: Price is the primary barrier, customer likes the product
Description:
Customer needs time to think about it, consult with others, or 
wants to research more before making a decision
When to use: Customer is considering but not ready to commit
Description:
Customer already has a similar product/service from a competitor 
and is satisfied with it
When to use: Customer has existing solution from competitor
Description:
Call was disrupted by technical problems such as poor connection, 
network errors, or system failures
When to use: Technical problems prevented proper conversation
Description:
The person who answered is not the decision maker or the right 
person to talk to about this product/service
When to use: Speaking with wrong person, need to reach decision maker
Description:
Customer is interested but the timing is not right (e.g., busy 
season, just made a purchase, waiting for funding)
When to use: Interest exists but external timing issues prevent conversion
Description:
Customer needs specific features or capabilities that the product 
doesn't currently offer
When to use: Product lacks required features or functionality
Description:
Customer is locked into an existing contract or agreement with 
another provider
When to use: Customer wants to switch but has contractual barriers

Industry-Specific Examples

E-commerce

Drop-Off Reasons:
  • OUT_OF_STOCK - Desired product not currently available
  • SHIPPING_COST - Shipping charges too high for customer
  • PAYMENT_ISSUE - Problem with payment method or processing
  • DELIVERY_TIME - Delivery timeframe doesn’t meet customer needs
  • WRONG_SIZE_COLOR - Specific variant not available

Healthcare/Medical

Drop-Off Reasons:
  • NO_AVAILABILITY - No suitable appointment slots available
  • INSURANCE_NOT_ACCEPTED - Insurance provider not accepted
  • DOCTOR_PREFERENCE - Wants specific doctor who’s unavailable
  • LOCATION_INCONVENIENT - Clinic location too far or inaccessible
  • REFERRAL_REQUIRED - Needs referral from primary care physician

Real Estate

Drop-Off Reasons:
  • BUDGET_MISMATCH - Properties outside customer’s budget range
  • LOCATION_NOT_PREFERRED - Available properties in wrong location
  • JUST_RESEARCHING - Early research phase, not ready to commit
  • FINANCING_ISSUES - Cannot secure mortgage or financing
  • PROPERTY_TYPE_MISMATCH - Available properties don’t match requirements

SaaS/Software

Drop-Off Reasons:
  • INTEGRATION_CONCERNS - Software doesn’t integrate with existing tools
  • LEARNING_CURVE - Platform too complex or time-consuming to learn
  • DATA_MIGRATION - Concerns about moving data from current system
  • TEAM_SIZE_MISMATCH - Pricing or features not suitable for team size
  • SECURITY_COMPLIANCE - Doesn’t meet security or compliance requirements

Best Practices

Each reason should be distinct to avoid AI confusion.Good (Mutually Exclusive):
  • NOT_INTERESTED - No interest at all
  • INTERESTED_BUT_EXPENSIVE - Interested but price is issue
  • INTERESTED_WRONG_TIMING - Interested but timing is issue
Bad (Overlapping):
  • NOT_INTERESTED - Not interested
  • PRICE_TOO_HIGH - Price is high (could also mean not interested)
  • NOT_RIGHT_NOW - Too vague, overlaps with timing
Vague:
Description: Customer didn't want it
Specific:
Description: Customer explicitly stated they are not interested 
in the product/service, do not have a need for it, or are not 
the target audience. They showed no interest throughout the call.
Begin with the most common objections:
  1. NOT_INTERESTED
  2. BUDGET_CONSTRAINTS
  3. NEEDS_MORE_TIME
  4. ALREADY_HAS_SOLUTION
  5. TIMING_NOT_RIGHT
Add more specific reasons as you identify patterns in your “Others” category.
Recommended:
  • BUDGET_CONSTRAINTS
  • TECHNICAL_ISSUES
  • WRONG_CONTACT
This makes them easy to identify in analytics and dashboards.
Monthly Review:
  1. Check “Others” category for patterns
  2. Create new reasons for common patterns
  3. Merge or remove rarely-used reasons
  4. Refine descriptions if AI is misclassifying
Create reasons that map to different stages:Early Stage:
  • JUST_RESEARCHING
  • GATHERING_INFORMATION
Mid Stage:
  • COMPARING_OPTIONS
  • NEEDS_APPROVAL
Late Stage:
  • ALMOST_READY
  • MINOR_CONCERNS

Using Drop-Off Data

In CRM Integration

Use drop-off reasons to:
  • Tag leads appropriately
  • Trigger different nurture sequences
  • Prioritize follow-ups
  • Segment audiences
Example:
  • BUDGET_CONSTRAINTS → Add to “Price-sensitive” nurture campaign
  • NEEDS_MORE_TIME → Schedule follow-up in 1 week
  • ALREADY_HAS_SOLUTION → Add to “Competitor comparison” sequence

In Post-Call Functions

Access drop-off reasons in your post-call functions:
async function handleDropOff(context) {
    const dropOffReason = context.post_call["x-call-drop-off-reason"];
    
    if (dropOffReason === 'BUDGET_CONSTRAINTS') {
        // Send discount offer email
        await axios.post('https://api.example.com/send-email', {
            template: 'budget_friendly_options',
            to: context.customer_phone
        });
    } else if (dropOffReason === 'NEEDS_MORE_TIME') {
        // Schedule follow-up call
        const followUpDate = moment().add(7, 'days').format('YYYY-MM-DD');
        context.post_call.next_call_date = followUpDate;
    }
}

Troubleshooting

Possible Causes:
  • Reason descriptions are too similar
  • Description doesn’t match actual conversation patterns
  • Multiple valid reasons (AI picks primary one)
Solutions:
  1. Make descriptions more specific and distinct
  2. Add examples of what does and doesn’t qualify
  3. Review call transcripts to understand AI’s logic
  4. Consider if you need more granular categories
Issue: Many calls categorized as “Others”Solution:
  1. Review “Others” calls to find patterns
  2. Create new drop-off reasons for common patterns
  3. Ensure existing reason descriptions cover edge cases
Example Pattern: If you see many “Others” are about shipping internationally, add:
INTERNATIONAL_SHIPPING_UNAVAILABLE: Cannot ship to customer's 
country or international shipping costs are prohibitive
Issue: Similar objections getting different reasonsSolution: Make descriptions more consistent and specific:Before:
  • Reason A: “Too expensive”
  • Reason B: “Price concerns”
After:
  • Reason A: “Customer explicitly said price is too high compared to budget”
  • Reason B: “Customer concerned about ROI or value for money, not absolute price”
Possible Causes:
  • Reason recently added (no historical data)
  • No calls have received this reason yet
  • Typo in reason name
Solution:
  1. Run test calls to verify reason is being used
  2. Check spelling and case sensitivity
  3. Wait for more data if recently added

Advanced Use Cases

Dynamic Follow-Up Sequences

Create automated follow-up flows based on drop-off reasons:
async function scheduleFollowUp(context) {
    const reason = context.post_call["x-call-drop-off-reason"];
    
    const followUpSchedule = {
        'NEEDS_MORE_TIME': { days: 7, sequence: 'nurture_sequence_1' },
        'BUDGET_CONSTRAINTS': { days: 30, sequence: 'budget_friendly' },
        'FEATURES_MISSING': { days: 90, sequence: 'product_updates' },
        'ALREADY_HAS_SOLUTION': { days: 180, sequence: 'competitor_comparison' }
    };
    
    const schedule = followUpSchedule[reason];
    
    if (schedule) {
        context.post_call.follow_up_date = moment()
            .add(schedule.days, 'days')
            .format('YYYY-MM-DD');
        context.post_call.sequence_type = schedule.sequence;
    }
}
Fewer, well-defined reasons are more actionable than many overlapping ones.

Getting Help

Test Your Reasons

Use Test Call to verify drop-off reasons are being selected correctly

Contact Support

Our team can help optimize your drop-off reason configuration for your industry