Skip to content

Sell on Amazon

import { Aside, Steps } from ‘@astrojs/starlight/components’;

Melbora connects a client’s existing Shopify store to Amazon through Shopify Marketplace Connect — Shopify’s own free app that publishes the catalog to Amazon and imports Amazon orders back into Shopify. Once it’s linked, it runs hands-off, and Melbora surfaces real Amazon sales analytics in the portal, computed from the orders Shopify receives.

  • A Melbora Website with Shopify connected (see Connect a Shopify store).
  • The Marketplace Connect channel added on the Blueprint (drag it from the picker onto the Commerce node).
  • An Amazon Seller Central account. Amazon requires the merchant to register with tax/bank/identity verification — this can’t be automated by Melbora or anyone else. If the client doesn’t sell on Amazon yet, they create the seller account at https://sell.amazon.com first.
  • Shopify catalog published to Amazon + Amazon orders imported into Shopify (handled entirely by Marketplace Connect).
  • An Amazon panel in the Marketplace Connect node drawer: link status, a deep-link to the Amazon setup, and a sales analytics card (revenue, orders, average order value, units, top products) over a trailing window.
  • A link state that flips to Linked automatically once the first real Amazon order arrives — no manual confirmation.
  1. Open the Website’s Blueprint and click the Marketplace Connect node.

    Its drawer opens; the Config tab shows the Amazon panel.

  2. Click “Set up Amazon”.

    This deep-links into Marketplace Connect inside the merchant’s own Shopify admin. (Melbora can’t perform the Amazon link itself — Marketplace Connect has no public API for it.)

  3. Inside Marketplace Connect, link the Amazon Seller Central account and choose which products to list. Marketplace Connect walks the merchant through marketplace selection, category mapping, and pricing.

  4. Let it sync. Marketplace Connect publishes the catalog and, going forward, imports Amazon orders into Shopify automatically. This is the set-it-and-forget-it part — no ongoing action in Melbora.

  5. Back in the Melbora drawer, click “Refresh analytics”.

    Melbora queries the store’s orders, keeps the Amazon-attributed ones, and renders the analytics card. Once any Amazon order exists, the link state turns Linked (green).

Melbora pages through the Shopify Admin GraphQL orders connection over a trailing window (default 30 days, max 60 — that’s all Shopify’s read_orders scope exposes) and keeps orders that carry an Amazon-specific signal — primarily the sales sub-channel name (where Marketplace Connect records the marketplace) or an amazon order tag. It aggregates only real order data into:

  • gross + net revenue, refund count/amount, order count, AOV, units
  • a daily trend and a top-products list
  • fulfillment + payment status breakdowns
  • ship-to geography (country-level)
  • period-over-period vs the prior equal window (only when 2× the window fits Shopify’s 60-day limit — e.g. a 30-day window compares against the prior 30 days)

A store with no Amazon orders shows exact zeros — never sample figures. Geography comes from the order shipping address; country code is Level-1 PCD-tier (only full address lines/zip are the stricter Level 2), and Amazon often coarsens or omits it, so buckets may be sparse or land in “unknown”. Period-over-period is suppressed when the scan truncates on a very high-volume store (the older window would otherwise under-report).

The snapshot is cached on the Marketplace Connect channel and refreshed on demand (and once automatically after a Shopify (re)connect). The matchedSignals field records which signal identified the Amazon orders, so an operator can confirm attribution against a real store.

import { VantageClient } from "@vantageconnections/sdk";
const vc = new VantageClient({ token: process.env.VANTAGE_TOKEN! });
// Read the cached snapshot:
const state = await vc.websites.amazonAnalytics("wb_01J7...");
console.log(state.linkState, state.analytics?.grossRevenue);
// Recompute from Shopify over a 60-day window (the max Shopify exposes):
const fresh = await vc.websites.refreshAmazonAnalytics("wb_01J7...", { window: 60 });

Amazon lives inside Marketplace Connect, so unlinking Amazon happens in the Marketplace Connect app (in the merchant’s Shopify admin). Removing the Marketplace Connect channel from the Melbora Blueprint drops Melbora’s record (including the cached Amazon analytics) but does not uninstall the Shopify app.