Overview
The StThe Store is the top-level tenant in Spree. Every resource — products, orders, channels, markets, taxonomies — belongs to exactly one store. A store owns its channels (online, POS, wholesale, …), its markets (region/currency/locale), and its product catalog.tore 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_url | URL to the store’s logo |
facebook, twitter, instagram | Social media links |
Fetching Store Information
Store configuration is exposed through the Admin API. Use the store endpoint to read the current store’s settings — name, URL, branding, and email addresses:sk_xxx) or a Bearer JWT — a publishable key cannot reach it.
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 — 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 isolated stores (tenants) in one app — full data isolation, only recommended if you’re building a SaaS platform or a multi-tenant application. Each store can have different staff members, payment methods, shipping methods, and branding. This is supported by the Spree Multi Tenant extension, which is a separate gem from core Spree.

