Overview
The Store is the top-level tenant in Spree. Every resource — products, orders, channels, markets, taxonomies, stock locations — belongs to exactly one store. A store owns its branding (logo, custom domain, mail-from address), its channels (online, POS, wholesale, …), its markets (region/currency/locale), and its catalog.Store Attributes
| Attribute | Description |
|---|---|
name | Store name, displayed in the browser title and throughout the site |
code | Unique identifier for the store |
url | Primary URL of the store |
meta_description | SEO description |
meta_keywords | SEO keywords |
seo_title | Custom SEO title |
customer_support_email | Email for customer support inquiries |
mail_from_address | Sender address for transactional emails |
logo_image_url | URL to the store’s logo |
facebook, twitter, instagram | Social media links |
payment_methods | Payment methods available in this store |
Fetching Store Information
Use the store endpoint to get the current store’s configuration — useful for rendering logos, SEO metadata, and footer content:Channels vs. Markets
Two different ways to split a store, often confused:- Sales Channels segment selling surfaces — Online Store, POS, Wholesale, marketplace integrations. They control product visibility, order attribution, and per-channel routing rules.
- Markets segment geography and currency — North America (USD/en), Europe (EUR/de), UK (GBP/en). They control which currency, locale, and tax rules apply to a given customer.
Store Resources
Each store owns its own resources. Products, orders, channels, markets, and taxonomies in one store are independent from another.| Resource | Relationship |
|---|---|
| Channels | A store has many channels (Online Store, POS, Wholesale, …). One is the default. |
| Markets | A store has many markets, each defining a geographic region with its own currency and locale |
| Orders | An order belongs to one store and one channel |
| Products | A product belongs to one store. Its visibility across channels is controlled by publications. |
| Taxonomies | A taxonomy belongs to one store |
| Payment Methods | A payment method belongs to one store |
| Shipping Methods | A shipping method belongs to one store |
| Promotions | A promotion belongs to one store |
Running Multiple Storefronts
If you need one Spree backend to serve multiple distinct merchant brands — different domains, different catalogs, different admin teams — there are two patterns:- Multiple channels under one store (recommended for most cases) — model each storefront as a Sales Channel. Products are scoped per-channel via publications, orders carry the channel that originated them, and routing/pricing can differ per channel. This is the supported pattern in core Spree 5.5+.
- Multiple stores in one app — the legacy multi-store pattern, where each store is fully independent (catalog, admin, branding). In Spree 5.5+ this requires the
spree_multi_storeextension. Core Spree treats each product as belonging to a single store.
spree_multi_store only when stores need genuinely independent catalogs, branding, and admin teams.

