Skip to main content
Card class: Cross-ChannelCategory: Ecommerce Platform
SKUs that diverge between Shopline and Amazon. Brand-trust killer + de-listing risk under MAP policies.

At a glance

Count of SKUs listed on both Shopline and Amazon where price differs by >20% OR title differs (Levenshtein >5) OR primary image hash differs. The brand-consistency canary, divergence here triggers MAP-policy violations and Amazon Buy Box suspensions. Unlike OnBuy’s price-only drift, this card also catches title and image divergence common in APAC fashion catalogues.
What it countsCOUNT(SKUs WHERE listed on both AND (ABS(price_a - price_b) / price_a > 0.20 OR title_levenshtein(a, b) > 5 OR image_hash(a) != image_hash(b))). Three drift dimensions; any one triggers the count.
Source dataShopline GET /v1/products (variant price, title, primary image URL) joined to Amazon SP-API GET /listings/items for the merchant’s region.
Match key precedence(1) GTIN / EAN / UPC / JAN where available, (2) seller-SKU, (3) manual ASIN cross-reference.
Drift dimensions(a) Price gap >20%, (b) title Levenshtein distance >5 (catches paraphrased titles, missing keywords, language mismatch in HK/TW catalogues that run Trad-Chinese on Shopline and English on Amazon), (c) primary image perceptual-hash mismatch (catches different product photography between channels).
CurrencyBoth sides converted to common reporting currency for the price-gap check. FX from daily-close rates.
Refunds / cancellationsNot relevant; this is a catalogue-state card, not order-driven.
Time windowRT (re-evaluated every 6 hours; webhook-driven on inventory and price updates).
Alert trigger>5 SKUs drifted (>20% price OR title mismatch).
SentimentNone directly; the count is the signal.
Rolesowner, marketing, operations.
Only whenhas_amazon_sibling = true.

Calculation

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

Worked example

An APAC fashion brand running Hong Kong Shopline + Amazon JP, snapshot taken 27 Apr 26. The brand has 142 SKUs listed on both. The drift comparison flags 11:
SKUDrift typeDetail
FB-201 (linen blouse, oat)PriceShopline HK380,AmazonJPequivHK 380, Amazon JP equiv HK 510 (+34%)
FB-203 (linen blouse, sage)PriceShopline HK380,AmazonJPequivHK 380, Amazon JP equiv HK 495 (+30%)
FB-104 (cotton tunic)TitleShopline 棉質長衫, Amazon JP “Cotton Long Tunic - Off White, Linen-blend” (Levenshtein > 30)
FB-105 (cotton dress)TitleSame SKU, totally different language and keyword set
FB-118 (denim jacket)ImageShopline shows lifestyle shot (model wearing); Amazon shows flat-lay product shot
FB-205 (silk scarf)PriceShopline HK240,AmazonJPequivHK 240, Amazon JP equiv HK 195 (-19%, just under threshold… actually -25% with FX adjustment, drifted)
FB-308 (leather belt)Price + ImageBoth dimensions
(… 4 more rows …)
SKUs listed on both       142
Drifted (any dimension)    11
Of which price drift        7
Of which title drift        2 (mostly language mismatch)
Of which image drift        2
What it means. 11 drifted SKUs is above the alert threshold (>5). The pattern reveals two distinct issues:
  1. Price drift (7 SKUs). Most are Amazon JP higher than HK Shopline by 20 to 35%, justifiable as the JP market tolerates higher fashion prices and FX volatility absorbs some difference, but the gap is too wide to ignore. Risk: cross-border resellers buying from HK Shopline and reselling on Amazon JP at lower prices than the merchant’s own listing, which Amazon will eventually flag.
  2. Title and image drift (4 SKUs). Language mismatch is the easy fix (translate Shopline titles to consistent JP keywords); image mismatch needs a brand-consistency review (do we want lifestyle on Shopline and flat-lay on Amazon, or harmonise?).
The action. (1) Reprice the 7 drifted SKUs by either lifting Shopline or lowering Amazon to bring gaps inside 20%. (2) Translate the 4 title-mismatched SKUs to consistent JP keywords. (3) Schedule a brand-consistency review for image strategy across channels. The drift count should drop from 11 to under 5 within 14 days.

Sibling cards merchants should reference together

