Skip to content

Marketplace Sync

List the stock you already keep in Shopify on an outside marketplace, without re-entering any of it. LGS Forge takes the products it manages for you, works out the same price it would put on your Shopify listing, reads your Shopify on-hand quantity, and creates or updates the matching listing on the marketplace — on demand, or once a day at a time you pick.

CardTrader is the marketplace available today, and it covers Magic, Pokémon and Riftbound.

Marketplace Sync is in beta

It writes to a live marketplace where real buyers can see and buy what it lists. Preview your first push, check the results, and tell us what breaks.

How this differs from Price Sync

The two features sound alike and do completely different things. The short version: Price Sync updates your own store. Marketplace Sync lists your stock somewhere else. You want both running.

Price SyncMarketplace Sync
Writes toYour Shopify storeCardTrader
ChangesPrices on products LGS Forge syncedCreates, updates and removes marketplace listings
Sends quantity?No — Shopify is your stock recordYes, your Shopify on-hand
ScopeYour whole store, every game at onceOnly the games you tick, per marketplace
ScheduleOne daily schedule for the storeIts own daily schedule, per marketplace
PlanEvery plan, including FreeGrowth and up

Marketplace Sync works out its own prices when it pushes, but it never writes them back to Shopify. Turning it on is not a substitute for a Price Sync schedule.

What you need

Marketplace Sync is on the Growth plan and up. On Free or Starter the page shows an upgrade prompt instead of the settings. See Billing & Pricing.

You'll also need a CardTrader seller account and an API token from it.

Connect CardTrader

  1. In LGS Forge, open Tools → Marketplace Sync.
  2. In CardTrader, go to Settings → API Access and generate a token.
  3. Paste it into API Token and press Connect.

We check the token against CardTrader before saving it, so a bad paste is rejected right there rather than failing silently on your first push. The token is encrypted at rest and only ever shown back to you masked.

Under Games to sync, tick the games you want on CardTrader. A game only pushes if it is ticked here and enabled in your catalog settings — if none overlap, a push completes with "Nothing to push".

The Enable switch at the top is the master control for the connection. Switched off, nothing pushes, manually or on schedule.

Preview before your first push

Press Preview. This runs the entire push — reading your inventory, pricing it, matching each card to CardTrader — and then stops without sending anything. Nothing is created, changed or removed on the marketplace, and nothing is recorded on your side.

You get the counts a real push would produce: Would create, Would update, Would delist, Would skip, Unmappable, No price. On a large catalog this is the cheapest way to find out that, say, half your stock has no price yet — before it becomes a live listing.

Push

Push now runs it for real. Progress updates as it goes, and only one push per marketplace can run at a time.

For each managed variant in a ticked game, a push sends:

  • Price — the same computed price your Shopify listing gets: catalog price, your markup, the condition multiplier, rounding, and your minimums.
  • Quantity — what Shopify reports as on hand.

If a card already has a listing, the listing is updated. If it doesn't, one is created. If Shopify says you're out of stock, an existing listing is delisted — CardTrader removes a product when its quantity goes to zero. When the card comes back into stock, the next push lists it again.

Anything already listed at the same price and quantity is skipped, so a routine daily push is small and quick even on a large catalog.

Push once a day

Tick Push to CardTrader daily, pick an hour and your timezone, and press Save schedule. Daylight-saving shifts are handled for you.

This schedule is separate from your Price Sync schedule and separate from every other marketplace you connect. A good default is an hour or two after your Price Sync, so the day's prices are already on your products when the push reads them.

A daily push is what keeps your stock honest

Sales don't flow between Shopify and CardTrader on their own yet — see the limits. The push is what re-states your real quantities, so scheduling it daily is the difference between an hour of exposure and a week of it.

Disconnecting a marketplace, or switching it off, cancels its schedule.

Reading the results

A finished push reports counters. The ones worth understanding:

CounterWhat it means
Created / UpdatedListings CardTrader accepted.
DelistedSold-out cards removed from the marketplace.
SkippedNothing changed since the last push, or the card is out of stock and wasn't listed anyway.
UnmappableWe couldn't match the card to a CardTrader product — see below.
No priceThe card has no price in our data yet, so there's nothing to list it at.
Quantity unknownShopify didn't report a quantity for this variant. We never treat that as zero, so nothing is delisted by mistake.
Needs reviewA listing whose last attempt left us unsure whether it landed. Held back deliberately rather than risk creating a duplicate.
ErrorsCardTrader rejected the listing.

Delisted, Needs review and Errors are clickable — they open the affected listings so you can see the card and the reason. The panel also shows a standing "N listings need attention" link between runs.

Why a card comes back unmappable

Every reason is recorded per card. The common ones:

  • No CardTrader product matches this card. Usually a printing CardTrader's catalogue doesn't carry, or one where our identifiers and theirs disagree.
  • No expansion match. We couldn't line the set up with a CardTrader expansion.
  • The condition can't be set. Some CardTrader products don't accept a condition. Rather than publish your Moderately Played copy as Near Mint, we refuse to list it.
  • The finish can't be set. Same idea for a foil or etched printing on a product that doesn't accept a foil flag.
  • Unknown condition. The condition on the Shopify variant isn't one of ours.

These aren't failures you need to clear — the push simply leaves those cards alone and reports them.

What it doesn't do yet

Marketplace Sync is one-way today. It sends your Shopify stock out to the marketplace; it does not bring sales back:

  • A sale on CardTrader does not decrement Shopify.
  • A sale in Shopify only reaches CardTrader on the next push.

So between pushes, a card can be sold in both places. Two-way sync — a marketplace sale reducing your Shopify stock, and a Shopify sale reducing your marketplace listing as it happens — is in development. Until it lands, push daily, and be deliberate about the games and stock you expose.

One more guard worth knowing: if your CardTrader account prices in a different currency than your Shopify store, we stop the push after the first listing lands rather than repricing your whole catalogue into the wrong currency. The run reports Stopped — currency mismatch.

Troubleshooting

"Marketplace Sync is available on the Growth plan and up." The feature is gated at Growth. Change plan.

"Nothing to push — no games." Either no game is ticked on the connection, or the ticked games aren't enabled in your catalog settings. Both have to be true for a game to push.

"A push is already running." One push per marketplace at a time. Wait for it to finish; a scheduled run that lands on top of a manual one skips itself rather than doubling up.

"CardTrader rejected this token." The token was refused. Generate a fresh one in CardTrader → Settings → API Access and reconnect.

"Could not reach CardTrader." A network or marketplace-side problem, not your settings. Try again.

A push reports lots of "No price". Those cards have no current price in our catalog data. They're also the cards that stay in DRAFT in Shopify — see Troubleshooting.

Everything came back unmappable. Check that the game is one CardTrader supports (Magic, Pokémon and Riftbound today) and that the cards were synced by LGS Forge — only products we manage are eligible.