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

# Revenue by Storefront Surface, Ecwid

> Revenue by Storefront Surface: per-surface revenue split across embed, Instant Site, social and POS. Reveals which surfaces pull weight and which are dormant. How to read it, why it matters, and how to act on it.

**Card class:** [Hero](/nerve-centre/overview#card-classes-explained)  •  **Category:** [Ecommerce Platform](/nerve-centre/connectors#connectors-by-type)

> Per-storefront revenue split. Reveals which surfaces are pulling weight and which are dormant.

## At a glance

> Revenue split across each enabled storefront surface over the rolling 30 days - how much came through the embed widget vs the Instant Site vs Facebook vs Instagram vs POS vs marketplaces. Ecwid sells one catalogue across many surfaces, and merchants usually have a gut sense of where sales come from that turns out to be wrong. This card replaces the guess with a number and shows which surfaces are pulling weight and which are dormant overhead.

|                         |                                                                                                                                                                                                       |
| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **What it counts**      | `SUM(order.total)` for `PAID` orders in the rolling 30D window, grouped by the storefront surface the order originated from.                                                                          |
| **API endpoint**        | `GET /v3/{store-id}/orders` (paged, OAuth2 with `read_orders` scope); the originating surface is read from the order's source / referer fields. Surface list cross-checked against the store profile. |
| **Surface attribution** | Each order is attributed to the surface it was placed through (embed, Instant Site, Facebook, Instagram, POS, marketplace) where Ecwid records that source on the order.                              |
| **Refunds**             | NOT deducted, consistent with [Total Revenue](/nerve-centre/kpi-cards/ecwid/total-revenue). Each surface's figure is gross.                                                                           |
| **Cancelled / pending** | Excluded. Only `PAID` orders contribute.                                                                                                                                                              |
| **Unattributed orders** | Orders where Ecwid does not record a clear source are grouped into an "other / direct" bucket rather than dropped.                                                                                    |
| **Currency**            | Single currency per Ecwid store. Each surface is reported in the store currency.                                                                                                                      |
| **Time window**         | `30D` (rolling 30 days).                                                                                                                                                                              |
| **Alert trigger**       | None - informational. Surface-level drops are alerted by [Channel-Specific Order Drop](/nerve-centre/kpi-cards/ecwid/channel-specific-order-drop); this card is the standing split.                   |
| **Roles**               | owner, finance, marketing.                                                                                                                                                                            |

## Calculation

Calculated automatically from your Ecwid data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.

## Worked example

**A small UK candle and home-fragrance maker running Ecwid across four surfaces, rolling 30D ending 27 Apr 26.**

The maker assumed Instagram was their biggest earner because that is where they spend the most effort. The card tells a different story.

| Surface            | Revenue (30D) | Share    | Orders  |
| ------------------ | ------------- | -------- | ------- |
| Embed (WordPress)  | £3,180        | 62%      | 94      |
| Instant Site       | £980          | 19%      | 26      |
| Instagram Shopping | £640          | 13%      | 22      |
| Facebook Shop      | £310          | 6%       | 11      |
| **Total**          | **£5,110**    | **100%** | **153** |

```text theme={null}
Revenue by Storefront Surface (30D)
Embed         ████████████████████████  £3,180  62%
Instant Site  ███████                   £980    19%
Instagram     █████                     £640    13%
Facebook      ██                        £310     6%
```

**What it means for this maker.** The old workhorse - the embed on the original WordPress blog - is still doing nearly two-thirds of the revenue. Instagram, where the maker spends most of their marketing time, is third at 13%. That is not a reason to abandon Instagram (it likely seeds awareness that converts later on the embed), but it is a reason to stop treating the embed as a legacy afterthought. The embed deserves the next round of checkout and page-speed attention.

The Instant Site at 19% is a quiet surprise. It was stood up for a one-off Christmas market QR code and has kept earning on its own URL ever since. That is a surface worth nurturing rather than forgetting.

Facebook at 6% on 11 orders is the dormant-overhead candidate. It is not zero, so it is not broken, but it is small enough that the maker should decide deliberately whether to invest in it or accept it as a low-effort trickle. The combination of this card with [Active Storefront Surfaces](/nerve-centre/kpi-cards/ecwid/active-storefront-surfaces) is the point: four surfaces are active, but the revenue is concentrated in two. Knowing that lets the owner spend their limited time where it actually pays.

## Sibling cards merchants should reference together

| Card                                                                                                             | Why it matters next to Revenue by Storefront Surface | What the combination tells you                                                            |
| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| [Active Storefront Surfaces](/nerve-centre/kpi-cards/ecwid/active-storefront-surfaces)                           | The denominator of surfaces.                         | Surfaces active vs surfaces earning; a gap means dormant overhead.                        |
| [Channel-Specific Order Drop](/nerve-centre/kpi-cards/ecwid/channel-specific-order-drop)                         | The alarm on this split.                             | A surface's revenue share collapsing is the slow version of the drop alert.               |
| [Total Revenue](/nerve-centre/kpi-cards/ecwid/total-revenue)                                                     | The sum of all surfaces.                             | The surface shares should add up to total revenue; a shortfall flags unattributed orders. |
| [Average Order Value](/nerve-centre/kpi-cards/ecwid/average-order-value)                                         | Basket size per surface.                             | Social surfaces often have lower AOV than the embed; mix shifts move blended AOV.         |
| [Orders by Country](/nerve-centre/kpi-cards/ecwid/orders-by-country)                                             | Where each surface reaches.                          | Social surfaces pull a wider country mix; the split explains geographic spread.           |
| [Conversion Rate](/nerve-centre/kpi-cards/ecwid/conversion-rate)                                                 | Funnel quality per surface.                          | A high-traffic, low-revenue surface usually has a checkout or UX problem.                 |
| [Top Products by Revenue](/nerve-centre/kpi-cards/ecwid/top-products-by-revenue)                                 | What sells where.                                    | Different surfaces sell different hero SKUs; concentration risk varies by surface.        |
| [Inventory Sync Drift Across Storefronts](/nerve-centre/kpi-cards/ecwid/inventory-sync-drift-across-storefronts) | Integrity across the same surfaces.                  | A high-revenue surface with stock drift is the most expensive place for an oversell.      |

## Reconciling against Ecwid

**Where to look in Ecwid's own dashboard:**

> **Ecwid Control Panel (`my.ecwid.com`) -> Reports -> Sales report, then segment by channel/source**
> Ecwid's reporting can break sales down by sales channel; compare each channel line against the matching surface in this card.

For the embed vs Instant Site split specifically, cross-reference the order list filtered by source under **My Sales -> Orders**.

**Why our number may differ from Ecwid's Control Panel:**

| Reason                  | Direction                  | Why                                                                                                              |
| ----------------------- | -------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| **Unattributed orders** | Either                     | Orders without a clear recorded source go to our "other / direct" bucket; Ecwid may distribute them differently. |
| **Refunds**             | Theirs lower (netted view) | Ecwid's net-sales toggle subtracts refunds per channel; our per-surface figure is gross.                         |
| **Time zone**           | Boundary days              | Ecwid uses the store's configured time zone; we use UTC. Small boundary effect on 30D.                           |
| **Surface naming**      | Cosmetic                   | Ecwid may label a surface differently (e.g. "Storefront" vs "Embed"); the underlying revenue is the same.        |
| **Sync lag**            | Ours occasionally lower    | Webhook-driven; the most recent few minutes of orders may not be in.                                             |

**Internal identity:**

`SUM(ecwid_revenue_by_storefront_surface) = ecwid_total_revenue` over the same 30D window (allowing for the unattributed bucket).

***

<details>
  <summary><em>Documentation cross-reference (for agencies running multiple platforms)</em></summary>

  * [`shopify.revenue_by_sales_channel`](/nerve-centre/kpi-cards/shopify/revenue-by-sales-channel)
  * [`bigcommerce.bigcommerce_revenue_by_channel`](/nerve-centre/bigcommerce/bigcommerce_revenue_by_channel)
</details>

## Known limitations / merchant FAQs

**How does the card know which surface an order came from?**
Ecwid records a source / referer on the order where it can. We group orders by that recorded source. Orders Ecwid cannot attribute cleanly go into an "other / direct" bucket so the totals still add up.

**My surface shares do not add up to my Total Revenue. Why?**
Two reasons. First, the unattributed "other / direct" bucket - if it is not shown separately, the visible shares will fall short. Second, timing: this card and Total Revenue are both gross and on the same 30D window, so the only legitimate gap is unattributed orders plus normal sync lag.

**Is Instagram revenue the orders placed on Instagram, or orders from people who saw me on Instagram?**
Only orders actually completed through the Instagram surface (the Ecwid checkout reached via Instagram Shopping). A customer who discovers you on Instagram and then buys on your embed is attributed to the embed. This card measures where the order closed, not where awareness started.

**One of my surfaces shows zero revenue but is active. Is it broken?**
Possibly, or it may just be unused. Check it against [Channel-Specific Order Drop](/nerve-centre/kpi-cards/ecwid/channel-specific-order-drop): a surface that used to earn and now shows zero is likely broken; a surface that never earned may simply be mis-promoted or pointed at the wrong audience.

**Are these figures gross or net of refunds?**
Gross, consistent with [Total Revenue](/nerve-centre/kpi-cards/ecwid/total-revenue). A refunded order still sits in its surface's total. For the netted view per channel, use Ecwid's net-sales toggle in the Sales report.

**Does POS revenue appear here?**
Yes, when you sell through Ecwid POS (Square POS or the mobile till), those orders are attributed to the POS surface. For a seasonal merchant this line appears and disappears with your fair calendar.

**Why is there no alert on this card?**
This is the standing split, meant to be read deliberately. The alerting job belongs to [Channel-Specific Order Drop](/nerve-centre/kpi-cards/ecwid/channel-specific-order-drop), which watches each surface's order volume for sudden falls. Use the two together: this card for "where does my money come from", the drop card for "did a surface just break".

**My biggest surface by revenue is not the one I spend the most effort on. Should I change?**
Not reflexively. Effort on a small surface may be seeding demand that closes on your largest surface. But the card is a useful reality check: if a surface earns little and shows no signs of seeding others, that is time you could redeploy to the surfaces that pay.

**How far back can I trend the split?**
The card itself reports the rolling 30 days. For the longer shape of each surface over time, pair it with [Revenue Trend](/nerve-centre/kpi-cards/ecwid/revenue-trend) and watch how the mix shifts month over month.

***

### Tracked live in Vortex IQ Nerve Centre

*Revenue by Storefront Surface* is one of hundreds of KPI pulses Vortex IQ tracks across Ecwid and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English.

[Start for free](https://app.vortexiq.ai/login) or [book a demo](https://www.vortexiq.ai/contact-us) to see this metric running on your own data.
