Inquiry-to-Application Lead Funnel
Track and merge leads as they progress from initial inquiry to full application. This feature prevents duplicates when the same prospect submits partial information first, then completes a full application later.
Features
- Lead Merging: Automatically merge inquiry leads with their application counterparts
- Smart Matching: Match on phone AND email within a configurable time window
- Attribution Preservation: Original inquiry vendor keeps attribution credit
- Funnel Analytics: Track conversion rates, time-to-convert, and drop-offs
- Audit Trail: Complete history of all merge events
How It Works
When a prospect first shows interest (inquiry), they often provide minimal information. Later, they may complete a full application with more details. Without funnel tracking, this creates duplicates.
Day 1: Inquiry Lead Day 2: Application Lead
┌──────────────────────┐ ┌──────────────────────┐
│ email: [email protected] │ │ email: [email protected] │
│ phone: 555-123-4567 │ │ phone: 555-123-4567 │
│ first_name: Jane │ │ first_name: Jane │
│ last_name: (empty) │ │ last_name: Smith │
│ program: (empty) │ │ program: MBA │
│ start_date: (empty) │ │ start_date: Fall2025 │
└──────────────────────┘ └──────────────────────┘
│ │
│ ┌───────────────┐ │
└──────────▶│ MERGE EVENT │◀─────────┘
│ │
│ Phone + Email │
│ Match! │
└───────────────┘
│
▼
┌──────────────────────┐
│ Merged Lead │
│ email: [email protected] │
│ phone: 555-123-4567 │
│ first_name: Jane │
│ last_name: Smith │ ← From application
│ program: MBA │ ← From application
│ start_date: Fall2025 │ ← From application
│ vendor: InquiryVendor│ ← Attribution preserved
└──────────────────────┘Match Criteria
For a merge to occur, both of these must match:
- Phone number (normalized, digits only)
- Email address (case-insensitive)
The match must occur within the configured time window (default: 24 hours).
Merge Behavior
| Field Type | Merge Rule |
|---|---|
| Data fields (name, address, etc.) | Application data wins if non-empty |
| Attribution (vendor, UTM, etc.) | Inquiry data preserved |
| Timestamps | Inquiry created_at preserved |
| Custom fields | Application data wins if non-empty |
Configuration
Step 1: Set Vendor Lead Types
First, configure which vendors collect inquiries vs. applications.
- Navigate to Settings > Vendors
- Click on a vendor to edit
- Set the Lead Type:
| Lead Type | Description |
|---|---|
| Standard | Normal lead processing (default) |
| Inquiry | Collects initial interest/partial info |
| Application | Collects full application data |
- Click Save
Step 2: Create Funnel Links
Connect your application vendors to their inquiry sources.
- Navigate to Settings > Vendors
- Edit an Application vendor
- Click the Funnel Links tab
- Click Add Funnel Link
- Select the Inquiry Vendor to match against
- Set the Time Window (how far back to look for matches)
- Click Save
Time Window Options
| Window | Use Case |
|---|---|
| 1 hour | Fast-moving, same-session conversions |
| 6 hours | Short consideration cycle |
| 12 hours | Half-day campaigns |
| 24 hours | Standard (recommended default) |
| 48 hours | Longer consideration cycle |
| 7 days | Extended campaigns |
Tip: Shorter windows reduce false matches but may miss legitimate conversions. Start with 24 hours and adjust based on your data.
Example Setup
Scenario: You have a “Request Info” form (inquiry) and a “Full Application” form (application).
| Vendor | Type | Links To |
|---|---|---|
| Facebook Lead Ads | Inquiry | - |
| Google Lead Forms | Inquiry | - |
| Website Info Request | Inquiry | - |
| Full Application Form | Application | Facebook Lead Ads, Google Lead Forms, Website Info Request |
Funnel Analytics Dashboard
Once at least one funnel link is configured, the Funnel Analytics section appears in your Analytics menu.
Dashboard Overview
| Metric | Description |
|---|---|
| Total Inquiries | All inquiry leads in the period |
| Total Applications | All application leads in the period |
| Matched Applications | Applications that merged with inquiries |
| Conversion Rate | Matched applications / Total inquiries |
| Avg Time to Convert | Average time from inquiry to application |
Time-to-Convert Distribution
See how quickly inquiries convert to applications:
| Bucket | Description |
|---|---|
| 0-1 hour | Same-session conversions |
| 1-6 hours | Quick follow-ups |
| 6-12 hours | Half-day conversions |
| 12-24 hours | Next-day conversions |
| 24+ hours | Extended consideration |
Per-Vendor Analysis
Break down metrics by vendor pair:
| Inquiry Vendor | App Vendor | Inquiries | Conversions | Rate | Avg Time |
|---|---|---|---|---|---|
| Facebook Ads | App Form | 500 | 125 | 25% | 4.2 hrs |
| Google Ads | App Form | 350 | 105 | 30% | 3.8 hrs |
| Website Form | App Form | 200 | 80 | 40% | 2.1 hrs |
Drop-off Analysis
Identify unconverted inquiries to understand funnel leakage:
- Total unconverted inquiries in the window
- Breakdown by inquiry vendor
- Age distribution of unconverted leads
API Endpoints
Manage Funnel Links
| Endpoint | Method | Description |
|---|---|---|
/api/vendor-funnel-links | GET | List all funnel links |
/api/vendor-funnel-links | POST | Create a funnel link |
/api/vendor-funnel-links/:id | DELETE | Delete a funnel link |
/api/vendor-funnel-links/has-links | GET | Check if any links exist |
Funnel Analytics
| Endpoint | Method | Description |
|---|---|---|
/api/analytics/funnel/overview | GET | Summary metrics |
/api/analytics/funnel/time-to-convert | GET | Conversion time breakdown |
/api/analytics/funnel/drop-offs | GET | Unconverted inquiry analysis |
/api/analytics/funnel/by-vendor | GET | Per-vendor pair metrics |
/api/analytics/funnel/daily | GET | Daily trend data |
See the Funnel API Reference for detailed endpoint documentation.
Best Practices
Vendor Organization
- Name vendors clearly: “Facebook - Request Info” vs “Facebook - Full App”
- Use consistent naming for inquiry/application pairs
- Document which forms map to which vendors
Time Window Selection
| Scenario | Recommended Window |
|---|---|
| High-intent, fast funnel | 1-6 hours |
| Standard web funnel | 24 hours |
| Multi-day campaigns | 48-72 hours |
| Re-engagement campaigns | 7 days |
Monitoring
- Check conversion rates weekly
- Investigate unusually low rates
- Review drop-offs for re-engagement opportunities
- Watch for false matches (very rare with phone+email)
Attribution Best Practices
- The inquiry vendor always keeps attribution
- This accurately reflects initial touchpoint
- ROI calculations credit the first vendor
- Consider this when evaluating vendor performance
Troubleshooting
Leads Not Merging
- Check vendor types: Verify vendors are set to “Inquiry” and “Application”
- Check funnel links: Confirm the link exists between vendors
- Check time window: Lead may be outside the configured window
- Check match fields: Both phone AND email must match
- Check normalization: Phone formats should normalize (555-123-4567 = 5551234567)
Too Many False Matches
False matches are rare because both phone AND email must match. If occurring:
- Reduce time window to limit match scope
- Review the matching leads - are they actually the same person?
- Check for shared phone numbers (call centers, households)
Analytics Not Showing
The Funnel Analytics dashboard only appears when:
- At least one funnel link is configured
- The current user has analytics permissions
Integration with Other Features
Deduplication
Funnel merging is different from deduplication:
| Feature | Deduplication | Funnel Merging |
|---|---|---|
| Purpose | Block duplicate leads | Combine partial + complete leads |
| Match | Configurable (email, phone, etc.) | Phone AND email required |
| Result | Reject the duplicate | Merge into one lead |
| Vendor | Any vendor | Specific inquiry/application pairs |
Both can be enabled simultaneously. Deduplication runs first; funnel merging only applies to non-duplicate leads.
Attribution
Funnel merging preserves the original inquiry vendor for attribution:
- Inquiry vendor gets credit for the conversion
- ROI calculations use inquiry vendor costs
- Analytics show inquiry vendor as the source
Webhooks
When a merge occurs:
- The merged lead is delivered via webhooks
- The original inquiry lead is NOT re-delivered
- Webhook payload includes merge metadata