CardWhy it matters next to drift countWhat the combination tells you
Marketplace Revenue Share (Amazon)Channel weight.Higher Amazon share + higher drift = bigger MAP-risk surface area.
Active Ads on OOS SKUsAd-OOS twin.Both cards detect cross-channel inefficiency; one on price/title, the other on stock vs ads.
Top Products by RevenueDrift on hero SKUs is most expensive.If drifted SKUs include top-10 by revenue, the dollar impact of fixing is highest.
Missing DescriptionsCatalogue-quality cousin.A merchant with poor catalogue hygiene on Shopline tends to have title drift vs Amazon too.
Refund RateImage-drift downstream.Image mismatch correlates with “looks different from photo” refunds; cross-reference.
Catalogue Drift vs Amazon UK (OnBuy)Cross-platform pattern.Same archetype, different upstream.
SKU CoverageMatch-key health.If SKU coverage is low, match-precision is weaker, and drift count may be inflated by false matches.
Shopline Health ScoreComposite.Drift drags the health score because it represents structural risk, not transient operational noise.

Reconciling against the vendor’s own dashboard

Where to look: Neither Shopline nor Amazon offer a built-in cross-channel comparison; this is a Vortex IQ-only view. The closest manual workflow is:
Shopline Admin -> Products -> Export (CSV with prices, titles, image URLs) Amazon Seller Central -> Inventory -> All Inventory (export with prices, titles) Compare in Excel using EAN/JAN as the join key.
Image drift is effectively impossible to spot manually at scale; the perceptual-hash check is the unique value of this card. Why our number may legitimately differ from a manual comparison:
ReasonDirectionWhy
Title comparisonOurs stricterWe use Levenshtein distance >5, which catches paraphrasing; manual comparisons usually only flag exact mismatches.
Image hashOurs surfaces thisVendor consoles do not expose image hashes; this dimension is impossible to manually replicate.
FX rate for price gapEitherWe use daily-close FX; manual price comparisons may use month-end or “mental math” rates that differ.
Stability filterOurs lowerWe require drift to hold for 7 consecutive days; flash-promo drift is excluded.
Variant rollupMarginalApparel parent-child variant trees do not always 1:1 between Shopline and Amazon.
Restricted brand listingsOurs lowerListings the merchant cannot freely reprice (brand-registry restricted) are excluded since action is impossible.
Internal identity: shopline_xc_catalogue_drift = COUNT(SKUs WHERE listed on both AND ANY drift dimension exceeds threshold AND drift_days_consecutive >= 7) The drill-down view shows per-SKU dimension breakdowns for action prioritisation.

Known limitations / merchant FAQs

Why is the price threshold 20% here but 15% on the OnBuy version? Because Amazon JP / US fee structures and FX volatility absorb a wider naturally-occurring gap than UK marketplaces. 20% is the rule-of-thumb threshold where Amazon’s Fair Pricing crawler reliably flags listings; below that is structural noise. My title drift is mostly because the channels run different languages. Is that a problem? Not necessarily a brand-trust problem; it is a discovery problem. If your Shopline runs Trad-Chinese and Amazon JP runs JP keywords, that is correct localisation. The card flags it as “drift” so you can decide; if intentional, mark the SKU as vortexiq_localised_title to exclude from the count. Image drift seems too sensitive; can I tune it? The perceptual-hash threshold is configurable per-merchant in the manifest. Default is the standard pHash distance threshold; tightening or loosening shifts the count. My count includes a SKU I deliberately list at different price points by region. How do I exclude it? Tag the SKU vortexiq_intentional_price_drift and provide an annotation. The card excludes it but logs the annotation for audit history. How fast does drift get detected after I update one channel? 6 hours typically (the price/title sync cadence); image drift is detected once per 24 hours. The 7-day stability filter then delays the count update by a week to avoid flagging transient promos. Why does the card include both price and image drift in one count? Because both create the same business risk (brand-trust erosion, MAP-policy violation, Amazon Buy Box suspension), and the action playbook overlaps (visit each drifted SKU, decide whether to harmonise or document the divergence). The drill-down view separates dimensions for prioritisation. My drift count went from 11 to 14 overnight. What happened? Three usual causes. (1) New SKU launched on one channel before the other (transient drift; will resolve when the second channel catches up). (2) Bulk price update on one side without the other (deliberate human action; the card is doing its job). (3) Image refresh on one side; if the merchant updated Amazon photography but not Shopline, the image-drift count rises until they harmonise. What is “Levenshtein distance”? The minimum number of single-character edits (insertions, deletions, substitutions) to convert one string to another. Distance >5 means the titles are meaningfully different, not just whitespace or punctuation variants. For Asian languages we use a character-level distance, not byte-level, so Trad-Chinese characters count as one unit each. Does this card account for Shopline’s pre-order tag? Pre-order and “coming-soon” tagged SKUs are excluded since they are not actively buyable. The exclusion list is configurable per-store.

Tracked live in Vortex IQ Nerve Centre

Catalogue Drift vs Amazon is one of hundreds of KPI pulses Vortex IQ tracks across Shopline 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.