fastmon Docs
Analytics

Break beacons down by ingestion facts

Report an issue

Get the orthogonal beacon-ingestion breakdowns: privacy class, delivery channel, lifecycle stage, and tracker bundle version. See BeaconBreakdownsResponse for the semantics of each dimension.

Authorization

bearerAuth
headerAuthorizationBearer <fm_… / fmo_…>

API token generated from the fastmon dashboard (Account → API Token) or at organization level (fmo_…, one that outlives its creator). Send as Authorization: Bearer fm_... or paste the full token (including its prefix) into the Authorize dialog.

Path Parameters

org_id*Org Id
Formatuuid

Request Body

application/json
  1. body

Request for the orthogonal beacon-ingestion breakdowns.

time_range*

Time range for the query

filters?

Optional filters

Response Body

Successful Response

application/json
  1. response

Response with orthogonal beacon-count breakdowns across the ingestion-side dimensions of the same row set.

Every count here is a count of STORED beacons, never scaled by the sampling weight: the values double as row filters for the beacon explorer, so they have to match the rows that tool can actually show.

The first three maps are fixed-enum and each sums to beacon_count; beacons_by_tracker_version is open-valued and capped at the top-20:

  • beacons_by_collection_mode: privacy class. Inferred from session_id: non-empty means the beacon was collected in full mode (consent given or site set to FULL), empty means anonymous.
  • beacons_by_delivery_method: transport channel. Server-classified at ingest from request shape + tracker marker (see migration 024).
  • beacons_by_lifecycle: pageview-lifecycle stage when the beacon was emitted (init / loaded / hidden / ...). Useful to gauge how often pageviews reach the loaded state vs. bounce before LCP.
  • beacons_by_tracker_version: top tracker bundles by beacon volume, format YYMMDD-<git-sha>[-dirty]. Open value space (one per build), so capped at the top-20 by count to bound response size. Lets you watch cache-rollover progress and spot stale builds. Empty string covers legacy beacons (pre-stamp migration) and the static <noscript> pixel which has no runtime to stamp.

Maps over flat *_count fields so new values (additional delivery channels, future lifecycle stages, new tracker builds) flow through without a schema change on either side. Frontend computes percentages from count / beacon_count.

beacon_count*Beacon Count
beacons_by_collection_mode*
beacons_by_delivery_method*
beacons_by_lifecycle*
beacons_by_tracker_version*
POST
/organizations/{org_id}/analytics/beacon-breakdowns
Example Request
curl -X POST 'https://api.fastmon.eu/organizations/497f6eca-6276-4993-bfeb-53cbbbba6f08/analytics/beacon-breakdowns' \  -H 'Content-Type: application/json' \  -d '{  "time_range": {    "from": "2019-08-24T14:15:22Z",    "to": "2019-08-24T14:15:22Z"  }}'
Example Response
{  "beacon_count": 0,  "beacons_by_collection_mode": {    "property1": 0,    "property2": 0  },  "beacons_by_delivery_method": {    "property1": 0,    "property2": 0  },  "beacons_by_lifecycle": {    "property1": 0,    "property2": 0  },  "beacons_by_tracker_version": {    "property1": 0,    "property2": 0  }}