Funnels: Evaluate data in a series of events

Use funnels with New Relic Insights to evaluate a series of related events that are the steps toward a specified goal. A funnel allows you to create a NRQL query to ask, “Of the people that did (A), how many also did (B), and of the people that did (A) and (B), how many also completed (C)?”

For example, New Relic could use funnels to track the number of users who:

  1. Visited the Insights marketing page.
  2. And then, signed up for an Insights account.
  3. And then, created an Insights dashboard.


Funnel queries require the funnel function, an attribute to funnel, and at least two steps:

  1. The first step is the anchor step, which will always represent 100% of the results.
  2. The second and later steps describe the number of users who advance along each step towards the goal. This number typically will be less than 100%. However, it could be 100% if every user who completes (A) also completes (B).

This is the structure of a simple NRQL funnel query:

SELECT funnel(attribute, Step A, Step B) 
    FROM event type 
    SINCE timeframe
Technical details Comments
Order of steps The order of steps completed is not enforced. In funnel query results, the second or third steps may have been completed by users before the first step.
Attributes Funnel queries can be run on only a single attribute at a time.
Unique values For funnel queries that inspect more than 256 unique values, the results are approximate, for performance optimization reasons.

For more information, check out the New Relic University tutorial Funnel Queries. Or, go directly to the full online course Writing NRQL Queries.

Funnel example

This example queries the New Relic Browser PageView event and its attributes. It queries unique browser sessions that have gone from registering to upgrading their account. Labels are included for each step, indicated by the keyword AS.

SELECT funnel(session, 
    WHERE pageUrl='' AS 'Email Sign Up', 
    WHERE pageUrl='' AS 'Feature Compare', 
    WHERE pageUrl='' AS 'Upgraded Account') 
    FROM PageView 
    SINCE 12 hours ago

This query returns the following:

Screenshot of funnel function > (run a query): This is an example Insights NRQL query using a funnel to query users who registered for an account and then upgraded to take advantage of additional features.

Include additional steps inside the parentheses of the funnel function in a comma separated list:

SELECT funnel(session, 
    WHERE name='Controller/about/main' AS 'Step A', 
    WHERE name = 'Controller/about/careers' AS 'Step B', 
    WHERE name = 'Controller/about/insights' AS 'Step C', 
    WHERE name = 'Controller/about/apply' AS 'Step D') 
    FROM PageView 
    SINCE 1 week ago

For more help

Recommendations for learning more: