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

# Top-Velocity SKUs vs Ad Spend, Salesforce Commerce Cloud

> Top-Velocity SKUs vs Ad Spend, a cross-channel view of whether your fastest-selling SFCC products are getting their share of ad budget. 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)

> Top-Velocity SKUs vs Ad Spend, broken down by row.

## At a glance

> A cross-channel table that lines up your fastest-selling Salesforce Commerce Cloud (SFCC, formerly Demandware) SKUs against the ad spend behind them, pulled from a connected ad platform such as Google Ads or Meta Ads. It catches a quiet but expensive misallocation: top sellers that are barely advertised (under-invested winners you could pour fuel on) and, by contrast, the budget going to slower products. SFCC tells you what is actually selling; the ad platform tells you where the money is going. The card flags the gap. Because it spans two connectors, it only populates when both your SFCC connector and an ad connector are live.

|                           |                                                                                                                                                                                                                                                                                                                                        |
| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **What it counts**        | A SKU-level comparison of sales velocity against ad spend. From SFCC: units sold / sales velocity per SKU over the window. From the ad connector: spend (and optionally impressions/clicks) mapped to that SKU or its product group. The card flags top-velocity SKUs receiving a disproportionately small share of ad spend.          |
| **Why it matters**        | Ad budget should follow demand. When your fastest sellers get a thin slice of spend, you are under-investing in proven winners while budget leaks to products that convert worse. Reallocating toward top-velocity SKUs is one of the lowest-risk ways to lift return on ad spend, because you already have proof those products sell. |
| **Reading the value**     | Each row is a top-velocity SKU with its sales rank and its share of ad spend. The headline condition flags top sellers receiving an unusually small share of budget. Read by gap size: a number-one seller getting almost no spend is the headline opportunity; small gaps are fine-tuning.                                            |
| **The match**             | SKUs are matched to ad spend on a shared identifier (SKU / product ID / feed item ID) or via the product group / campaign structure in the ad platform. Where feed mappings are missing, spend can look absent when it is simply not linked, see the reconcile section.                                                                |
| **Direction of the flag** | Primary flag: **high velocity, low ad share** (under-invested winners). The card can also surface the inverse, heavy spend on low-velocity SKUs, as a budget-leak signal depending on configuration.                                                                                                                                   |
| **Connectors feeding it** | **SFCC** (sales velocity) plus an **ad connector**, for example Google Ads or Meta Ads. Both must be connected.                                                                                                                                                                                                                        |
| **Unit**                  | currency (ad spend; alongside SFCC sales velocity per SKU)                                                                                                                                                                                                                                                                             |
| **Time window**           | `30D`                                                                                                                                                                                                                                                                                                                                  |
| **Alert trigger**         | `top sellers receiving <10% of ad spend`                                                                                                                                                                                                                                                                                               |
| **Sentiment key**         | `scc_xc_top_skus_vs_ad_spend`                                                                                                                                                                                                                                                                                                          |
| **Roles**                 | owner, marketing, finance                                                                                                                                                                                                                                                                                                              |

## Calculation

Calculated automatically from your Salesforce Commerce Cloud 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 retailer runs an SFCC B2C realm and runs paid search and shopping on Google Ads via a connected ad connector. The 30-day window covers 14 May 26 to 12 Jun 26. Total ad spend in the window is \$300,000.

| SKU                        | SFCC velocity rank | Units sold (30d) | Ad spend on SKU | Share of ad spend | Flag                             |
| -------------------------- | ------------------ | ---------------- | --------------- | ----------------- | -------------------------------- |
| `HERO-TEE-BLK`             | 1                  | 8,420            | \$9,000         | 3.0%              | Under-invested winner            |
| `SEASON-COAT`              | 2                  | 6,110            | \$7,500         | 2.5%              | Under-invested winner            |
| `STAPLE-JEAN`              | 3                  | 5,740            | \$48,000        | 16.0%             | Well-funded                      |
| `NICHE-GADGET`             | 64                 | 410              | \$42,000        | 14.0%             | Over-invested (low velocity)     |
| **Top 3 sellers combined** |                    |                  | **\$64,500**    | **21.5%**         | Below the demand share they earn |

Things to notice:

1. **The number-one seller gets 3% of the budget.** `HERO-TEE-BLK` is the single fastest-moving SKU yet receives almost nothing in spend. That is the headline opportunity: you have proof it sells, and you are barely advertising it. Shifting budget here is low risk because demand is already demonstrated. This is exactly the row the card exists to surface.
2. **A rank-64 product is soaking up 14% of spend.** `NICHE-GADGET` sells slowly but carries heavy budget, the inverse flag. That \$42,000 is the most reallocatable money on the table. Whether it is a strategic bet (new launch, margin play) or simple drift is a judgement call, but the card makes the drift visible so the decision is deliberate.
3. **Not every top seller is starved.** `STAPLE-JEAN` (rank 3) gets a healthy 16% share, so it is not flagged. The card is not "spend equally on everything"; it is "find the proven winners that budget has skipped". A well-funded top seller is a good thing, not an alert.
4. **Match quality decides whether a flag is real.** If `HERO-TEE-BLK` actually has spend that is not mapped to it in the feed, it could look starved when it is not. Before reallocating, confirm the SKU-to-feed mapping in the ad platform. Feed mapping gaps are the most common false flag on this card, the same class of issue as SKU mapping in [SCC Inventory vs Marketplace Listings](/nerve-centre/kpi-cards/salesforce-commerce-cloud/scc-inventory-vs-marketplace-listings).

## Sibling cards merchants should reference together

| Card                                                                                                                             | Why pair it with Top-Velocity SKUs vs Ad Spend                                                                                                                              |
| -------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Top Products by Revenue](/nerve-centre/kpi-cards/salesforce-commerce-cloud/top-products-by-revenue)                             | The revenue counterpart to velocity. A SKU can be high-velocity but low-margin; pairing tells you whether the under-invested winner is also a revenue driver worth funding. |
| [SCC Inventory vs Marketplace Listings](/nerve-centre/kpi-cards/salesforce-commerce-cloud/scc-inventory-vs-marketplace-listings) | The other cross-channel SKU card. Before pouring budget into a top seller, confirm it is in stock, advertising a SKU that is OOS on SFCC is the worst outcome.              |
| [Revenue by Site / Locale](/nerve-centre/kpi-cards/salesforce-commerce-cloud/revenue-by-site-locale)                             | Demand and ad efficiency vary by site/locale; pairing tells you whether to reallocate budget by geography as well as by SKU.                                                |
| [Out-of-Stock Products](/nerve-centre/kpi-cards/salesforce-commerce-cloud/out-of-stock-products)                                 | A safety check: never increase spend on a SKU that is out of stock. Cross-read before acting on an under-invested-winner flag.                                              |
| [Average Order Value](/nerve-centre/kpi-cards/salesforce-commerce-cloud/average-order-value)                                     | Helps weigh whether a high-velocity SKU is worth more budget; a fast SKU with low AOV may not justify the spend a fast high-AOV SKU would.                                  |
| [Total Revenue](/nerve-centre/kpi-cards/salesforce-commerce-cloud/total-revenue)                                                 | The top-line context for whether reallocating ad budget is moving the needle on the realm overall.                                                                          |

## Reconciling against Salesforce Commerce Cloud

This is a cross-channel card. It compares SFCC sales velocity with ad spend from a connected ad platform, so reconciliation means verifying **each side separately** and then confirming the SKU-to-spend mapping that joins them.

**Verifying the SFCC side (sales velocity), in Business Manager:**

* **Units sold / velocity**: Merchant Tools, Site, Reports & Dashboards, Products (and Sales) over the same 30-day window shows per-product units and sales; the top-velocity ranking here should align with that.
* **Order detail**: Merchant Tools, Ordering, Orders, lets you confirm the underlying line-item quantities for a sampled top SKU.
* **Site scope**: confirm whether the velocity is realm-wide or per-site, since demand and the right budget allocation can differ by storefront.

**Verifying the ad side (spend), in the ad platform:**

* In **Google Ads / Meta Ads** (or whichever ad connector is linked), open the campaign, ad group, and shopping/product reports for the same window and read spend by product or product group.
* Confirm how the account is structured, spend mapped at the campaign or ad-group level has to be apportioned to SKUs, so the per-SKU share depends on the feed and campaign structure.

**Verifying the SKU-to-spend mapping:**

The card matches SFCC SKUs to ad spend on a shared identifier or via the product feed. A missing or coarse mapping is the most common false flag.

| Reason                                                                                                                                                                                               | Direction of divergence                 |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------- |
| **Feed mapping gaps**. If the SFCC SKU is not mapped to the ad platform's product/feed item, its spend looks absent when it is simply unlinked.                                                      | Falsely flags winners as under-invested |
| **Campaign-level spend**. Spend booked at campaign or ad-group level (not per product) has to be apportioned to SKUs; the apportionment method affects the per-SKU share.                            | Variable                                |
| **Attribution and revenue basis**. The ad platform's own conversion/revenue figures use its attribution model; this card compares SFCC velocity to spend, not the ad platform's claimed conversions. | Different lens, not a direct match      |
| **Window alignment**. SFCC velocity and ad spend must use the same window and time zone, or fast-day spikes land in different buckets.                                                               | Boundary differences                    |
| **Multi-platform spend**. If you advertise on more than one platform, only the connected ad platform's spend is in view; a SKU funded elsewhere can look starved.                                    | Under-counts total spend per SKU        |

Because no single Business Manager report equals this card, treat the reconcile as "confirm SFCC velocity, confirm ad spend, then check the feed/SKU mapping". If you run more than one ad connector, confirm which one feeds this comparison, and remember a SKU may be funded on a platform that is not connected.

## Known limitations / merchant FAQs

**Which ad platform feeds this card?**
Whichever ad connector you have linked, commonly Google Ads or Meta Ads. The card compares your SFCC top-velocity SKUs against that platform's spend. If no ad connector is connected, the card cannot populate, because the spend half of the comparison has no source. If you advertise on multiple platforms but only one is connected, the card sees only that platform's spend, so a SKU funded elsewhere can look under-invested.

**A top seller is flagged as starved, but I know we advertise it. Why?**
Almost certainly a feed mapping gap. The card joins SFCC SKUs to ad spend on a shared identifier or via the product feed; if the mapping is missing or coarse, the spend does not attach to the SKU and it looks starved. Before reallocating budget, confirm the SKU-to-feed mapping in the ad platform. Clean feed mapping is the highest-leverage fix for this card's accuracy.

**Should I just move budget to every top-velocity SKU?**
No, two checks first. (1) Confirm the SKU is in stock, never increase spend on something that is OOS on SFCC; cross-read [Out-of-Stock Products](/nerve-centre/kpi-cards/salesforce-commerce-cloud/out-of-stock-products). (2) Check margin and AOV, a fast SKU that loses money or has tiny basket value may not deserve more budget than a slightly slower, far more profitable one. The card surfaces the opportunity; you apply commercial judgement.

**What is the inverse flag, heavy spend on slow SKUs?**
It is the budget-leak side of the same comparison: low-velocity SKUs carrying a large share of spend. Depending on configuration the card surfaces these too. Some are legitimate (a new launch you are seeding, a high-margin niche), but drift is common, and the most reallocatable money in an account is usually here. The card makes the drift visible so the spend is a choice, not an accident.

**Does this use the ad platform's reported conversions / ROAS?**
No, and that is deliberate. The ad platform's conversion and ROAS figures use its own attribution model and can over- or under-state results. This card compares proven SFCC sales velocity (what actually sold) against spend (what you paid), giving a cleaner demand-vs-budget view. Use the ad platform's ROAS as a complementary lens, but treat SFCC velocity as the demand source of truth.

**Why is the window 30 days?**
Thirty days smooths out daily noise and short campaign bursts while staying recent enough to act on. Sales velocity and ad spend both fluctuate day to day; a shorter window would flag transient mismatches, a much longer one would mask current drift. The window is configurable per profile if your buying cycle or campaign cadence warrants a different one.

**Can I tune the alert?**
Yes. The default fires when top sellers receive less than 10% of ad spend; the threshold and the engagement of the inverse (over-invested) flag are configurable per profile in the Sensitivity tab. Accounts with deliberately concentrated budgets, or with a long tail of small SKUs, may want different thresholds so the flag stays meaningful for how you actually buy.

***

### Tracked live in Vortex IQ Nerve Centre

*Top-Velocity SKUs vs Ad Spend* is one of hundreds of KPI pulses Vortex IQ tracks across Salesforce Commerce Cloud 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.
