A personal community project under @kyletaylored, MIT licensed.Not provided or supported by Datadog.
Datadog assets
Because every adapter emits the same schema, one asset pack works for all platforms. It ships as Terraform for the generated metrics plus dashboard and monitor JSON, because a community project cannot publish an integration tile.
Read these numbers correctly
They come from the browser, so they undercount: ad blockers, tabs closed before the thank-you page, and declined consent all remove sessions. Compare trends, not totals, against the platform's own order report, which stays the source of truth. The accuracy bar this project holds itself to is order count within 5% of the platform admin over seven days.
Generated metrics
RUM generated metricsare computed from 100% of ingested RUM events, not just retained sessions, kept for 15 months, and usable in anomaly and forecast monitors.
| Metric | Event type and filter | Aggregation |
|---|---|---|
rum.commerce.orders | Action, @action.name:commerce.purchase | count |
rum.commerce.revenue | Action, @action.name:commerce.purchase | distribution of value |
rum.commerce.cart_value | Action, commerce.begin_checkout | distribution of value (cart total at checkout) |
rum.commerce.items_per_order | Action, commerce.purchase | distribution of item_count |
rum.commerce.checkouts_started | Action, commerce.begin_checkout | count |
rum.commerce.checkout_errors | Error, on a page carrying commerce context | count |
rum.account.logins | Action, account.login | count |
rum.account.sign_ups | Action, account.sign_up | count |
rum.lead.leads | Action, lead.generate_lead | count |
Grouped by commerce_platform, currency and store_currency only. Never by order, cart or user ID: those are unbounded, and generated metrics are billed as custom metrics. Checkout conversion is not a metric of its own — it is orders ÷ checkouts started, computed in the dashboard.
terraform/generated-metrics.tf · apply with terraform apply -var rum_application_id=<id>
Dashboard
Orders and revenue over time, average order value, checkout conversion, the funnel from product view to order, revenue next to checkout errors, checkout view LCP and INP, and a list of sessions with replays where checkout started but no order followed.
dashboards/commerce-overview.json · Dashboards → New → Import JSON
Monitors
| Monitor | Type | Ready to use? |
|---|---|---|
| Order volume anomaly | anomaly, weekly seasonality | Yes |
| Revenue anomaly | anomaly, weekly seasonality | Yes — scope by currency on multi-currency stores |
| Checkout conversion below threshold | threshold | Tune first. Ships with a placeholder |
| Checkout errors elevated | RUM threshold | Tune first. Ships with a placeholder |
The two threshold monitors are tagged tune-me:threshold. Pull a week of the underlying metric for the store in question and set the threshold below its normal floor: a conversion monitor set to someone else's benchmark will page constantly or never.
monitors/commerce-monitors.json
Product Analytics
Nothing extra to do. These are ordinary RUM custom actions, so they feed Product Analytics automatically.