> ## Documentation Index
> Fetch the complete documentation index at: https://docs.corbado.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Engagement in Corbado Observe

> Understand which classified flows count as engaged, how the rules differ by authentication method and how to interpret funnel populations.

Engagement separates flows that reached a qualifying subflow, nested flow or resolved decision from traffic that only landed and left. Use it when reading [funnel rates](/corbado-observe/overview/analytics#1-compare-journeys-and-cohorts) to distinguish these populations.

Observe derives engagement from the classified journey. Completion, successful authentication and a minimum time on page are not required. **Engagement does not necessarily indicate deliberate user interaction.**

## 1. What makes a flow engaged

`engaged: true` means a flow's classified path contains at least one of:

* **Subflow:** a qualifying [subflow](/corbado-observe/tracking/subflows), as defined in the rules below.
* **Nested flow:** a [nested-flow reference](/corbado-observe/tracking/modeling#2-flow-boundaries), regardless of the child's outcome or engagement. Skipped, invisible and automatically skipped children also count for the parent.
* **Decision:** a [decision](/corbado-observe/tracking/decisions#2-decision-model) with a recorded outcome, whether explicitly reported or inferred. Showing options without resolving the decision does not count.

Otherwise, `engaged` is `false`.

A [flow](/corbado-observe/tracking/flows) represents the overall journey. Subflows represent operations within it. The same engagement rule applies to every flow type:

| Flow | Purpose |
| - | - |
| Login | Authenticate and access an account. |
| Signup | Create an account. |
| Recovery | Regain access to an account. |
| Enrollment | Add an authentication method, often after login. |
| Profile | Manage account information or credentials. |
| Custom | An integration-defined journey. |

## 2. Subflow rules

These rules apply to recorded events that survive classification. A raw start event does not qualify on its own unless a row below says so.

### Terms used in the rules

* **Operation step:** a [tracked step inside a subflow](/corbado-observe/tracking/subflows#1-2-steps), such as a ceremony, an options request or a post-response call.
* **Low events:** the ambient field and window signals the SDK captures next to the tracked steps, such as focus, clicks, typing, paste, autofill and window blur. The classifier turns them into UI patterns.
* **Non-ignored:** the SDK did not mark the event `ignoreAsInteraction`. The SDK sets that flag on starts, triggers and steps that ran without user action, such as a native credential sheet fired automatically or the background `cui-get-options` request. A flagged event still counts toward the subflow outcome. It only stops counting as proof of interaction. Absent or false means the flag does not exclude the event.
* **Non-system start:** a subflow start whose actor is not `system`. [SSO integrations](/corbado-observe/tracking/subflows#3-15-enterprise-sso) can route a user into SSO automatically, and that start does not count.
* **Qualifying input interaction:** a UI pattern derived from low events that counts toward engagement. The provide-identifier row lists the qualifying interactions.

Two additional rules apply to [Conditional UI](/corbado-observe/tracking/subflows#3-1-provide-identifier): `cui-get-options` never counts and `cui-ceremony` counts only when it finished successfully. The provide-identifier classification requirements below still apply.

| Subflow | When it contributes to engagement |
| - | - |
| [Provide identifier](/corbado-observe/tracking/subflows#3-1-provide-identifier); [password login](/corbado-observe/tracking/subflows#3-4-password-login); [password set/reset](/corbado-observe/tracking/subflows#3-5-password-enrollment) | A qualifying input interaction or non-ignored submission step. Low events showing field clicks, typing, paste, clear and autofill count; focus, prefill and merely displaying suggestions do not. |
| [Named process form](/corbado-observe/tracking/subflows#3-16-named-process-form) | An explicit trigger, non-ignored operation step or qualifying input interaction. Showing the form counts as reached, but does not establish engagement. |
| [Provide data](/corbado-observe/tracking/subflows#3-9-provide-data) | An explicit trigger, non-ignored operation step or qualifying input interaction derived from low events. Opening the form alone does not count. |
| [Email OTP; SMS OTP](/corbado-observe/tracking/subflows#3-6-email-otp-and-sms-otp); [TOTP](/corbado-observe/tracking/subflows#3-13-totp) | A non-ignored start, trigger, operation step or qualifying input interaction derived from low events. The tracked start of code entry already counts; entering or submitting a code is not required. |
| [Social login](/corbado-observe/tracking/subflows#3-8-social-login) | A non-ignored start, trigger or operation step. A successful provider return is not required. |
| [SSO](/corbado-observe/tracking/subflows#3-15-enterprise-sso) | A non-system, non-ignored start, trigger or non-ignored operation step. A system-routed start alone does not count. |
| [Passkey login](/corbado-observe/tracking/subflows#3-2-passkey-login) | A started ceremony, including one later cancelled or failed. If no ceremony is tracked, a post-response step supplies the evidence. A start event or options request alone does not count. |
| [Immediate passkey login](/corbado-observe/tracking/subflows#3-2-passkey-login) | A completed ceremony, or an errored ceremony with evidence the prompt was shown: a window blur low event during the ceremony, or, without window low events, runtime above 1,200 ms. Known no-user-activation/no-credential rejections and pending ceremonies alone do not count. |
| [Conditional UI passkey login](/corbado-observe/tracking/subflows#3-1-provide-identifier) | A qualifying provide-identifier subflow: at least one UI pattern derived from low events or identifier/CUI post-response event, plus qualifying interaction. Background options requests and pending/failed CUI ceremonies alone do not count. A successful CUI ceremony alone, without that first condition, is also insufficient. |
| [System credential chooser](/corbado-observe/tracking/subflows#3-subflow-types) | A qualifying non-ignored operation step or trigger. Automatic start alone does not count. Immediate requests exclude Android's no-credential error and iOS cancellation within 1,200 ms; other settled ceremonies can count, including errors. |
| [Passkey enrollment](/corbado-observe/tracking/subflows#3-3-passkey-enrollment); [email link](/corbado-observe/tracking/subflows#3-7-email-link); [trusted-device enrollment](/corbado-observe/tracking/subflows#3-12-trusted-device-check-and-enrollment) | A valid classified subflow. A valid start-only classification can count without a click, ceremony or success. |
| [Passkey deletion](/corbado-observe/tracking/subflows#3-subflow-types); [app confirmation](/corbado-observe/tracking/subflows#3-10-app-confirmation); [key signing/registration](/corbado-observe/tracking/subflows#3-14-key-signing-and-registration) | An explicit trigger or non-ignored operation step. A lifecycle start alone does not count. |
| [Flow reset](/corbado-observe/tracking/flows#2-5-flowreset) | A classified reset. |
| [Trusted-device check](/corbado-observe/tracking/subflows#3-12-trusted-device-check-and-enrollment) | Does not independently create engagement, even when successful. |

For immediate requests, window blur and runtime are evidence used to infer whether a prompt appeared, not a direct measurement of user intent.

## 3. Use engagement in analysis

Keep engagement separate from the flow's outcome. An engaged flow can remain incomplete, and a parent can be engaged because of a nested flow even when the child itself is not engaged. For example, a password field click recorded through low events followed by abandonment qualifies; focus or prefill alone does not.

The `engaged` filter uses the classified-path definition above. Individual metrics can use a narrower population. The [login success rate alert](/corbado-observe/alerting/alert-rules#4-login-success-rate), for example, requires a qualifying subflow or nested flow; a resolved decision alone is insufficient for that metric.

When comparing rates, keep the selected flow type, outcomes, engagement filter and other cohort filters consistent. To investigate why a particular journey qualifies, [inspect its classified flow and recorded events](/corbado-observe/get-started/verify#inspect-the-recorded-evidence).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.