--- layout: wide ---

Configuration Options

All configuration options for each component nested within the options object.

product

Buyable product embed, featuring product info and buy button. Optionally opens modal.

option type description default possible values
iframe boolean Whether to render the component inside an iframe. Iframes are beneficial for most users because they isolate the embed in a “sandbox” so that other parts of your website don’t interact with it in unwanted ways. If you wish to have full control over the appearance of your embed and know how to use CSS, you may choose to change this value to false. If you do so, your components will appear unstyled. true
isButton boolean whether the entire product component should be clickable. Only set to "true" if the button itself is hidden false
buttonDestination string/function what happens when button is clicked 'cart' 'cart', 'modal', 'checkout', 'onlineStore', callback function
layout string Whether to orient the product vertically (with image on top) or horizontally (with image to the side). Vertically oriented products will have a set width (defaults to 240px) configurable by the width property, and horizontally oriented products will take up the full width of their location on your website. 'vertical' 'vertical', 'horizontal'
width string maximum width of container element, with unit '280px'
contents object Whether or not to render each element within the component. There is a key for each element in the object, set to either true or false by default. You may override any of these values.

{
  img: true,
  title: true,
  variantTitle: false,
  price: true,
  options: true,
  quantity: false,
  quantityIncrement: false,
  quantityDecrement: false,
  quantityInput: true,
  button: true,
  buttonWithQuantity: false,
  description: false,
}
order array Order in which elements appear in embed.

[
  'img',
  'title',
  'variantTitle',
  'price',
  'options',
  'quantity',
  'button',
  'buttonWithQuantity',
  'description',
]
text object Values for all text visible in embeds except for that defined in the product itself (for example, you cannot change the title of a product from the text object, you would change that from your Shopify admin).

{
  button: 'ADD TO CART',
  outOfStock: 'Out of stock',
  unavailable: 'Unavailable'
}
templates object mustache templates used to display contents product.js

modalProduct

Configures product within modal. Most options are as per product, with different defaults.
option type description default possible values
iframe boolean Whether to render the component inside an iframe. Iframes are beneficial for most users because they isolate the embed in a “sandbox” so that other parts of your website don’t interact with it in unwanted ways. If you wish to have full control over the appearance of your embed and know how to use CSS, you may choose to change this value to false. If you do so, your components will appear unstyled. false
isButton boolean whether the entire button component should be clickable. Only set to "true" if the button itself is hidden false
buttonDestination string/function what happens when button is clicked 'cart' 'cart', 'modal', 'checkout', callback function
layout string Whether to orient the product vertically (with image on top) or horizontally (with image to the side). Vertically oriented products will have a set width (defaults to 240px) configurable by the width property, and horizontally oriented products will take up the full width of their location on your website. 'horizontal' 'vertical', 'horizontal'
contents object Whether or not to render each element within the component. There is a key for each element in the object, set to either true or false by default. You may override any of these values.

{
  img: true,
  title: true,
  variantTitle: false,
  price: true,
  options: true,
  button: true,
  buttonWithQuantity: false,
  quantity: false,
  quantityIncrement: false,
  quantityDecrement: false,
  description: true,
}
order array Order in which elements appear in embed.

[
  'img',
  'title',
  'variantTitle',
  'price',
  'options',
  'buttonWithQuantity',
  'button',
  'description',
]
text object Values for all text visible in embeds except for that defined in the product itself (for example, you cannot change the title of a product from the text object, you would change that from your Shopify admin).

{
  button: 'ADD TO CART',
  outOfStock: 'Out of stock',
  unavailable: 'Unavailable'
}
templates object mustache templates used to display contents product.js

modal

Modal window which contains modalProduct. To configure the product within the modal, see modalProduct.

option type description default possible values
iframe boolean Whether to render the component inside an iframe. Iframes are beneficial for most users because they isolate the embed in a “sandbox” so that other parts of your website don’t interact with it in unwanted ways. If you wish to have full control over the appearance of your embed and know how to use CSS, you may choose to change this value to false. If you do so, your components will appear unstyled. true
contents object Whether or not to render each element within the component. There is a key for each element in the object, set to either true or false by default. You may override any of these values.

