Skip to main content
Metrics type: Cross-Platform MetricsCategory: Marketplace

At a glance

Average percentage gap between the merchant’s OnBuy price and their DTC (Shopify, BigCommerce, Adobe Commerce) list price for the same SKU. Read together with onbuy_xc_catalogue_drift (OnBuy vs Amazon) to spot when OnBuy is being treated as a discount channel that cannibalises DTC margin.

Calculation

Calculated automatically from your OnBuy 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 kitchen-and-tableware seller, snapshot taken 27 Apr 26. The seller has 95 SKUs on OnBuy and 220 on Shopify (DTC). 88 SKUs match across both. Sample of the matched-SKU price comparison:
What it means for this seller. The average is -14.8%, comfortably above the -10% alert threshold. Two thirds of OnBuy listings sit more than 10% below DTC list. The merchant has structurally turned OnBuy into a discount channel, not a parallel one. The downstream effects are quantifiable. The action. Lift OnBuy prices on the 67 sub-DTC SKUs by 10 to 15% to bring the average gap into the -3% to +3% band (rough parity). Expected outcomes: (1) OnBuy unit volume drops 10 to 15%, (2) per-order OnBuy margin rises by ~£2, (3) DTC reclaim of 5 to 10% of the cannibalised volume at full margin. The maths typically nets out to roughly the same OnBuy revenue with materially higher blended margin, plus reduced Amazon Buy Box exposure. This is one of the highest-ROI single-action recommendations the AI OS makes.

Sibling cards merchants should reference together

This card is the DTC-vs-marketplace pricing-discipline read. The natural pairings:

Reconciling against the vendor’s own dashboard

Where to look in OnBuy’s own dashboard: OnBuy does not provide a DTC comparison view; the data lives in the merchant’s own DTC platform. The closest manual workflow is:
OnBuy Seller Console (https://seller.onbuy.com) -> Listings -> All Listings (export CSV with prices) Shopify Admin -> Products -> Export (or BigCommerce / Adobe equivalent) Compare in Excel using EAN or SKU as the join key.
Most merchants only run this comparison after a brand or distributor flags a MAP violation, by which time the cannibalisation has already happened. Why our number may legitimately differ from a manual comparison: Internal identity: onbuy_xc_dtc_price_gap = AVG((onbuy.price - dtc.list_price) / dtc.list_price) for matched SKUs The drill-down view shows the per-SKU breakdown ranked by absolute gap; the top of that list is where action concentrates.

Known limitations / merchant FAQs

Should OnBuy be cheaper than my own DTC site? Slightly, yes; the rough rule is OnBuy at -3% to -7% vs DTC list. The reasoning: OnBuy buyers are more price-sensitive than direct buyers, and OnBuy commission (5 to 9%) is lower than DTC effective acquisition cost (often 15 to 25% of price for ad-funded brands), so a small OnBuy discount makes economic sense without cannibalising. The alert fires at -10%, which is the band where cannibalisation typically begins to outweigh the marketplace-native discount logic. Why is the alert on the average, not the worst SKU? Because the action is portfolio-level. A single SKU at -25% might be a deliberate clearance move; the average rising past -10% across the catalogue is a signal that the merchant has structurally repositioned OnBuy as a discount channel. The drill-down view ranks SKUs by absolute gap so the worst offenders are still actionable individually. My OnBuy is more expensive than DTC. Is that bad? No, that is unusually disciplined and usually correlates with low cannibalisation risk. The downside is that OnBuy revenue tops out lower than it could; OnBuy buyers will simply not buy at the higher price. Practical band: between 0% (parity) and +5% (slightly more expensive on OnBuy) is a defensible position for premium brands that do not want OnBuy to undercut DTC perception. My DTC site has frequent promo discounts. Does that affect this card? We compare to DTC list_price, not the active promo price, specifically to insulate this card from short-term promotions. The 7-day stability filter further smooths out brief sales. If a merchant runs a permanent “always 20% off” coupon, they should update the list price to reflect the true selling price and let our card recalibrate; otherwise the card will under-state the real gap. Does this account for shipping? No. Both sides use list price excluding shipping. OnBuy buyers pay shipping at checkout (separate from order.amount’s headline number); DTC merchants typically charge shipping or have a free-shipping threshold. The card compares advertised list prices because that is what buyers see and compare. A more sophisticated “delivered cost” view would account for shipping but is not how merchants or shoppers think about it. My OnBuy gap dropped from -18% to -8%. What probably happened? Three usual causes, in order of likelihood. (1) The merchant ran a manual repricing on OnBuy (most common, especially after this card flagged the issue). (2) DTC list prices dropped (a Shopify storewide price reduction without OnBuy following). (3) Match-set changed (new SKUs added to OnBuy with different price profile). Open the drill-down to see whether the gap-rank order is similar (cause 1) or has reshuffled (cause 3). Can I exclude SKUs that are deliberately cheaper on OnBuy (e.g. clearance lines)? Yes; mark them as “OnBuy-clearance” in the Vortex Mind catalogue settings and they are excluded from the average. The exclusion persists until removed. Use this for end-of-line, distressed inventory, and seasonal closeouts that the merchant deliberately routes through OnBuy at lower margin to clear stock. Does this card flag DTC subscription pricing differently from one-time purchases? DTC subscription products typically expose two prices: the one-time price (closer to OnBuy) and the subscribe-and-save price (often 10 to 15% lower). We compare to the one-time price; the subscribe price would distort the comparison since OnBuy does not offer subscription pricing. How does this interact with Amazon’s Fair Pricing crawler? Amazon’s crawler watches OnBuy independently of DTC, so this card and onbuy_xc_catalogue_drift work together. The dangerous combination is OnBuy >10% below DTC AND OnBuy >15% below Amazon. That is when the merchant gets MAP-policed by Amazon and cannibalises DTC simultaneously, the worst-case Sunday-night discovery a merchant can wake up to on Monday.

Tracked live in Vortex IQ Nerve Centre

OnBuy vs DTC Price Gap is one of hundreds of KPI pulses Vortex IQ tracks across OnBuy 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 or book a demo to see this metric running on your own data.