> ## 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.

# Channel Mix Shift (vs prior), Square Online

> Channel Mix Shift (vs prior): detects when the balance of revenue between POS, online, and invoices moves sharply versus the prior period. 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)

> Detects sudden channel-mix shifts (e.g. POS revenue dropped 25pp into online, likely tied to staffing / store-closure / promotion). Distinctive to multi-channel Square.

## At a glance

> A view of how the share of revenue across your Square channels (POS in-store, Square Online web, Square Invoices) has moved versus the prior period, in percentage points. Total revenue can look flat while the mix beneath it shifts dramatically, a store closure pushing sales online, a promotion pulling them onto the web, a wholesale month loading invoices. Because Square unifies all three channels on one merchant of record, this shift is uniquely visible and uniquely meaningful.

|                                   |                                                                                                                                                                                                                                      |
| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **What it counts**                | The change in each channel's share of total revenue versus the prior period, expressed in percentage points (pp). Channels are derived from Square Orders `source.name` (Square Online Store, Square POS, Square Invoices).          |
| **Channel / source treatment**    | **The channel split is the entire point.** Revenue is bucketed by `source.name` and each bucket's share is compared period over period. A pp shift means revenue moved between channels, not necessarily that total revenue changed. |
| **Currency / unit**               | Percentage points of share change per channel (the underlying revenue is summed in each location's currency before share is computed).                                                                                               |
| **Time window**                   | `30D vsP` (current 30 days vs the prior 30 days)                                                                                                                                                                                     |
| **Alert trigger**                 | Fires when any channel's share moves by 20 percentage points or more versus the prior period. A swing that large is rarely organic and usually has a specific cause.                                                                 |
| **Roles**                         | owner, marketing                                                                                                                                                                                                                     |
| **What a big shift signals**      | A store closure or reduced opening hours (POS down, online up), a web promotion or campaign (online up), a wholesale push (invoices up), staffing gaps, or a seasonal pattern.                                                       |
| **Why total revenue can hide it** | If POS falls and online rises by the same amount, total revenue is unchanged while the business has fundamentally changed shape. This card surfaces what the headline conceals.                                                      |

## Calculation

Calculated automatically from your Square Online 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 UK bakery group on Square. Three shops, a Square Online storefront for nationwide gift boxes, and Square Invoices for corporate catering. One shop closed for two weeks of refurbishment in the current window. The comparison is the 30 days to 12 Apr 26 versus the prior 30 days.

| Channel                           | `source.name`       | Prior share | Current share | Shift (pp)       |
| --------------------------------- | ------------------- | ----------- | ------------- | ---------------- |
| Square POS (in store)             | Square POS          | 68%         | 49%           | -19              |
| Square Online Store (web)         | Square Online Store | 22%         | 43%           | +21              |
| Square Invoices (catering)        | Square Invoices     | 10%         | 8%            | -2               |
| **Channel Mix Shift (this card)** |                     |             |               | **online +21pp** |

Three things to notice:

1. **Total revenue barely moved, the mix moved a lot.** Overall revenue was roughly flat because the lost in-store sales were largely recaptured online during the refurbishment. A revenue-only view would have shown a quiet, unremarkable month, while this card shows a 21pp swing into online, which is a structural event worth understanding.
2. **The +20pp threshold fired on the online channel.** Online crossed the alert at +21pp, and POS came close at -19pp. The pairing tells the story: in-store demand did not vanish, it migrated to the web channel while a shop was closed. The action is to confirm the cause (the refurb) and decide whether to sustain the online push afterwards.
3. **Mix shifts often precede a revenue move.** A channel migration that starts as displacement (refurb) can become permanent (customers prefer ordering online). Pair this card with [Revenue by Channel](/nerve-centre/kpi-cards/square-online/revenue-by-channel-pos-online-invoices) and [Total Revenue](/nerve-centre/kpi-cards/square-online/total-revenue) over the following weeks to see whether the new shape sticks.

## Sibling cards merchants should reference together

| Card                                                                                                                         | Why pair it with Channel Mix Shift                                                                                                           |
| ---------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| [Revenue by Channel (POS / Online / Invoices)](/nerve-centre/kpi-cards/square-online/revenue-by-channel-pos-online-invoices) | The absolute figures behind the shift. This card shows the pp move; that card shows the pounds or dollars in each channel.                   |
| [Revenue by Location (in-store)](/nerve-centre/kpi-cards/square-online/revenue-by-location-in-store)                         | A mix shift away from POS often traces to one location. This card tells you which store moved.                                               |
| [Total Revenue](/nerve-centre/kpi-cards/square-online/total-revenue)                                                         | The headline that can hide a mix shift. Pairing the two shows whether the business changed shape even when the top-line did not change size. |
| [Revenue Trend](/nerve-centre/kpi-cards/square-online/revenue-trend)                                                         | Puts the shift in a time series so you can see whether it is a one-off displacement or a developing trend.                                   |
| [Active Locations](/nerve-centre/kpi-cards/square-online/active-locations)                                                   | A location going inactive is a common driver of a POS-to-online shift. Check this card to rule a closure in or out.                          |
| [Customer Capture Source (POS vs Online)](/nerve-centre/kpi-cards/square-online/customer-capture-source-pos-vs-online)       | A revenue mix shift is often mirrored by a shift in where new customers are captured. Pair them to see whether the audience is changing too. |

## Reconciling against Square

**Where to look in the Square Dashboard:**

[Square Dashboard, Reports, Sales summary](https://squareup.com/dashboard/sales/reports/sales-summary). Run the report for the current window, then again for the prior window, and compare the breakdown by source or channel. Square can group sales by source, so you can read each channel's revenue in both periods and compute the share yourself. The pp change you calculate should match this card.

Other Square Dashboard views that *look* like the same thing but aren't:

* **Sales summary, grouped by source, two periods compared**: this is the right reconciliation. Compute share in each period and difference them.
* **Sales by location**: shows the location split, which is related but not identical. A channel shift and a location shift often coincide but are not the same axis.
* **Reports, Sales trends**: shows revenue over time, useful for confirming the timing of a shift, but does not compute the pp share change directly.
* **Dashboard home, Today's sales**: single-day, single-snapshot. Too short to read a mix shift.

**Why our number may legitimately differ from Square Dashboard:**

| Reason                                                                                                                                                                                                               | Direction of divergence                                     |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------- |
| **Source attribution**. How an order's `source.name` maps to a channel (web, POS, invoices) must be consistent. Edge cases like third-party integrations writing to the Orders API can land in an unexpected bucket. | Small share differences if a source is bucketed differently |
| **Multi-currency**. Share is computed from revenue; for a multi-currency merchant, the underlying revenue sum mixes currencies unless filtered. Use the per-location filter for a clean read.                        | Material for cross-border merchants                         |
| **Window alignment**. Both periods must be exactly aligned (30 days vs the prior 30 days). A mismatched dashboard range will produce a different pp shift.                                                           | Differences from window mismatch                            |
| **Sync lag**. The most recent orders may take a short cycle to reach our index, slightly changing current-period shares.                                                                                             | Self-resolves within minutes                                |

**Cross-connector reconciliation:**

| Card                                                                                                                         | Expected relationship                  | What causes legitimate divergence                                                                                                                                                                                  |
| ---------------------------------------------------------------------------------------------------------------------------- | -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [`google_analytics.ga_revenue_trend`](/nerve-centre/kpi-cards/google-analytics/revenue-trend)                                | GA4 only sees the online (web) channel | Square POS and invoice revenue never reach GA4, so a POS-to-online shift will look like a pure revenue rise in GA4 even though Square sees it as a migration. Treat Square as the source of truth for channel mix. |
| [Revenue by Channel (POS / Online / Invoices)](/nerve-centre/kpi-cards/square-online/revenue-by-channel-pos-online-invoices) | Channel shares should tie out          | Both read the same `source.name` buckets. Divergence usually means a window or currency-filter mismatch.                                                                                                           |

**Why this card is distinctive to Square:** on platforms where POS is a separate product, in-store and online revenue live in different systems and a true channel mix shift is hard to compute. Square unifies POS, web, and invoices on one merchant of record in a single Orders API, so the share of revenue per channel is a clean, native measurement. That is why a sharp mix shift earns a hero slot here, it is a signal only Square can show this cleanly.

***

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

  Channel mix shift is most meaningful on unified-commerce platforms. Where a platform keeps online and POS separate, a comparable view only exists if both feed one reporting layer. These links are provided where a comparable concept exists, not as a reconciliation.

  * [`shopify.channel-mix-shift`](/nerve-centre/kpi-cards/shopify/channel-mix-shift)
  * [`bigcommerce.channel-mix-shift`](/nerve-centre/kpi-cards/bigcommerce/channel-mix-shift)
</details>

## Known limitations / merchant FAQs

**What is a percentage-point shift, exactly?**
It is the change in a channel's share of total revenue, not the change in its revenue. If online went from 22% to 43% of revenue, that is a +21pp shift. The card uses pp rather than percent so the numbers are comparable across channels and not distorted by the size of the base.

**Why did the alert fire when my total revenue was flat?**
Because the mix moved even though the total did not. If POS falls and online rises by the same amount, total revenue is unchanged but the business has changed shape. This card exists precisely to catch that, since the headline revenue card cannot.

**What usually causes a big mix shift?**
The common drivers are a store closure or reduced hours (POS down, online up), a web promotion or campaign (online up), a wholesale or catering push (invoices up), staffing gaps that limit in-store throughput, and seasonality. The channel that moved tells you where to look.

**Is a mix shift a bad thing?**
Not inherently. A planned web promotion that pulls revenue online is a success, not a problem. The card flags the magnitude so you can confirm the cause. The risk is an unexplained shift, that is the one worth investigating before it becomes a trend.

**How are channels determined?**
From the Square Orders `source.name`, which distinguishes Square Online Store (web), Square POS (in store), and Square Invoices. Because all three share one merchant of record, the split is native to Square's Orders API rather than stitched together from separate systems.

**Why is the window 30 days versus the prior 30 days?**
A 30-day comparison smooths out daily and weekly noise so the shift reflects a real change in shape rather than a busy weekend. A shorter window would fire on routine variation; a longer one would be too slow to catch a developing migration.

**Can I change the 20pp threshold?**
The default is a 20pp move on any channel, which is large enough to be rare and meaningful. A merchant with naturally volatile channel mix may want a higher threshold, and one with very stable mix may want a tighter one. It can be configured per merchant in your Vortex IQ workspace.

***

### Tracked live in Vortex IQ Nerve Centre

*Channel Mix Shift (vs prior)* is one of hundreds of KPI pulses Vortex IQ tracks across Square Online 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.