{
  contents: true
}
order array Order in which elements appear in embed.

[
  'contents'
]
templates object mustache templates used to display contents modal.js

productSet

Configures a collection or array of products. To customize the products themselves, see product.

option type description default possible values
iframe boolean Whether to render the component inside an iframe. Iframes are beneficial for most users because they isolate the embed in a “sandbox” so that other parts of your website don’t interact with it in unwanted ways. If you wish to have full control over the appearance of your embed and know how to use CSS, you may choose to change this value to false. If you do so, your components will appear unstyled. true
contents object Whether or not to render each element within the component. There is a key for each element in the object, set to either true or false by default. You may override any of these values.

{
  title: false,
  products: true,
  pagination: true,
 }
order array Order in which elements appear in embed.

['title', 'products', 'pagination']
text object Values for all text visible in embeds except for that defined in the product itself (for example, you cannot change the title of a product from the text object, you would change that from your Shopify admin).

{
  nextPageButton: 'Next page',
}

option

Selectable option within a product embed.

option type description default possible values
contents object Whether or not to render each element within the component. There is a key for each element in the object, set to either true or false by default. You may override any of these values.

{
  option: true
}
order array Order in which elements appear in embed.

[
  'option'
]
templates object mustache templates used to display contents option.js

cart

Shopping cart. For the button that opens the shopping cart, see toggle.

option type description default possible values
iframe boolean Whether to render the component inside an iframe. Iframes are beneficial for most users because they isolate the embed in a “sandbox” so that other parts of your website don’t interact with it in unwanted ways. If you wish to have full control over the appearance of your embed and know how to use CSS, you may choose to change this value to false. If you do so, your components will appear unstyled. true
popup boolean whether checkout should open in a popup window. true
startOpen boolean whether cart should start visible. false
contents object Whether or not to render each element within the component. There is a key for each element in the object, set to either true or false by default. You may override any of these values.

{
  title: true,
  lineItems: true,
  footer: true,
}
order array Order in which elements appear in embed.

['title', 'lineItems', 'footer']
text object Values for all text visible in embeds except for that defined in the product itself (for example, you cannot change the title of a product from the text object, you would change that from your Shopify admin).

{
  title: 'Cart',
  empty: 'Your cart is empty.',
  button: 'CHECKOUT',
  total: 'SUBTOTAL',
  notice: 'Shipping and discount codes are added at checkout.',
}
templates object mustache templates used to display contents cart.js

lineItem

Individual line item within cart.

option type description default possible values
contents object Whether or not to render each element within the component. There is a key for each element in the object, set to either true or false by default. You may override any of these values.

{
  image: true,
  variantTitle: true,
  title: true,
  price: true,
  quantity: true,
  quantityIncrement: true,
  quantityDecrement: true,
  quantityInput: true,
},
order array Order in which elements appear in embed.

[
  'image',
  'variantTitle',
  'title',
  'price',
  'quantity',
]
templates object mustache templates used to display contents line-item.js

toggle

Button that toggles cart visibility.

option type description default possible values
iframe boolean Whether to render the component inside an iframe. Iframes are beneficial for most users because they isolate the embed in a “sandbox” so that other parts of your website don’t interact with it in unwanted ways. If you wish to have full control over the appearance of your embed and know how to use CSS, you may choose to change this value to false. If you do so, your components will appear unstyled. true
sticky boolean whether cart toggle should stay stuck to the side of the page. If false, cart toggle will appear inline wherever embed code was added. true
contents object Which elements to display in the embed.

{
  count: true,
  icon: true,
  title: false,
}
order array Order in which elements appear in embed.

[
  'count',
  'icon',
  'title',
]
text object Values for all text visible in embeds except for that defined in the product itself (for example, you cannot change the title of a product from the text object, you would change that from your Shopify admin).

{
  title: 'cart',
}
templates object mustache templates used to display contents toggle.js