Theme settings reference
Last checked against Splash 1.0.0 / 2026-08-15
Splash has 66 global settings, grouped into nine sections at the foot of the theme editor sidebar. This page lists all of them in the editor's own order, with the type, the default and one line on what each one changes.
To reach them: Online Store, then Themes, then Customize, then Theme settings at the bottom of the sidebar. Everything here is global. A global setting applies to every template at once and cannot be overridden on a single page. Settings that belong to one section or one block are listed separately in the section and block reference.
Several settings arrive holding the demo store's own values rather than the theme's defaults. Each one is marked in its table below, and they are listed together under What the theme ships, near the foot of this page.
Brand#
| Setting | Type | Default | What it does |
|---|---|---|---|
Logo |
Image | None | Draws in the header, in the footer brand column, on the password page and on the gift card your customer receives. Any aspect ratio. Around 300px wide is recommended. Left empty, all four print your store name as a wordmark. |
Logo width |
Slider, 60 to 300px, in steps of 10 | 140px | Sets the drawn width of the logo everywhere it appears: the header, the footer, the password page and the gift card page. There is no separate control for any of them. Height follows your file's own proportions. |
Favicon |
Image | None | The browser tab icon, requested at 32 x 32 and drawn on every page the theme's two layouts render, the password page included. The gift card page is the one exception: it is a standalone document outside both layouts and carries no icon tag. Left empty, the theme emits no icon tag anywhere and the browser logs a 404 for /favicon.ico. |
Working guide: apply your brand.
SEO and structured data#
The largest group, split into seven headed subgroups. Every field is optional and nothing is added to your pages until you fill it in. Structured data is what search engines read; some of these settings also print a visible block on the product page.
Organization#
| Setting | Type | Default | What it does |
|---|---|---|---|
Organization name |
Text | None, falls back to your store name | The legal or trading name declared to search engines on every page. Leaving it empty is a valid choice. |
Organization logo |
Image | None, falls back to your Brand logo | The logo declared to search engines. Square, 112 x 112 minimum. With both this and the Brand logo empty, no logo is claimed at all. |
Social profiles#
Seven text fields. Each one you fill in adds its icon to the footer and declares that profile to search engines. The footer order is fixed as listed below and cannot be rearranged from the editor. Empty fields are left out.
| Setting | Type | Default | What it does |
|---|---|---|---|
Instagram URL |
Text | None | First icon in the footer row. |
Facebook URL |
Text | None | Second icon. |
X URL |
Text | None | Third icon. |
YouTube URL |
Text | None | Fourth icon. |
TikTok URL |
Text | None | Fifth icon. |
LinkedIn URL |
Text | None | Sixth icon. |
Pinterest URL |
Text | None | Seventh icon. |
These are plain text fields rather than link pickers, so they accept anything you type. A bare domain such as instagram.com/yourstore has https:// added to it. A single # shows the icon in the footer so you can preview the row before the accounts exist, and is deliberately withheld from search engines. Anything that is not an http address or a path inside your own store becomes an inert broken link.
Contact details#
| Setting | Type | Default | What it does |
|---|---|---|---|
Show contact details |
Checkbox | Off | Adds your support contact to the structured data on every page. Nothing visible changes on the storefront. |
Phone number |
Text | None | Include the country code, for example +1 555 555 5555. Required: with the checkbox on and this field empty, the whole contact block is skipped and the four fields below it do nothing. |
Contact type |
Select: Customer support, Sales, Technical support, Billing support | Customer support | Labels what the phone number is for. |
Email |
Text | None | Added to the contact block when filled. |
Languages |
Text, comma separated | None | The languages your support line speaks, for example English, French. |
Areas served |
Text, comma separated country codes | None | Where that support applies, for example US, CA, GB. |
Shipping details#
These settings do two jobs at once. They print a visible Shipping list on the product page, and they build the shipping markup search engines read. The visible list needs the Shipping and returns block on your product template; the markup does not.
| Setting | Type | Default | What it does |
|---|---|---|---|
Show shipping details |
Checkbox | Off. The theme ships this on. | The master switch for everything in this subgroup. Leave it off if your rates vary too much to summarize. |
Free shipping over |
Text, bare number | None. Ships as 500. |
Prints a free shipping line at that amount in your store currency. It cannot be expressed to search engines on its own. |
Flat shipping rate |
Text, bare number | None. Ships as 49. |
Prints the flat rate. Required, together with Ships to, for any shipping information to reach search results. |
Handling time, fastest |
Number | None. Ships as 1. |
Business days between the order and the shipment, lower bound. |
Handling time, slowest |
Number | None. Ships as 2. |
Upper bound. The handling line appears only when this is 1 or more, so the fastest field on its own prints nothing. |
Delivery time, fastest |
Number | None. Ships as 3. |
Business days the carrier takes, lower bound. |
Delivery time, slowest |
Number | None. Ships as 7. |
Upper bound. Same rule: the delivery line appears only when this is 1 or more. |
Ships to |
Text, comma separated country codes | None. Ships as US, CA. |
Prints your destinations, and is required for the shipping markup. Enter WORLD to print "Ships worldwide" on the page, which sends no shipping information to search engines at all. |
Per-product shipping note metafield |
Text, namespace.key |
custom.shipping_note |
A product holding a value in this metafield shows that note instead of the handling and delivery lines, and its markup drops those times to match. Rate, free shipping threshold and destinations still show. Leave blank to use one delivery promise for every product. |
Note The visible Shipping list needs a rate, a free shipping threshold, a per-product note, or a handling or delivery time. Filling in only Ships to produces no block at all, so your destinations do not appear either.
Returns#
| Setting | Type | Default | What it does |
|---|---|---|---|
Show return policy |
Checkbox | Off. The theme ships this on. | The master switch. On its own it is enough to print the Returns list, because every other field below has a default. |
Returns accepted |
Select: Within a set number of days, Any time, Not accepted | Within a set number of days | Choosing Not accepted prints one line and drops the refund, fees and method lines. |
Return window |
Number of days | 30 | Used only when Returns accepted is set to a number of days. Must be 1 or more for the policy to reach search results. |
Refund type |
Select: Full refund, Partial refund, Exchange only | Full refund | One line in the Returns list. |
Return shipping paid by |
Select: Store, Customer | Store | One line in the Returns list. |
Return method |
Select: By mail, In store, At a kiosk | By mail | One line in the Returns list. |
Return destination |
Text, one country code | None. Ships as US. |
Required for the return policy to reach search results. Nothing on the visible page depends on it, so an empty field is easy to miss. |
Product identifiers#
| Setting | Type | Default | What it does |
|---|---|---|---|
Brand metafield |
Text, namespace.key |
None, falls back to the product vendor | Names the brand in each product's structured data. Point it at a metafield only if the vendor field is not the brand you want stated. |
GTIN metafield |
Text, namespace.key |
None, falls back to the variant barcode | The global trade item number. Leave blank if you already fill in Shopify's barcode field. |
MPN metafield |
Text, namespace.key |
None | The manufacturer part number. There is no Shopify field for this, so it comes from a metafield or not at all. |
Price valid for |
Number of days | 30 | How long search engines are told to treat the current price as valid. 30 days is typical. Values below 1 are read as 1. |
Ratings#
| Setting | Type | Default | What it does |
|---|---|---|---|
Rating value metafield |
Text, namespace.key |
None | The score your review app writes, for example reviews.rating. Must be on a 5-point scale. |
Rating count metafield |
Text, namespace.key |
None | The number of reviews behind that score. |
Both fields must be filled before either is used, and the product must hold a value in both metafields. Together they feed the Rating block on the product page and the rating in that product's structured data.
Requires A review app that writes these metafields. Splash has no way to enter a rating by hand, and search engines expect a rating in your markup to be visible on the page, so add the Rating block to your product template when you fill these in.
Working guide: shipping, returns and search engine details.
Product cards#
| Setting | Type | Default | What it does |
|---|---|---|---|
Show the second image on hover |
Checkbox | On | Fades a card to the product's first non-featured image when a customer points at it. Products with one image are unaffected, and touch devices always show the first image. |
Applies to product cards everywhere: collection pages, search results, featured products and recommendations. Working guide: collection and search pages.
Product specs#
Three metafields shown as rows on product cards across the store. These settings do not fill the specification table on the product page; that table and the spec bars beside it carry their own metafield fields inside their own blocks.
| Setting | Type | Default | What it does |
|---|---|---|---|
Show specifications on product cards |
Checkbox | Off | Off, cards show the SKU, price and stock. On, the three specification rows are added beneath them. Product cards inside blog articles show the first specification either way, because that card has no room for more. |
Spec 1 metafield |
Text, namespace.key |
None. Ships as specs.flow_rate. |
The first row's value. A product with nothing in this metafield drops the row. |
Spec 1 label |
Text | None. Ships as Flow rate. |
The word printed beside the value. Left blank, the theme builds one from the key itself. |
Spec 2 metafield |
Text, namespace.key |
None. Ships as specs.head. |
The second row's value. |
Spec 2 label |
Text | None. Ships as Max head. |
The second row's label. |
Spec 3 metafield |
Text, namespace.key |
None. Ships as specs.power. |
The third row's value. |
Spec 3 label |
Text | None. Ships as Power. |
The third row's label. |
Note A key pointing at a metafield your products do not have looks exactly like a product with no value: the row is left out and nothing reports an error. The three keys ship pointing at pool pump measurements from the demo store, so on your own catalog they will find nothing until you change them.
Working guide: show your specifications.
Quote requests#
| Setting | Type | Default | What it does |
|---|---|---|---|
Quote-only product tag |
Text | quote-only |
A product carrying this tag loses its add-to-cart and price everywhere in the store, and gets a quote button and "Price on request" instead. Matched as a whole tag and case is ignored, so Quote-Only works and quote-only-legacy does not. Emptied, no product is quote-only. |
Quote request page |
Link | None. Ships pointing at a page with the handle quote-request. |
Where every quote button leads. Left empty, those buttons lead to your home page, which is the usual cause of a quote button that appears to do nothing. |
Quote button label |
Text | Request a quote |
The words on that button, on the product page, in quick view, in the featured product section and in the add-on rows. |
Quote note |
Text | Priced per project. A designer replies within 2 business days. |
One line under the button, setting expectations. 15 words is the practical maximum. Emptied, no note is printed. |
Requires A page assigned the Quote template for Quote request page to point at. See build the quote request form, and quote-only products for the tag.
Cart#
| Setting | Type | Default | What it does |
|---|---|---|---|
Cart type |
Select: Drawer, Page | Drawer | Drawer adds a side panel that opens on add-to-cart and on the header cart mark, without leaving the page. Page removes that panel from the store entirely, and every route to the cart goes to the cart page. |
The cart page exists and works under either setting. Working guide: announcement bar, footer and cart.
Typography#
| Setting | Type | Default | What it does |
|---|---|---|---|
Primary |
Font picker | Nunito Sans, regular | Everything readable: headings, body copy, buttons, labels, navigation and form fields. |
Secondary |
Font picker | IBM Plex Mono, regular | Data values only: prices, SKUs, specification values, stock counts, product counts and reference numbers. A monospaced family is what this slot is designed for. |
Both pickers draw on Shopify's own font library. The theme also loads bold, italic and bold italic for each. It asks for weight 500 on both, and weight 600 on the primary only. Each of those two is loaded only where the family you pick carries it, so a family without them falls back to the nearest weight it does have.
Layout#
| Setting | Type | Default | What it does |
|---|---|---|---|
Page width |
Select: Standard, Wide, Extra wide | Standard | The outer limit the content is held inside: 1200px, 1440px or 1760px at the default browser text size. Content and both margins fit inside that figure. |
Page margin |
Slider, 10 to 100px | 24px | The smallest gap between your content and the edge of the window, at every screen size. |
Several sections work out how wide a picture will really be drawn from these two numbers and ask Shopify for a file that size, so widening the store makes those images request larger files on their own.
Colors#
Eight colours and one corner radius. The group is labelled Colors in the editor.
| Setting | Type | Default | What it does |
|---|---|---|---|
Background |
Colour | #F5F7F8 |
The page ground behind every section, and the ground every mixed grey is blended into. |
Foreground |
Colour | #0F151A |
Body text on the page ground, and the ink every hairline, rule, muted grey and field border is mixed from. |
Card background |
Colour | #FFFFFF |
Product cards, panels and other raised surfaces, including the header, the footer and the cart drawer. |
Card text |
Colour | #0F151A |
Text on those raised surfaces. |
Accent |
Colour | #0E7C76 |
Filled buttons, the focus ring on every control, accent tints and hairlines, and the colour body links are mixed from. |
Accent text |
Colour | #FFFFFF |
The label printed on a filled accent button. |
Band background |
Colour | #0F151A |
The contrasting dark grounds: the announcement bar, the home page hero band and its claims row, and the testimonials section. |
Band text |
Colour | #F5F7F8 |
Text, rules and muted text on those bands, all mixed from this against Band background. |
Input corner radius |
Slider, 0 to 4px | 2px | Rounds the corners of form fields, buttons, badges and other small controls. 4px is the ceiling, and it is deliberate: the theme has no pill shapes anywhere. |
The announcement bar carries its own three colour overrides in its section settings, and falls back to the band pair above when they are left empty.
Note The in-stock, low-stock and out-of-stock colours are fixed in the theme and do not follow the accent. They are functional signals rather than brand, and they are set to clear the contrast requirement on all three grounds a stock badge can land on.
Working guide: apply your brand.
What the theme ships#
Splash arrives with saved values for some settings, taken from the demo store rather than from the theme's own defaults. They are there so a new install has something to look at, and every one of them is yours to change. Two of them publish claims to search engines as soon as the store opens.
| Setting | Theme default | Value as installed |
|---|---|---|
| Spec 1 metafield | None | specs.flow_rate |
| Spec 1 label | None | Flow rate |
| Spec 2 metafield | None | specs.head |
| Spec 2 label | None | Max head |
| Spec 3 metafield | None | specs.power |
| Spec 3 label | None | Power |
| Quote request page | None | The page with the handle quote-request |
| Show shipping details | Off | On |
| Free shipping over | None | 500 |
| Flat shipping rate | None | 49 |
| Handling time, fastest and slowest | None | 1 and 2 |
| Delivery time, fastest and slowest | None | 3 and 7 |
| Ships to | None | US, CA |
| Show return policy | Off | On |
| Return destination | None | US |
The returns fields not listed here already match their defaults: a 30-day window, a full refund, return shipping paid by the store, returned by mail. Both master switches being on means those terms, and the shipping terms above them, publish on your product pages and to search engines from the day you install. Review them before the store opens. Everything else, including the logo, the favicon, the colours, the fonts, the seven social fields and every structured data field, ships empty or at the default listed in the tables above.
Working guide: replace the demo content.
Three things worth knowing before you type#
Money fields take bare numbers#
Free shipping over and Flat shipping rate are text fields, and the theme reads them as a figure in your store currency and formats them itself. Write 500, not $500 and not 500 USD. A currency symbol makes the line print as $0.00 on the page, which is the symptom to look for. Decimals are fine: 49.99 works.
Metafield fields take namespace and key, with exactly one dot#
Eight settings on this page ask for a metafield: the three spec keys, the shipping note, brand, GTIN, MPN and the two rating fields. All of them want the namespace and the key separated by a single dot.
specs.flow_rate correct
custom.shipping_note correct
flow_rate no namespace, reads nothing
specs/flow_rate wrong separator, reads nothing
specs.pump.flow_rate two dots, reads nothing
You can copy both parts from Settings, then Custom data, then Products, where each definition lists its namespace and key. A wrong key never reports an error. It looks identical to a product that has no value, so check against a product you know is filled in.
The eight colours produce far more than eight tones#
Splash stores no hairline colour, no grey text colour and no link colour. It mixes them from your eight settings every time a page is drawn, so a recolour stays coherent instead of leaving stray teal behind. Two consequences catch people out:
Links are not your accent
Body links are mixed one step deeper, toward your Foreground, so they stay readable on light grounds after a recolour. Picking a link colour by eye from the accent swatch will not match what renders. Button hover and press states are deeper mixes again.
The accent on a dark band is a different mix
On the announcement bar and the other band grounds, the accent is carried toward Band text rather than toward Foreground. That lifts it on a dark band and darkens it on a light one, which is the direction legibility needs either way.
The same principle governs Foreground. It is not only your body text: every rule, muted line and field border in the store is mixed from it. Set it to a mid-grey and all of them lighten together. Change it in small steps and look at a product page after each one.
Something wrong here If a step does not match what you see, say so and it gets fixed. Documentation goes stale, which is why the line under the title carries a date.