Skip to main content

Sustainability and ESG reporting

Enterprise procurement and ESG teams increasingly ask vendors for the carbon footprint of the services they consume. The Sustainability page, under Insights → Sustainability, estimates the CO2 equivalent (CO2e) of your outbound communications per channel for a selected window, and exports the same figures as a CSV you can attach to an ESG report or procurement questionnaire. Two API endpoints back the page, so the same report can feed an automated pipeline:
  • GET /analytics/carbon — per-channel CO2e estimate as JSON, for the selected window.
  • GET /analytics/carbon/export — the same report rendered as a downloadable CSV, with the period and methodology stamped into the file header.

What the dashboard estimates

The report converts the usage Orbit already records for your account — outbound message sends and outbound voice minutes — into an per-channel emissions estimate. Only outbound traffic is counted: the footprint the platform causes on your behalf. Inbound replies are excluded. Each request returns, for the resolved window:
  • A period.start and period.end describing exactly which range the figures cover.
  • One line per channel used in the window (SMS, WhatsApp, RCS, email, voice, and so on), with its unit basis, quantity, applied factor, and resulting grams/kilograms CO2e.
  • Account-wide totals: total messages, total voice minutes, and total CO2e in grams and kilograms.
Response — 200 OK
Channels with zero outbound volume in the window are omitted, so the breakdown only shows surfaces you actually used.

Methodology and data provenance

Figures are order-of-magnitude estimates, labelled as such everywhere they appear — this is not a certified carbon audit. The report applies published per-unit emission factors to your usage, and every line carries the factor it used plus its provenance, so your sustainability team can audit (or override) the coefficients:
  • SMS — ≈ 0.014 g CO2e per segment (Berners-Lee, How Bad Are Bananas?). Applied per segment, because a concatenated SMS is transmitted as N independent 160-character segments.
  • Short transactional email — ≈ 0.3 g CO2e per message (the same source’s short-email figure).
  • OTT / IP messaging (WhatsApp, RCS, Viber, Messenger, Telegram, push) — ≈ 0.02 g CO2e per message, reflecting the data-bearing payload carried over IP datacenter relay.
  • Voice — ≈ 0.3 g CO2e per connected minute, a conservative midpoint of published mobile-call transport ranges.
A channel not yet covered by the factor table still counts, at the generic IP-message factor, so a new channel is never silently dropped from the footprint. Every report stamps a factors_version, so an exported figure is reproducible against a known factor table and reconcilable later.

Reading the dashboard

Open Insights → Sustainability. The page is limited to owner, admin, developer, and billing roles, and shows:
  • Headline tiles — total CO2e in kilograms, the same estimate in grams, and the factor-set version used to produce the figures.
  • Emissions by channel — a table sorted by total CO2e with each channel’s quantity (messages or voice minutes), the per-unit factor applied, and the resulting total.
The date-range picker scopes the window: pick a preset (24h, 7d, 30d, 90d, 12m) or a custom start/end range — a single calendar day is a valid custom range. When the window has no outbound activity, the page shows an empty state instead of zero rows; if the report fails to load, use Retry to refetch it. While the tiles and table load, placeholder skeletons appear in their place.

Export for ESG / procurement

The Download CSV button on the page — or a direct API call — produces a self-describing CSV you can attach to a sustainability questionnaire or hand to procurement. The leading # comment lines carry the period, factor-set version, and estimation disclaimer, so the file stands on its own when an auditor opens it; spreadsheet importers ignore # lines when parsing data.

Window, bounds, and estimation caveats

Scope either endpoint with start_date / end_date (calendar dates or ISO datetimes), or a rolling ?days=N lookback — the same date-range contract as every other analytics surface. Omitted parameters default to a 30-day rolling window. A lookback cap rejects ranges beyond the maximum allowed lookback with a 422, and a start_date later than end_date fails validation with the same status. Keep the estimation caveats in view when you use the figures:
  • These are indicative estimates for ESG reporting, not a certified carbon audit. State the factor set and version alongside the figures in any external report.
  • Figures cover only the outbound communications footprint the platform causes on your behalf — they are not your organisation’s full Scope 3.
  • SMS is estimated per segment; where a provider does not report segmentation, the message count is used instead, so long multi-part sends from those providers may be undercounted. Long e-mail with attachments is classed as a short transactional email for the same reason — treat email-heavy accounts as estimates at the conservative end.