> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aftersell.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Checkout analytics metrics reference

> The full metric and formula catalog behind Aftersell checkout analytics: Checkout tab metrics, widget-level metrics by widget type, and how summary numbers are calculated.

This page is the complete metric and formula catalog behind the Aftersell [checkout analytics dashboard](/aftersell/checkout_analytics): the Checkout tab metrics, the widget-level metrics for each widget type, and how the summary numbers are calculated. Throughout the dashboard you can hover the **ⓘ info icon** next to any metric to see how it's calculated; the formulas here match those tooltips.

## How summary numbers are calculated

The large summary numbers at the top of each graph are **weighted averages** of the data shown, which gives a more accurate overall view than a simple average. For example, across three days of conversion rates:

* **Day 1:** 3 accepted / 10 shown = 30%
* **Day 2:** 1 accepted / 9 shown = 11%
* **Day 3:** 5 accepted / 15 shown = 33%

The summary number is `(3 + 1 + 5) ÷ (10 + 9 + 15) = 26.5%`, not a simple average like `(30 + 11 + 33) ÷ 3 = 24.7%`. Weighting ensures days with more impressions have the right impact on your totals.

## Checkout tab metrics

These are the metrics on the Analytics section's **Checkout** tab.

| Metric | What it measures | Formula |
| - | - | - |
| **Revenue** | The total checkout revenue generated by Aftersell upsell widgets. | `sum(upsell widget revenue)` |
| **Impressions** | The total number of times checkout upsell widgets were viewed. | `sum(widget views)` |
| **Upsell revenue per order** | The average upsell revenue per purchased order. This is the recommended way to measure performance over time for checkout widgets. | `checkout upsell revenue / purchased orders` |
| **Accepted upsell rate** | The percentage of unique visitors who accepted an upsell offer. | `(accepted offers / unique visitors) x 100` |
| **Unaccepted upsell rate** | The percentage of customers who initiated the checkout process but did not accept an upsell. | `(1 - (accepted offers / unique visitors)) x 100` |
| **Checkout abandonment rate** | The rate at which customers go to checkout without completing the order. This is measured separately from any offers shown. | `(1 - (purchased orders / unique visitors)) x 100` |
| **Total revenue per order** | The average total store revenue from purchased orders where Aftersell checkout widgets were placed on the checkout page. | `total store revenue / purchased orders` |
| **Accepted offers** | The total number of Aftersell upsell offers that were accepted. | `sum(accepted offers)` |
| **Average upsell value** | The average revenue per accepted upsell item. Particularly useful when using dynamic products in offers. | `upsell revenue / accepted offers` |
| **Product profit** | The total product profit generated by Aftersell. Calculated by subtracting the cost of goods sold from the revenue. | `sum(upsell revenue) - sum(cost of goods sold)` |
| **Product profit per order** | The average product profit per purchased order. Similar to revenue per order but accounts for cost of goods sold. | `product profit / purchased orders` |
| **Product profit margin** | The ratio of product profit to revenue. If your products had no costs, this would be 100%. | `(product profit / revenue) x 100` |

<Tip>
  Upsell revenue per order is the recommended metric for measuring checkout widget performance over time.
</Tip>

### Top Performing Products table

This table highlights checkout upsells and the revenue generated from them. It works the same way as the one in the Funnels tab, but only includes checkout upsells.

<Note>
  The conversion rate in this table is based on the number of accepted offers, not the number of individual product units sold. For example, if a customer accepts one offer containing 3 units of a product, it counts as 1 accepted offer. However, the revenue column reflects the total value of all units purchased through that offer.
</Note>

## Widget-level metrics

The metrics shown when you open analytics for an individual widget depend on the widget type.

### Pages

Pages are groups of related widgets with a shared trigger.

| Metric | What it measures | Formula |
| - | - | - |
| **Sessions with page** | The number of unique checkout sessions where this page was displayed. | `sum(widget views)` |
| **Cart conversion rate** | The percentage of sessions that resulted in a completed purchase. | `(purchased orders / impressions) x 100` |
| **Average order value** | The average total order value for sessions where this page was displayed. | `total store revenue / purchased orders` |
| **Upsell revenue per order** | The average upsell revenue per purchased order. | `upsell revenue / purchased orders` |

### Standalone upsell widgets

Upsell widgets display product offers that customers can accept during checkout.

| Metric | What it measures | Formula |
| - | - | - |
| **Upsell revenue per order** | The average upsell revenue per purchased order. | `upsell revenue / purchased orders` |
| **Sessions with widget** | The number of unique checkout sessions where this widget was displayed. If a customer views a page multiple times on a single order, it is counted as one session. | `sum(widget views)` |
| **Upsell conversion rate** | The percentage of purchased orders that accepted an upsell from this widget. An order that accepts upsells across multiple widget placements is counted once per placement, so this rate can exceed 100%. | `(orders with upsells / purchased orders) x 100` |
| **Orders with upsells** | The sum of widget placements per order where at least one upsell was accepted. An order that accepts upsells in two placements contributes twice; multiple offers accepted within one placement count once. | `sum(placements per order with at least 1 accepted offer)` |
| **Purchased orders** | The number of purchased orders where this widget was displayed. This is the denominator used by the upsell conversion rate and per-order revenue metrics. | `sum(purchased orders)` |

<Note>
  The widget analytics modal on the Checkout dashboard charts the first four of these - Upsell revenue per order, Sessions with widget, Upsell conversion rate, and Orders with upsells. **Purchased orders** is the denominator behind two of them rather than a chart of its own; it appears as a chart only in the widget analytics modal inside the checkout editor.
</Note>

<Note>
  When an A/B test is running on an upsell widget, these same 4 metrics are split to show **Version A** and **Version B** separately, allowing direct comparison between versions. A/B test results are only available at the widget level and are not shown in the general Analytics tab. For setup instructions, see [Checkout A/B Testing](/aftersell/checkout_a_b_testing).
</Note>

### Standalone content widgets

Content widgets are every non-upsell category: **Rewards**, **Trust Badges**, **Testimonials**, **Cart Controls**, **Notes**, **Text**, and **Images**. These widgets do not offer upsell products but can influence checkout behavior, and all of them get the same set of charts.

| Metric | What it measures | Formula |
| - | - | - |
| **Sessions with widget** | The number of unique checkout sessions where this widget was displayed. If a customer views a page multiple times on a single order, it is counted as one session. | `sum(widget views)` |
| **Cart conversion rate** | The percentage of sessions that resulted in a completed purchase. | `(purchased orders / impressions) x 100` |
| **Average order value** | The average total order value for sessions where this widget was displayed. | `total store revenue / purchased orders` |
| **Checkout abandonment rate** | The percentage of sessions that did not complete their purchase. | `(1 - purchased orders / impressions) x 100` |

<Note>
  When an A/B test is running on a content widget, these same 4 metrics are split to show **Version A** and **Version B** separately, allowing direct comparison between versions.
</Note>
