Schema Reporting

Overview

The Schema Reporting tool delivers your organization insight into the structure of your event stream, without ever having to see actual data. This tool is useful for organizations that may want to understand their data without the risk of seeing sensitive information, or for those that may not be able to view raw event data due to IT data policies.

Key Benefits

  • Improve data transparency by seeing the events that you are currently sending to MetaRouter, including event structures (i.e. fields included in events).
  • Troubleshoot data collection issues by understanding how often certain fields are included with events.
  • Get started with MetaRouter faster when you know what events and fields are available to map to integrations.

Getting Started with Schema Reports

From the MetaRouter dashboard, on the lefthand navigation panel, click the Schema Reporting tab.

On the next screen, choose your Source Cluster. You may only report on one Cluster at a given time. Choose your reporting timeframe, which includes any timeframe between the last 1 hour and 72 hours, and then click the Generate Report button.

Navigating Schema Reports

Any event that was successfully received by MetaRouter will have its schema represented in a Schema Report. This includes events that are not attached to a pipeline, which may occur during MetaRouter onboarding when you have not configured a Pipeline yet.

Columns

Event Name is the name associated with the event. Where there is no event name, the event Type will be included instead.

Pipelines will show which Pipeline Names have been associated with this event. If there are no pipelines, but a writeKey is associated with the event, this column will be blank or not include the writeKey. To find the writeKey, click into an event and use the Pipelines drop-down.

The Last Seen column represents the time that the event was generated, according to the timestamp value that is produced on the user’s device.

Combinations are permutations of events that are sent to MetaRouter. To demonstrate what a combination represents, let’s look at the following simplified event payload for a track event:

anonymousId: String
context.page.path: string
providers.xandr.uid: string
properties.price: number

This represents the first combination. Now let’s look at another:

anonymousId: String
context.page.path: string
providers.xandr.uid: string
properties.price: string

Because the above event included a different data type for the properties.price field (a string vs. a number) this represents a second combination. Now let’s look at a third example:

anonymousId: String
context.page.campaign: string
context.page.source: string
context.page.medium: string
context.page.path: string
providers.xandr.uid: string
properties.price: number

This event included a few context fields which were not included in the other two events. This means this event would count as a third combination of the same event.

The Count column is a count of all events with that row’s event name.

Analyzing Event Schemas

Each event in the schema report can be clicked on, which will open up that event’s Schema Tree. The Schema Tree will include every field that has been included with this event. A percentage shows how often that field is included in all of the events that share the same event name. You can click on each field to drop down other fields that are nested within.

Arrays of Objects

Schema Reporting provides two helpful insights for arrays:

  • The percentage of time that the array is present
  • The schema of the first object within the array, and how often the parameters within that object are included

A common scenario would be in a cart event, where there are multiple products that could be added to the cart. Users designate a products array which includes various other properties such as price, quantity, and more:

products: [
    {
      product_id: '507f1f77bcf86cd799439011',
      sku: '45790-32',
      name: 'Monopoly: 3rd Edition',
      price: 19,
      position: 1,
      category: 'Games',
      url: 'https://www.example.com/product/path',
    },
		{
      product_id: '505bd76785ebb509fc183733',
      sku: '46493-32',
      name: 'Uno Card Game',
      price: 3,
      position: 2,
      category: 'Games',
      coupon: true
    },

In this case, the Schema Reporting provides information on how often the products object exists, as well as the schema of the first object, or product, within the array. In the example above, the Schema Report would use the first product and include the url field as a field within the array. It would not include the second product’s schema, which contains the coupon field. Therefore, we recommend trying to keep a consistent object structure where possible when using arrays.

Additional Considerations

Can I view event schemas that don’t have a pipeline?

Yes, you can view event schemas by writeKey by utilizing the Pipelines drop-down within Schema Trees.

Can Schema Reports show event values?

No, Schema Reports are not intended to give any insight into the actual values that are passed into events. Instead, another tool like the Debugger should be utilized.

Why can’t I view schema reports for my organization?

Ensure that you have the correct UI permissions assigned to your MetaRouter account. You will need Read Events access to use Schema Reports.

How long does it take for an event to be available within Schema Reporting?

Events should generally be available within seconds of being sent to MetaRouter.