Team Stores Setup Guide
This guide shows you how to launch Team Stores without apps.
You can run Team Stores in two modes:
Restricted: only approved, logged-in customers can access team-store content.Public: everyone can browse and buy team-store content.
Default mode is Restricted.
What This Feature Does
- Lets you create team-specific storefront pages.
- Lets you control access by customer tags (for example:
access:team-lions). - Lets you control product visibility and purchasing by product tags.
- Adds a Team Stores hub page so customers can find their team store quickly.
- Includes a
collection.team-storetemplate with a built-in hero and product grid. - Hides restricted team collections from
/collectionsfor unauthorized shoppers. - Lets merchants choose where to link Team Stores by adding the hub page to
Content -> Menus -> Customer account main menu(orMain menu). - Supports two visuals for hub cards and team collection heroes:
Hero imageCo-brand logos(merchant logo +x+ team logo)
Before You Start
- Customer accounts should be enabled in Shopify.
- You should know your team names and the tags you want to use.
Recommended tag format:
access:team-lionsaccess:team-tigersaccess:wholesale
Quick Start (10-15 Minutes)
- Set Team Store mode in Theme Settings.
- Create the
team_storemetaobject definition. - Create Team Store metafields for pages and collections.
- Create and tag one team page or one team collection.
- Tag one test customer and one test product.
- Create Team Stores hub page.
- Add the Team Stores hub page to
Content -> Menus -> Customer account main menu(or toMain menu, based on your preference). - Test as guest + authorized customer + unauthorized customer.
Step 1: Theme Settings
Go to Online Store -> Themes -> Customize -> Theme settings -> Team Stores.
Set:
Team store access modeRestrictedfor private team storesPublicfor open team stores
Hide team-tagged products outside team store collections in Public mode(optional)Off(default): tagged products are visible across the catalog in Public modeOn: tagged products stay visible on team-store collections, but are hidden from general catalog surfaces
Team stores hub page slug- Usually
team-stores
- Usually
Access tag prefix- Usually
access:
- Usually
Important:
- If you change the prefix, update both customer tags and product tags to match.
Step 2: Create Team Store Metaobject
Go to Settings -> Metafields and metaobjects -> Metaobjects -> Add definition.
Create definition:
- Name:
Team Store - Type/handle:
team_store
Add these fields (exact field keys recommended):
name(Single line text) - Requiredslug(Single line text) - Requiredaccess_tag(Single line text) - Required for restricted storesaccess_mode_override(Single line text) - Optionalactive(True/False) - Optional (recommended, default true)landing_page(Page reference) - Recommendedhero_image(File, image) - Optionalhero_text(Multi-line text) - Optional
Optional collection-link fields supported:
landing_collection(Collection reference)collection(Collection reference)
Optional fallback field supported:
url(URL)
access_mode_override accepted values:
default(uses global mode)restrictedpublic
Step 3: Create Metafields (Pages + Collections)
Go to Settings -> Metafields and metaobjects -> Pages -> Add definition.
Create this page metafield:
- Name:
Team Store - Namespace/key:
theme.team_store - Content type: Metaobject reference
- Metaobject type:
team_store
Then go to Settings -> Metafields and metaobjects -> Collections -> Add definition.
Create these collection metafields:
theme.team_store(Metaobject reference ->team_store)
This links a collection to its Team Store entry (used for template defaults and access mode override).theme.required_access_tags(Single line text)
Optional, comma-separated tags for collection-level visibility. Example:access:team-lions.
Tip:
- If
theme.required_access_tagsis blank, the theme will fall back to the linked Team Storeaccess_tagwhen possible.
Step 4: Create Team Store Entries
Go to Settings -> Metafields and metaobjects -> Metaobjects -> Team Store.
Create one entry per team.
Example entry:
name: Lions Team Storeslug: lions-teamaccess_tag: access:team-lionsaccess_mode_override: defaultactive: truelanding_page: select your Lions page
Repeat for each team.
Collection-only setup tip:
- If you do not use team pages, set
landing_collection(orcollection) to the Team Store collection.
The hub card will link directly to that collection.
Step 5: Create Team Pages (Optional)
Create a normal Shopify page for each team:
Online Store -> Pages -> Add page
On each page:
- In Metafields, set
Team Store(theme.team_store) to the correct Team Store entry. - Build page content as needed (banner, collections, callouts, etc.).
In Restricted mode:
- If a page has a Team Store metafield + access tag, unauthorized visitors are blocked.
Step 6: Create Team Store Collections (Recommended for Fast Setup)
Use the included template: collection.team-store.
- Create or open a collection for the team.
- Set collection template to
collection.team-store. - In collection metafields, set
theme.team_storeto the matching Team Store entry. - Optional: set
theme.required_access_tagsif you want explicit collection-level access tags.
Hero defaults in this template:
- Hero image: Team Store
hero_image(fallback to collection image) - Hero title: Team Store
name(fallback to collection title) - Hero text: Team Store
hero_text(fallback to collection description)
Template design options:
Hero visual style: chooseHero imageorCo-brand logos.- Co-brand mode uses:
- Merchant logo from section setting (or theme logo fallback)
- Unifier text (default
x) - Team logo from Team Store metaobject logo fields, then hero image fallback
Step 7: Tag Customers (Access Control)
For each approved customer:
- Open customer profile.
- Add matching access tag(s).
Examples:
- Customer for Lions team:
access:team-lions - Customer for wholesale only:
access:wholesale - Customer for multiple teams:
access:team-lions, access:team-tigers
If a customer tag does not exactly match the Team Store access_tag, they will not be authorized in restricted mode.
Step 8: Tag Products (Visibility + Purchase Control)
For each team-restricted product, add matching access tag(s) on the product.
Example:
- Product tag:
access:team-lions
Behavior:
Restrictedmode:- Unauthorized users do not see restricted products in collection/search/recommendations.
- Unauthorized users cannot purchase restricted products.
Publicmode:- Access tags do not block visibility or purchase.
Step 9: Team Stores Hub Page
A hub template is included: page.team-stores.
To use it:
- Create a page (for example: "Team Stores").
- Set template to
page.team-stores. - No special page handle is required. The Team Stores hub is tied to the
page.team-storestemplate.
What shoppers see:
Restricted: only stores they are authorized for.Public: all active stores.
Hub design controls you can tweak in the section:
Card visual style(Hero imageorCo-brand logos)Card max width(prevents oversized cards when you only have 1-2 stores)Card media minimum heightCard content max widthImage aspect ratio(includingAdapt to image)- Co-brand controls (
merchant logo,unifier, logo size, spacing) Enable hover effects
Step 10: Add Team Stores to Navigation
The theme no longer auto-adds Team Stores to account actions. Merchants can choose where this link appears.
To set it up:
- Go to
Content -> Menus. - Open
Customer account main menu. - Add a menu item that links to your Team Stores hub page (for example,
/pages/team-stores). - Optional: add the hub page to
Main menuinstead if you want Team Stores in primary storefront navigation.
Access Modes Explained
Restricted (recommended for private stores)
- Team pages with Team Store metafield + access tag are gated.
- Product visibility/purchase uses product access tags.
- Unauthorized users are prompted to sign in or shown access denied.
Public
- Team pages and tagged products are open to everyone.
- Hub shows all active team stores.
- Optional: enable
Hide team-tagged products outside team store collections in Public modeto keep team-tagged products out of general catalog areas (for example,All products, search, and recommendations) while still showing them on team-store collections.
Per-Team Override
You can override each Team Store entry with:
defaultrestrictedpublic
Use this if most stores are private but a few should be open.
Testing Checklist (Do This Before Launch)
Test with:
- Guest user (not logged in)
- Logged-in authorized customer
- Logged-in unauthorized customer
In Restricted mode, confirm:
- Team page blocks unauthorized visitors.
- Team collection page blocks unauthorized visitors.
- Authorized customer can access team page.
- Restricted tagged product cannot be purchased by unauthorized customer.
- Unauthorized users do not see restricted team collections on
/collections.
In Public mode, confirm:
- Team pages are open.
- Team collections are open.
- Tagged products are visible and purchasable for all.
- Team collections appear on
/collections.
Common Mistakes (And Fixes)
1) "My customer still cannot access team store"
Check:
- Customer has exact matching tag (spelling and prefix).
- Team Store
access_tagexactly matches customer tag. - Store is
active.
2) "Team store page is not gated"
Check:
- Page has
theme.team_storemetafield set. - Team Store entry has
access_tag. - Global mode is
Restricted, or entry override isrestricted.
3) "Team products still showing for everyone"
Check:
- Product has the correct
access:*tag. - Global mode is not
Public, or enableHide team-tagged products outside team store collections in Public modeif you want Public mode but catalog isolation.
4) "Team Stores link not showing in menus"
Check:
- Hub page exists and slug matches theme setting.
- Go to
Content -> Menus -> Customer account main menuand add the Team Stores hub page. - If preferred, add the Team Stores hub page to
Main menuinstead.
5) "A team collection is still visible to everyone"
Check:
- Collection has
theme.required_access_tagsset, or hastheme.team_storelinked with a validaccess_tag. - Global mode is not
Publicunless you intentionally want open access.
Merchant FAQ
Can one customer belong to multiple teams?
Yes. Add multiple access tags to that customer.
Can one product be available to multiple teams?
Yes. Add multiple access tags to the product.
Do I need an app for this?
No, this setup is theme-native.
What if I want one team public and another restricted?
Use access_mode_override on the Team Store entry.
Do I have to manually type hero content in every collection template?
No. collection.team-store pulls hero image/title/text from the linked Team Store automatically.
If global mode is Public, can I still hard-lock all products?
No. Public mode intentionally allows open access. Use Restricted mode for strict access control.
Copy/Paste Examples
Team tags:
access:team-lionsaccess:team-tigersaccess:team-sharks
Wholesale tag:
access:wholesale
Suggested Team Store slugs:
lions-teamtigers-teamsharks-team
Launch Day Checklist
- Confirm Theme Setting mode (
RestrictedorPublic). - Confirm all Team Store entries are
active. - Confirm every team page has
theme.team_storemetafield assigned. - Confirm customer tags are correct.
- Confirm product tags are correct.
- Confirm hub page template is
page.team-stores. - Confirm navigation link is added in
Content -> Menus -> Customer account main menu(orMain menu). - Run the 3-user test (guest, authorized, unauthorized).
- Publish.