Data Feeds

What are data feeds?

Data feeds are ongoing streams of structured data sent to your Snowflake instance. Data feeds are attached to flows to capture detail about the flow, actions of that flow, and customers sent through the flow.

For example, you can use data feeds to understand which variant customers were assigned to within an experiment and measure effectiveness in your downstream reporting tools.


You'll see your Data Feed fields listed at the bottom of your flow creation screen, but they are controlled from Admin, Settings:

Enable Data Feeds

  1. From the left navigation, expand Admin Center then click Settings.
  2. Click Data Feed Configurations.
  3. Check the box to Enable Data Feed. (If this is disabled then any live flows with data feeds will not export or write data.)
  4. Snowflake is chosen by default (it's currently the sole option); optionally check the box to Hash identity using SHA-256 to anonymize and deduplicate data. Note, you can only choose to hash identity from this global level, not from the flow level.

Default fields

Under Fields, there are multiple default fields that can't be edited. Some commonly default fields are simon_id, flow_id, flow_name etc.; these fields will always be sent to your reporting destinations downstream.

Default data fields, varies by organization

Default data fields

Field NameDescription
actionThe channel action (destination) used in the flow
flow_idID for the flow. You'll also see this ID appended in the URL when you open a flow from your Simon Flows dashboard.
variantIf you performed an experiment, the name for the variant the contact fell into
simon_idSimon's identifier for the contact
flow_nameThe flow's name
operationIf the customer was added or removed from a list, the action that was taken (add or remove)
timestampThe time the customer was synced
segment_nameThe name for the segment used in the flow
experiment_idID for the experiment, if applicable. You'll see this ID appended to the URL when you open Experiment information from the Flow Details Page. This ID is useful is because you can use an experiment across many flows and any contacts that enter multiple flows will always get the same variant treatment (e.g. if you're testing email vs. SMS, a specific contact will always get assigned to email instead of randomly being assigned either across different messages).
identity_typeThe identity type for the customer being synced (email, phone number, etc.)
identity_valueThe identity value for the customer being synced
experiment nameExperiment's name, if applicable


View Data Feeds data


🚧

Data Routing required

To use Data Feeds, Data Routing must be configured. Learn more here.

SD_DATA_ROUTING schema

The data routing product is used to route event data from Simon into your Snowflake instance. There is one “pipe” per data source (i.e. Simon Signal and Data Feeds).

During general Simon onboarding, we create one file format: NLJSON (new line delimited JSON).

When onboarding each data source, we create the following:

  • One pipe per source: _DATA_ROUTING_<INTEGRATION>_EVENTS_PIPE
  • One stage per source: _DATA_ROUTING_<INTEGRATION>_EVENTS_STAGE
  • One table per source: _DATA_ROUTING_<INTEGRATION>_EVENTS

For each event type in the data that gets routed to Snowflake, we create one view that’s filtered to the specific event type: _DATA_ROUTING_VIEW_<INTEGRATION>_<EVENT_TYPE>_EVENTS


Disable Data Feeds globally

If you have live flows with data feeds, you can disable data feeds globally. Those live flow syncs will no longer write/export data feed information. When you create a new flow with data feed off, then the new flow will not display data feed options. To do so:

  1. From the left navigation, expand Admin Center then click Settings.
  2. Click Data Feed Configurations.
  3. Uncheck the box to Enable Data Feed.