Reference

Shop Configuration

Edit lib/config/index.ts to choose which features your storefront offers. Keep credentials in environment variables and manage catalog content in Shopify.

Customer accounts, Shop Agent, analytics, bot protection, WebMCP, and Shopify redirects on missing pages are disabled by default. Enable only the features you intend to use and complete their setup before deploying.

Settings

SettingDefaultBehavior
agent.isEnabledfalseEnables Shop Agent for product discovery, store questions, and cart updates.
analytics.vercel.isEnabledfalseEnables Vercel Web Analytics.
analytics.speedInsights.isEnabledfalseEnables Vercel Speed Insights.
analytics.shopify.isEnabledfalseEnables Shopify analytics and its consent integration.
analytics.shopify.consent.isEnabledfalseEnables Shopify consent without enabling Shopify analytics.
analytics.shopify.consent.modedefault-bannerChooses how shoppers give consent; see below.
auth.isEnabledfalseEnables customer sign-in and account pages.
botid.isEnabledfalseEnables Vercel BotID checks for Shop Agent requests.
botid.checkLevelbasicChooses basic or deepAnalysis bot detection.
localization.country"US"Sets the country used for Shopify pricing and availability.
localization.language"EN"Requests Shopify content in this language.
localization.locale"en-US"Sets display formatting; does not translate interface text or select a currency.
pdp.bundles.isEnabledtrueShows bundle relationships when Shopify provides them.
pdp.buyWithShop.isEnabledtrueShows Buy with Shop.
pdp.complementaryProducts.isEnabledtrueShows complementary products when Shopify provides them.
pdp.quantityPicker.isEnabledtrueShows the product quantity picker.
pdp.relatedProducts.isEnabledtrueShows related products when Shopify provides them.
redirects.shopifyNotFound.isEnabledfalseEnables Shopify redirect lookup when a storefront page is not found.
search.isEnabledtrueShows the header search button and predictive search dialog.
shopify.webmcp.isEnabledfalseRegisters Shopify catalog and cart tools with WebMCP in supported browsers.
site.descriptionTemplate taglineSummarizes the storefront for AI agents in /llms.txt and the home page's Markdown.
site.name"Vercel Shop"Sets the storefront name.
site.urlDeployment-dependentSets the public origin used for canonical URLs, metadata, and discovery links.

Before enabling optional features

Shop Agent requires AI Gateway access in addition to the storefront's Shopify connection. Customer sign-in is not required. Follow Shop Agent setup, including its privacy and spending safeguards, before enabling public traffic.

Customer accounts require a Shopify client ID, Shopify client secret, and a separate app-generated session secret in addition to the shop ID required for every build. Follow Authentication to configure those values and register callback URLs before enabling auth.isEnabled.

Bot protection can be enabled separately for Shop Agent on Vercel. Review BotID pricing before choosing deepAnalysis. It does not make chat history private or cap AI spending.

Store identity and locale

On Vercel, site.url uses the project's production domain. Elsewhere it defaults to http://localhost:3000; set it to your public storefront origin before deploying.

Set the required NEXT_PUBLIC_SHOPIFY_SHOP_ID to the numeric shop ID, not the Headless storefront ID.

Country and language control the Shopify context. The formatting locale controls how values are displayed. Changing these settings does not translate storefront interface text, and currency comes from Shopify's responses. See Shopify Markets or i18n when adding localized storefronts.

Shopify consent loads when Shopify analytics, standalone consent, or WebMCP is enabled. If all three are off, the storefront still loads Shopify cart actions but skips the analytics and consent scripts. These modes apply whenever Shopify consent loads.

ValueBehavior
default-bannerUses Shopify's hosted privacy banner where consent is required.
custom-bannerRequires you to provide a consent interface connected to Shopify's Customer Privacy API.
no-bannerShows no consent interface. Where consent is required, analytics events cannot be delivered.

Only expose the public Storefront API token to the browser. Never use a private token for Shopify analytics or consent requests.

Manage navigation and footer menus with Shopify Menus.

WebMCP is independent of Shopify analytics. Enabling one does not enable the other.