Guides

Swell products have four basic product types: physical, digital, bundle, and gift card. Each type has a distinct way of operating within the API. Each type has unique dashboard fields and settings. You can use any of the default product types to build your own custom product types.

These are tangible products that exist in the real world. They either need to be shipped to the customer or picked up at a store location. Physical products have shipping details like weight and package dimensions. They can have inventory tracking enabled if desired.

Digital products exist only in the virtual realm and are either delivered digitally or used for billing services. It's up to you to deliver that product or service to the customer. Digital products have no shipping details, but they can have inventory tracking enabled.

Bundle products are made up of multiple products from your catalog. These are ideal for selling kits or combinations of products together. Bundle products appear in carts as a single product and can have inventory tracking for both the bundle itself and the products contained within it. Bundles can be any combination of physical, virtual, and gift card product types. Each product within a bundle needs its own fulfillment method

Gift card products work like customer credit, which can be applied to later orders. These products have enumerated denominations chosen by the purchaser. Gift cards can either be delivered digitally or physically, and they do support inventory tracking.

When gift card products are sold, a gift card code is created and sent to a recipient via email. Once fulfilled, gift card codes act as a payment method in a card, and can also be converted to a customer's account as credit.

The only required field when creating a new product is name. Swell automatically creates a URL-friendly slug based on the product's name. You can substitute this slug in place of the id when fetching the product in an API call.

Product attributes are a first-class feature in Swell, and they support a variety of data types like text, image, file, and number. When creating a product, you can assign existing attributes or define new ones. Attributes can be used as filters when fetching products and can be further specified as to whether they are displayed on the product page.

Use categories to relate and organize products together. Product categories can also be nested within one another, meaning a category can contain several sub-categories. This allows for additional organizational flexibility.

Designate the product SKU (stock keeping unit) for inventory tracking purposes.

Product options define choices for a product that the customer chooses from. Some common examples of product options are size and color. Swell offers a variety of product option types including select, toggle, and text.

Product variants are an instance of a product that has a specific combination of options. Variants can have their own pricing, images, shipping properties, and inventory tracking. When variables=true, Swell automatically generates variants for products from all options that have variant=true. These entries are paginated, and there is no technical limit on the number of variants per product. Please be aware that high variant counts might affect performance. When creating product variant options, attributes of the same name will also be created if they do not already exist. This assists in filtering for the variant options within a UI that uses attributes as the filtering mechanism.

Basic pricing functionality provides the ability to designate the list price for the product and its sale_price. The list price specifies the default price of a product. When enabled, the sale_price overrides the default price.

Swell also allows for additional price rules. Through these, you can manage the product price for particular customer groups in addition to minimal and maximum quantities.

Designate which products a customer would see when on a particular product page by designating additional products as up_sells or cross_sells.

The content section includes several fields—all geared towards describing your product. Use these to optimize for SEO and to provide information for individual products. You can also add additional content fields.

Fields

You can manage product inventory within the Inventory tab by enabling inventory tracking. There is also an option to allow purchases on the product when it is out of stock. When managing a product's inventory, each product variant has its own dedicated inventory to track stock levels.

Unless you have a pickup option enabled as a shipping service, you must ship physical products to the customer. Shipping properties are where you define a product's weight, dimensions, and packing constraints. When enabled, these are used to calculate shipping costs. Additionally, shipping rules for individual products override your default storewide shipping settings.

With products now in your store, the next step is to set up their purchase options. These are ways for your customers to purchase particular products—be it through a one-time purchase or through a recurring subscription plan. Each product supports more than one type of purchase option, so you can sell a product in multiple ways.