Ecommerce

Dynamicweb Ecommerce is one of the most advanced ecommerce systems on the market, with a number of powerful tools for creating different types of Ecommerce solutions.

Ecommerce makes it possible to:

  • Use the product catalog to create and edit products and organize them in product groups and shops
  • Create the languages, countries & currencies necessary to take your shop global
  • View and process orders
  • Create and apply discounts
  • Set up payment methods and shipping methods
  • Publish content to frontend using our many apps

Like other areas of Dynamicweb, the Ecommerce area is accessed via the area menu - and consists of a tree (1) where you select the feature you want to work with, a toolbar (2) which gives you access to more advanced features and functions, and a content area (3) which is where you view and work with data.

Figure 1.1 The Ecommerce administration

In Dynamicweb, products are organized in shops and product groups, both of which are located under the Product Catalog node in the Ecommerce tree (Figure 2.1).

  • Shops are containers for product groups – and each shop also comes with settings which are used to configure how the shop works, for instance which order flow, stock locations, ecommerce languages, etc. should be used with this shop
  • Product groups are containers for products and are used to organize them – like shops, product groups come with setting which are used for a variety of purposes, e.g. to extend the products in the group with product category fields

When a product group is clicked, the products inside it are shown in a product list (Figure 2.2) – it serves as a point of departure for most of your daily tasks in Ecommerce.

Figure 2.2 A product list

From the product list you can:

  • Browse or Search the list of products located the product group - you can search for a comma-separated list of product numbers.
  • Deletedelocalize or localize selected products – read about languages and localization
  • Create new products – read about creating products
  • Edit and sort products, or open the product group settings. To use the custom sort order in frontend use ’SortBy=UserDefined’ in the product catalog URL. This is not, and never will be, compatible with publishing products using an index query.
  • Switch between the available Ecommerce languages using the language drop-down

A product in the list may also have one or more adornments next to the Name-column – these indicate that the product is special in some way; personalized, part of a publication period, etc. To select which columns to show in the product list, right-click an existing column and select or deselect a column (Figure 2.3), or click More to sort the columns.

Figure 2.3 Adding or removing columns from the product list view

You can also right-click any product in the list to open a context menu with common actions (Figure 3.1).

Please note that deleting a product deletes all language versions of the product. If you want to remove only a language version:

  • Switch to the language version & select the product in the list
  • Click Delocalize in the ribbon bar. You can’t delocalize a product from the default language.

From the product list ribbon bar you can use two more advanced tools normally reserved for Dynamicweb PIM - combine products and import products.

Two special product lists – All products and All Ecommerce products – exist outside of the regular shop & product group structure (Figure 3.2).

These lists have a limited scope, and are primarily used to locate orphaned products and add them to a product group – or simply to quickly search the product catalog.

The following colour indicators are used in the All products-list:

  • Greyed out products do not exist in the current working language
  • Red products are inactive – activate them by right-clicking them and selecting activate or by clicking the little red inactive-icon on the list
  • Products with a red background are not members of a product group – right click the product and select add to group to add them to a group

Other products – black-text & white background – are active in the selected language and is placed in at least one product group on the solution.

Any product in a product list can be clicked to open the product details (Figure 4.1).

This view can be used to view and edit various standard product fields like Name, Price, Description, etc. as well as any fields from custom product fields or product categories. From the ribbon bar you can access a number of tools which may or may not be relevant for this product – e.g. the price matrix, the variants tool, and the combine products tool.

At this point is should probably be noted that products are very rich objects and Dynamicweb is a very flexible system which supports creating many different types of ecommerce websites with varying degrees of complexity. This means that we have many specialized tools which are not relevant for the majority of solutions – e.g. the combine products tool or the VAT groups tool – but you should not let that discourage you. With experience and this documentation, you will soon get the hang of everything and will be able to correctly determine which tools to use for each project.

Here are some selected articles related to products which may be of interest:

  • Assortments are subsets of products which are shown only to a subset of users. This is sometimes relevant in white label scenarios, but may also be relevant for large customers with multiple companies or legal entities in their ERP-system.
  • Manufacturers are companies or persons manufacturing a product. All products in Dynamicweb have a standard Manufacturer-field which allows an editor to select a specific manufacturer for the product.
  • Product Images can be assigned to a product in a number of manners – using either image patterns or a set of Details fields. The latter option is most commonly used on PIM solutions, where you can set up rules for image inheritance and more.
  • Stock is the quantity of a particular product available for sale. Stock levels are either updated manually, or (in most cases) updated as a part of an integration where stock levels are imported from an ERP system. Product unitssuch as pair, boxes, or crates – can be created and then defined on each product. Then, when the customer adds a box of something to cart and checks out, the correct stock is subtracted from the stock level of the product.
  • Variants are product which are identical except for key dimensions such as size or color

Please note that on solutions with PIM it is recommended that all editing of product data takes place there and not via Ecommerce.

While the worldwide economy is increasingly global, most customers are still local and expect (to various degrees) to be served in the local language and currency, and to have goods shipped to their country.

