If you have custom events that you want to bill on, or have observability on, you can ingest your raw events directly through the Track Action API. This can be done from an event stream such as AWS Firehose and Logstash. Select an integration option below.

Actions have an action name (like “Signed Up” or “Processed Payment Transaction”) which represents the name of the raw event. You can also include arbitrary metadata with an action which enables you to create billable metrics, usage reporting, and more. For more info, see docs on actions.

An example action is below:

  "action_name": "Processed Payment Transaction",
  "request": {
    "time": "2024-03-01T04:45:42.914"
  "company_id": "12345",
  "transaction_id": "a3765025-46ec-45dd-bc83-b136c8d1d257",
  "metadata": {
    "amount": 24.6,
    "currency": "USD",
    "time_seconds": 66.3

In the above example, the action is created whenever a payment is processed. There are also two metrics we are tracking as part of the action (the amount of the payment and how long the job took). You can create billable metrics and usage reports from these attributes.

Event-based billing

Moesif is designed to ingest your raw events at very high volume. Because of this, we strongly recommend not pre-aggregating the events. Otherwise, you lose fidelity and resolution of your usage data. For example, Moesif can trace exactly which events are part of which billing period or invoice. Do note, Moesif has a hard limit of 1MB per event.