{"title":"Store design objects","slug":"store-design-objects","url":"https://support.storeconnect.com/articles/store-design-objects","url_markdown":"https://support.storeconnect.com/articles/store-design-objects.md","subtitle":null,"summary":"The Salesforce objects behind how a storefront looks: stores, themes, templates, assets, pages, content blocks, menus, and style and script blocks. Use it to find the right object; for which record controls what, see how stores, themes, and design elements relate.","type":"Developer_Documentation","video_url":"","keywords":"store design objects, store, theme, theme template, theme asset, theme variable, page, content block, menu, menu item, style block, script block, web domain, data model, salesforce schema","last_modified":"2026-09-15T02:32:04+0000","body_markdown":"Use this article to find the object behind a part of the storefront. It is an\ninventory rather than an explanation.\n\n:::note\nFor how these records work together, which one controls a given part of the page,\nand what to change to affect it, read\n[how stores, themes, and design elements relate](how-stores-themes-and-design-relate).\nThat article covers the model; this one lists the objects and their API names.\n:::\n\n## Four chains to know\n\nThe domain is not one hierarchy. It is four short chains that all start at the\n[Store](store-object-reference).\n\n| Chain | Records |\n|-------|---------|\n| Markup | Store → [Theme](theme-object-reference) → [Templates](theme-template-object-reference), [Assets](theme-asset-object-reference), [Variables](theme-variable-object-reference), [Locales](theme-locale-object-reference) |\n| Content | [Page](page-object-reference) → [Content Block Page](content-blocks-pages-object-reference) → [Content Block](content-block-object-reference) → nested blocks |\n| Navigation | Store → [Menu](menu-object-reference) → [Menu Items](menu-item-object-reference) |\n| Injection | Store → [Style Block](style-block-object-reference), [Script Block](script-block-object-reference) |\n\nTwo things about that table are worth stating plainly, because they are what\npeople get wrong:\n\n- **A content block is never on a page directly.** The join record is what places\n  it, and it carries the order. See\n  [junction objects](junction-objects).\n- **The store, not the theme, decides most configuration.** The theme owns markup.\n  Currency, checkout behavior, domain, and which menus to use are on the **Store**\n  record.\n\n## Objects in this domain\n\n| Object | API name | Purpose |\n|--------|----------|---------|\n| [Store](store-object-reference) | `s_c__Store__c` | The hub. Holds branding, currency, checkout settings, domain, and which theme and menus to use |\n| [Store Group](store-group-object-reference) | `s_c__Store_Group__c` | Groups stores that share configuration or catalog |\n| [Store Variable](store-variable-object-reference) | `s_c__Store_Variable__c` | A named value a theme can read, for settings without a code change |\n| [Store Role](store-role-object-reference) | `s_c__Store_Role__c` | A named role used to grant staff permissions on a store |\n| [Web Domain](web-domain-object-reference) | `s_c__Web_Domain__c` | A domain or path a store is served from |\n| [Route Mapping](route-mapping-object-reference) | `s_c__Route_Mapping__c` | Maps a URL path to the page or record that answers it |\n| [Locale Translation](locale-translation-object-reference) | `s_c__Locale_Translation__c` | A translated string for one locale |\n| [Theme](theme-object-reference) | `s_c__Theme__c` | A named set of templates, assets, variables, and locales. A store points at one |\n| [Theme Template](theme-template-object-reference) | `s_c__Theme_Template__c` | One Liquid template, keyed by the page type or block it renders |\n| [Theme Asset](theme-asset-object-reference) | `s_c__Theme_Asset__c` | A file the theme serves, such as CSS, JavaScript, or a font |\n| [Theme Variable](theme-variable-object-reference) | `s_c__Theme_Variable__c` | A value the theme reads, set per theme rather than per store |\n| [Theme Locale](theme-locale-object-reference) | `s_c__Theme_Locale__c` | Theme-level translations for one locale |\n| [Page](page-object-reference) | `s_c__Page__c` | A content page, with its slug, SEO fields, and body |\n| [Page Tag](page-tag-object-reference) | `s_c__Page_Tag__c` | Attaches a tag to a page |\n| [Related Page](related-page-object-reference) | `s_c__Related_Page__c` | Links two pages so one appears as related on the other |\n| [Content Block](content-block-object-reference) | `s_c__Content_Block__c` | A reusable piece of page content, with a template and its own fields |\n| [Content Block Page](content-blocks-pages-object-reference) | `s_c__Content_Blocks_Pages__c` | Places a content block on a page, in order |\n| [Content Block Product](content-blocks-products-object-reference) | `s_c__Content_Blocks_Products__c` | Places a content block on a product |\n| [Content Block Article](content-blocks-articles-object-reference) | `s_c__Content_Blocks_Articles__c` | Places a content block on an article |\n| [Content Block Product Category](content-blocks-product-categories-object-reference) | `s_c__Content_Blocks_Product_Categories__c` | Places a content block on a category |\n| [Content Block Child](content-blocks-children-object-reference) | `s_c__Content_Blocks_Children__c` | Nests one content block inside another |\n| [Menu](menu-object-reference) | `s_c__Menu__c` | A named navigation menu. A store points at one for its header and one for its footer |\n| [Menu Item](menu-item-object-reference) | `s_c__Menu_Item__c` | One entry in a menu, linking to a page, category, product, or URL |\n| [Style Block](style-block-object-reference) | `s_c__Style_Block__c` | CSS injected into the storefront, scoped to a store |\n| [Script Block](script-block-object-reference) | `s_c__Script_Block__c` | JavaScript or tracking markup injected into the storefront |\n\n## Where it meets other domains\n\n- **Catalog.** Content blocks attach to products and categories as well as pages,\n  and menu items link to them. See [catalog objects](catalog-objects).\n- **Content.** [Articles](article-object-reference) and their categories are\n  separate from pages and take content blocks the same way, through\n  [Content Block Article](content-blocks-articles-object-reference).\n- **Customers and accounts.** A [membership](membership-object-reference) can gate\n  a page or an article, through\n  [Membership Page](membership-page-object-reference) and\n  [Membership Article](membership-article-object-reference). See\n  [customer and account objects](customer-and-account-objects).\n- **The storefront.** Most of these objects have a Liquid counterpart, and the\n  **On the storefront** section on each object reference names it. The\n  [Theme Template](theme-template-object-reference) records are the template keys\n  a theme resolves.\n\nAlmost every relationship in this domain runs through a join record, more so than\nanywhere else in the schema. [Junction objects](junction-objects) is worth reading\nbefore you query or import here."}