To support that experience using Dynamicweb Ecommerce you can create various entities:

  • Languages are created to be able to localize various Ecommerce entities and give them local names – e.g. products, product groups, variant groups & dimensions, etc. Ecommerce languages are entirely separate from website languages – you can have a single website language and multiple ecommerce languages or indeed vice versa.
  • Countries represent each country you do business in – they are used to control which countries can be selected as billing & shipping countries during checkout – and which payment & shipping methods are available. You can also set a VAT rate for each country.
  • Currencies are created to allow customers to pay orders in their local currency

Carts are created when a customer adds one or more products to a shopping cart and then completes the checkout process – converting the cart into an order. The order can then be processed by moving it through an order flow consisting of a set of order states corresponding to a particular action in the order handling process, e.g, received, packed, shipped, and completed. Both carts and orders can be shown in frontend - and interacted with - via the Customer Center app.

Carts and orders can be browsed via the cart/order lists available from the Ecommerce tree (Figure 6.1) – they consist of:

  • A list of the most recent orders (1)
  • A set of filters (2)
  • A set of tools in the ribbon bar
Figure 6.1 An order list

In the lists carts are red and orders are black - – the color is not related to the capture state of the order, but only to whether the order has successfully progressed through a checkout flow. On both lists you can right-click the list columns and add/remove columns as you see fit. A clock-icon next to an order ID means the order has been generated as a part of a recurring order series.

The filter section (Figure 6.2) makes it easy to filter and search a list when you’re looking for a specific cart or order.

Figure 6.2 Order list filters

You can filter on:

  • Date
  • Order/cart state
  • Capture state (orders only)
  • Transfer state (orders only)

You can also search for a specific cart or order id, customer fields like Name, or even All fields – although this is slow on solutions with many orders. Filters are applied by clicking the Apply button in the ribbon bar - and reset by clicking the Reset button.

Two other features are related to orders:

  • RMA is a feature for handling returns
  • Quotes is a feature for handling inquiries submitted by customers from the frontend. Many of the features in quotes can also be implemented using the cart management cart commands.

Discounts & Offers are powerful marketing strategies which can draw customers to a shop, increase short-term sales, move surplus stock, build loyalty – and much more.

The Discounts & Offers feature allows you to create two different types of discount:

  • Order discounts are triggered by an order
  • Product discounts are triggered by products

Both types of discounts are created and managed under the Discounts & Offers node in Ecommerce (Figure 7.1).

Figure 7.1 The Discounts interface

All discounts are created in the same manner:

  1. Add general properties like a Name, when the discount is valid from and valid to, etc.
  2. Select a discount type and configure it – this could be a fixed amount (5 USD off), a percentage (5% off), a free product, free shipping, and so on
  3. Select when and how the discount is triggered – this could be when the total order price is over a certain amount, when more than X of the same product are bought, or when a specific value is entered into a voucher field.

You can read more about each of these steps in the discounts article – or check out these hands-on guides to common discount types:

Payment is – of course – critical to all Ecommerce solutions. You can create payment methods integrating with many popular payment providers – such as:

Payment methods are created from Settings > Ecommerce > Orders > Payment and are dependent on you having an account with an external service. A payment method is basically a mini-integration to an external service which processes credit card payments. When you add a payment method you decide:

  • Which countries to make it available for
  • Which users/groups to make it available for
  • Which fees to charge (if any)
  • Which checkout handler to use – this is the piece of software which integrates with the external payment provider

Each checkout handler then has a set of parameters for connecting to the external service as well as templates for rendering e.g. a payment window, a receipt, and an error message if something goes wrong. You can read about creating a payment method in this article.

You can also set up payment methods which are not connecting to an external service – e.g. an Invoice method.

Shipping is – like payment – a critical part of the checkout flow, and it set up in much the same way; you create one or more shipping methods which are presented to the user during checkout if the context allows it to.

Dynamicweb integrates with several popular shipping providers – such as:

Shipping methods are created from Settings > Ecommerce > Orders > Shipping and are dependent on you having an account with an external shipping service – a shipping method is basically a mini-integration to an external services which handles shipping. When you add a shipping method you also decide:

  • Which countries to make it available for
  • Which users/groups to make it available for
  • Which fees to charge (if any)
  • Which shipping provider to use – this is the piece of software which integrates with the external shipping service provider

Each shipping provider contains a set of parameters for connecting to the external service as well as templates for rendering e.g. pickup points and error messages. You can read more about creating a shipping method in this article.

Like other areas of Dynamicweb, Ecommerce uses a number of paragraph apps for publishing content to frontend and allow customers to interact with it.

The following apps are available:

  • The Product Catalog & Product Catalog for ViewModel apps are used to render product data in frontend – e.g. product lists and product details
  • The Shopping Cart app is used to render a shopping cart, guide the customer through the checkout flow, and present them with a receipt
  • The Customer Center app is used for a variety of tasks involving showing a customer something and letting them interact with it, e.g. additional addresses, saved credit cards, orders, etc.
  • The Customer Experience Center app is a more modern take on a customer center app, but requires you to use ViewModels when rendering your data
  • The Customer Experience Center – Favorites app is used to render favourite lists in frontend