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

# Revenue by Channel

> Shopify sales grouped by the channel attributed by Shopify.

| Contract           | Value                            |
| ------------------ | -------------------------------- |
| Metric key         | `app.report.revenue_by_channel`  |
| Source             | Aloftly                          |
| Status             | active                           |
| Type               | application                      |
| Semantic version   | Application calculation          |
| Catalog visibility | Supporting or fixed-surface only |

## How it's calculated

```text theme={null}
Groups shopify.sales_by_channel facts by their channel dimension and sums the selected period.
```

## Known caveats

None.

## Where this appears

* Revenue by Channel widget title

<AccordionGroup>
  <Accordion title="Grain and identity" icon="ruler">
    One channel row for one store scope and selected date window.

    **Join and identity keys**

    * Organization, store scope, and identical half-open UTC date window
  </Accordion>

  <Accordion title="Filters and boundaries" icon="filter">
    * Uses the exact metric keys and source filter declared by the composition query.
  </Accordion>

  <Accordion title="Timezone, currency, and freshness" icon="clock">
    **Timezone.** Uses the selected UTC half-open window until store timezone support lands.

    **Currency.** Inherited from constituent metrics; mixed-currency totals are unavailable.

    **Freshness.** Inherited from the least-fresh required constituent metric.
  </Accordion>

  <Accordion title="Version history" icon="clock-rotate-left">
    | Date       | Change                                                   |
    | ---------- | -------------------------------------------------------- |
    | 2026-08-06 | Registered the response-bound composite report contract. |
  </Accordion>
</AccordionGroup>
