> ## Documentation Index
> Fetch the complete documentation index at: https://docs.depict.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Multi-store

> Connecting Shopify stores into a group, mapping collections, and what replicates between stores.

Multi-store connects several Shopify stores (for example one per region)
into a group and replicates collection merchandising between them.

## Limits and behavior

* Multi-store is available on plans with Merchandising at Large or Custom
  (including the earlier Pro and Custom plans). Subscriptions are per
  store — there is no group-level subscription.
* The Depict: Search & Merchandising app must be installed on every store in the group.
* Replication is triggered by edits to a mapped collection's **main
  version** on its source store.
* **Replicated:** sort order, pinned products, Boost & Bury rules
  (collection rules remapped to the sibling store's equivalent collections),
  the unpin-out-of-stock setting, and collection activation/deactivation.
* **Not replicated:** content cards, image settings, product duplicates,
  market versions, and scheduled versions. These stay local to the store
  where they were created.
* Matching relies on consistent SKUs (products) and collection handles
  across stores. Anything that can't be matched is skipped for that store,
  without an error.
* Replicated collections are read-only on the receiving store — the editor
  blocks saves there; edits are made on the source store.

## Connecting stores

Every store gets a **store code** (format `ABCDE-FGHIJ-KLMNO-PQRST`) when
the app is installed. Stores are connected under **Settings → Connections → Stores**:

<Steps>
  <Step title="Open Edit Stores">
    In the store you're working in, open **Settings → Connections → Stores** and go to the
    stores editor.
  </Step>

  <Step title="Get the other store's code">
    In the other store, copy its store code from the same place.
  </Step>

  <Step title="Connect">
    Back in the first store, choose **Connect a store** and enter the other
    store's code.
  </Step>
</Steps>

**Result:** both stores appear in the stores list, with a **Current** badge
on the store you're viewing. If neither store was in a group, a new group is
created with both; if one already was, the other joins its group.

* A wrong code is rejected; a code that was already used to connect its
  store is rejected as already connected.
* A store can be disconnected from the group at any time from the same page.

## Mapping collections

Collections across stores are linked as **group collections**:

* Collections sharing the same Shopify handle across stores can be mapped
  automatically; the mapping editor marks these as **Suggested**. Handles
  that exist in only one store are left unmapped.
* Mappings can be connected and disconnected manually in the mapping matrix
  (one column per store), which also shows each mapping's replication state
  and its **Source** store.

## Replication

* Each mapped collection has one **source** store; the other stores'
  collections are replicas that receive the source's merchandising when its
  main version is edited.
* With **auto-replicate** enabled for the group (with a chosen source
  store), new mappings get their replication source filled in
  automatically. Mappings where a source was chosen manually — including
  ones deliberately set as standalone — are left untouched.
* The **publish-status sync** group setting keeps replicas' publish state in
  step with their source. When it is on, the app flags replicas that are
  unpublished while their source is live; when it is off, differing publish
  states are treated as intended and not flagged.

## When something doesn't replicate

Replication skips silently rather than failing. The mapping matrix under
**Settings → Connections → Stores → Edit Collections** reports what was skipped, so the
answer to "did my change reach store X" is read there, not inferred.

* Each row's replication state reads **Replicated**, **n/m** (replicated to
  n of its m stores), or **No source**. The **Not replicated** and
  **Partially replicated** tabs filter the matrix to rows that need a
  decision.
* A **pins skipped** badge on a row means pinned products that will not
  reach at least one store. Hover the badge to see, per store, the product
  and the reason; **… and N more** opens the full list.
* A **Manual** badge next to a mapping's source means the source was set by
  hand. Auto-replicate never changes it; change the source in the matrix if
  the collection should follow the group's source store.
* The line under the tabs shows **N collections in other stores not
  connected**: collections that exist in a sibling store and no mapping
  covers. An unmapped collection receives nothing until it is mapped, for
  example when its handle differs between stores.
* **couldn't check for skipped pins** on that line means the skipped-pins
  report could not be loaded. Rows then show no badge, but pins may still be
  skipped.

Skip reasons shown in the badge's tooltip and list:

| Reason | Meaning | Action |
| - | - | - |
| SKU not found in this store | The pinned product's SKU has no matching product in the target store. | Give the product the same SKU in both stores, or pin a different product. |
| product has no SKU | The pinned product has no SKU in the source store, so it cannot be matched anywhere. | Add a SKU to the product in the source store. |
| product no longer exists in the source store | The pinned product was deleted from, or is no longer ingested in, the source store. | Unpin it. |

The report is computed from the stores' current catalogs each time the
matrix loads, so a skipped pin clears as soon as the SKU exists in both
stores; no re-save is needed.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.