Choose Your Feed: Flow vs Event

How the Conviva Connect App Flow Data Feed and App Event Data Feed differ in row grain, delivery frequency and columns, which questions each one answers, and how to join them.

Updated 2026-10-09 app feed, app flow data feed, app event data feed, flow, event

Conviva Connect delivers App data as two feeds. The App Flow Data Feed summarizes the user journeys you configure as flows, and the App Event Data Feed delivers the individual events your app reports. Pick the feed that matches your question, or take both and join them.

Both feeds deliver in CSV, Avro or Parquet, and you pick the format when the feed is configured. See Get the Conviva Data Feed for the formats and delivery destinations.

At a glance

App Flow Data Feed App Event Data Feed
One row is One instance of one configured flow One event
Delivered Every minute Hourly
Metrics Computed by Conviva, in MetricsInt and MetricsFloat None. You compute counts, rates and time spans from the rows.
Device and app columns Yes: platform, device, browser, app name and version No. Join to the Flow Feed for them.
Columns 33 15

App Flow Data Feed

A flow is a step in the user journey that you define in Conviva by its start and end events, such as login through to checkout. For every flow you configure, the Flow Feed delivers one row per instance of that flow, with the outcome and duration Conviva measured for it.

You can receive every flow configured for your account, or a named subset by flow ID and flow name.

Use the Flow Feed when your question is about a journey you already track as a flow:

  • Conversion rates, for example how many users who start a purchase complete it.

  • How long a step takes, from the flow's measured duration.

  • Errors encountered during a flow.

  • Any of these segmented by platform, device, app version, geography or network.

A row can carry a start time well before the file's window. In the delivered sample, four flows started 34 minutes before the file that carries them. Take duration from total_duration_ms and exclude its negative sentinel values, -1 and -2, from every average. Build your first App pipeline, step 6 shows how.

App Event Data Feed

The Event Feed delivers one row per app event: a user action such as a button press, a system event such as an API call, or a network-initiated event. An event appears in the feed only after it's mapped in Conviva and marked for export, so you control which events you receive. Export only the events you need, because the feed carries every occurrence of each one.

The Event Feed carries the metadata that can change during a session, such as location and network. Device and app metadata stay fixed for a session, so they're delivered in the Flow Feed.

Use the Event Feed when your question needs the individual events:

  • The sequence of actions a user took, including paths you haven't configured as flows.

  • Feature usage, counted by EventName.

  • Frustration signals, which arrive with EventCategory set to Frustration Signal.

  • Event-level detail your app reports in EventDetails.

Using both feeds

The two feeds have no session key in common. The Flow Feed has no ECOSessionId, and the Event Feed has no FlowId. Join them on ClientId, which identifies the device, and UserId, which identifies the user, bounded by the flow's start and end times.

The Flow Feed arrives every minute and the Event Feed arrives hourly, so join only hours for which both feeds have been delivered. Build your first App pipeline, step 8 has the query.

Next steps