Trace Funnels works automatically with properly instrumented applications that export traces to SigNoz. This document explains the requirements needed for this feature to work effectively.
Prerequisites
Before you begin using Trace Funnels, ensure you have:
- Tracing Enabled - Your application must be instrumented and exporting spans to SigNoz
Definitions
Understanding these key terms will help you effectively use Trace Funnels:
- Trace: A collection of spans representing a single end-to-end request
- Span: A timed operation within a trace (e.g., an HTTP request, database query)
- Funnel Step: One of the sequential operations you wish to track
- Conversion Rate: The percentage of requests that successfully complete a step
- Transition: The movement from one step to the next within the same trace
Setup
For every span that you want to include in your funnels, ensure the following attributes are present:
service.name- The name of the service emitting the spanspan.name- The name of the specific operationtrace.id- The unique identifier for the trace (automatically added by OpenTelemetry)
These span attributes are used to automatically correlate spans within the same trace and identify sequential operations.
In case of manual instrumentation, ensure that all spans include the required attributes and that the service.name and span.name are set to meaningful values that clearly identify your operations.
Verification
To verify that your instrumentation is correctly configured for Trace Funnels:
- Generate some traffic that includes the operations you want to monitor
- Navigate to the Trace Explorer and search for traces
- Verify that your spans have meaningful
service.nameandspan.namevalues - Navigate to the Trace Funnels section in SigNoz
- Create a new funnel and verify that your services and span names appear in the dropdowns

Troubleshooting
If your services or span names aren't appearing in the Trace Funnels interface:
- Check that your service is properly instrumented and sending traces to SigNoz
- Verify that your spans include the required
service.nameandspan.nameattributes - Ensure that your OpenTelemetry collector is properly configured and forwarding all attributes
- Check the Trace Explorer to confirm that traces are being ingested correctly
- For manual instrumentation, ensure you're setting all required attributes explicitly
Funnel Analysis
Once your funnel is created, you can analyze the step-by-step progression:
Step-by-Step Conversion

The funnel analysis shows:
- Conversion Rate for each step
- Total Requests entering each step
- Successful Completions for each step
- Average Duration for each step
Transition Analysis

For each transition (Step 1 → Step 2, Step 2 → Step 3), you can see:
- Top 5 Slowest Traces for that transition
- Duration and Span Count for each trace
- Error Information if any errors occurred
- Click to View Trace for detailed investigation
Performance Metrics

The performance view displays:
- Conversion Rate Over Time for each step
- Duration Trends for each step
- Error Rate for each step
- Request Volume over time
Adding Spans from Trace Explorer
You can create or modify a funnel directly while inspecting a trace:


- Open a trace in the Trace Explorer
- Click the Funnel icon on any span
- Choose to Create New Funnel or Add to Existing Funnel
- If adding to an existing funnel, select whether to Update a Step or Append a New Step



Funnel Example
Here's a practical example of monitoring an e-commerce application with three critical spans:
| Step | Service | Span Name | Conversion Rate |
|---|---|---|---|
| 1 | frontend | GET /checkout | 100% |
| 2 | backend | ProcessOrder | 85% |
| 3 | database | WriteOrderRecord | 95% |
This funnel reveals that:
- 100% of users reach the checkout page
- 85% of checkout requests are processed by the backend
- 95% of processed orders are successfully written to the database
The overall conversion rate would be: 100% × 85% × 95% = 80.75%
Best Practices
Keep Funnels Focused
- Limit to three essential steps to maintain clarity
- Focus on critical business flows that directly impact user experience
- Avoid creating funnels for every possible path through your system
Use Where Clauses Sparingly
- Only filter when necessary to reduce computation time
- Use specific attributes that clearly define the step (e.g.,
http.method = "GET") - Avoid overly complex filtering that might exclude valid requests
Review Transitions Regularly
- Set a cadence (e.g., weekly) to analyze slow or error-prone transitions
- Monitor conversion rate trends to identify degradation early
- Investigate traces with the slowest transitions to understand bottlenecks
Naming Conventions
- Use descriptive funnel names that clearly indicate the business flow
- Choose span names that are specific and meaningful
- Consider including the business context in funnel names (e.g., "User Registration Flow")