There are two primary APIs for processing event data: Event API (used by our Natero JS library), and the Custom account metrics.

The Event API aggregates data every hour and is primarily designed for high-volume event traffic (e.g., clickstream data from an application). Data is associated with the time at which it arrives at the API, and usage counts are summed across similar events. Event data can be associated with module and product dimensions. All event data must be associated with both an account and a user.

The Custom account metric API captures metric data at an account granularity. No other dimensions are available. A timestamp must be provided with each metric value and this timestamp is not altered (it is recommended to use a daily timestamp --- e.g., beginning of the day). Also, the data provided is not aggregated, and is available immediately.

To summarize:

Events API:

  1. Very high volume, near real-time, little or no aggregation of data done beforehand; best for counts of events (how many times did event X occur).

  2. Timestamp of when data arrives is associated with the data.

  3. Metric totals are aggregated every hour by a batch job (so results are only visible after that).  

  4. Data must be associated with a user and an account.  

  5. Supports a feature dimension (typically the event's name) and a module dimension and a product dimension. This data is shown in default dashboards under Modules and Features.

Accounts API:

  1. Lower volume, metric can be anything, not assumed to be an event count.  

  2. No aggregation of data is done, so data is visible immediately.  

  3. Timestamp passed in is timestamp of the data.  

  4. Only account id is required.

  5. No other dimensions supported.  

  6. Data is visible via Explorer (and Metrics tab in Account Details).