Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions docs/managing_shop_content/embed_product.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Embed product

You can embed products in a RichText Field using the Embed function.
The product is embedded in a box including an add to basket button and a product image. The text floats around the product box.

![](img/embed_products.png)

## Embed a product slider

If you want to embed more than one product inside a RichText Field, use the Product card function:

![](img/embed_product_slider.png)

![](img/embed_input_fields.png)

### Box type

eZ Commerce offers the following types of box designs:

- Slider

![](img/embed_design_slider.png)

- Box with add to basket

![](img/embed_add_to_basket.png)

### Slider title

The title is used only if you choose "Type of product box" as "Slider". It is displayed as a tab.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/managing_shop_content/img/content_list.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/managing_shop_content/img/gallery_block.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/managing_shop_content/img/home_page.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/managing_shop_content/img/landing_page.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/managing_shop_content/img/legal_checkout.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/managing_shop_content/img/legal_contact.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/managing_shop_content/img/legal_embed.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/managing_shop_content/img/legal_footer.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/managing_shop_content/img/legal_register.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/managing_shop_content/img/legal_service.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/managing_shop_content/img/media.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/managing_shop_content/img/product_slider.png
Binary file added docs/managing_shop_content/img/silver_module.png
47 changes: 47 additions & 0 deletions docs/managing_shop_content/landingpages.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# Pages in the shop

eZ Commerce has at least one Landing Page which is the homepage. This document describes how to setup and modify Landing Pages.

## Landing Page tool

![](img/landingpage_tool.png)

eZ Commerce adds the following blocks to the blocks available in eZ Platform:

- Last viewed
- Bestsellers
- Product Slider

## Product Slider

The Product Slider block creates a product slider section with up to three different tabs.

![](img/product_slider.png)

Add up to three different tabs and fill them with the SKUs of the products (you can search for SKU, a product name or a part of a product name).

![](img/product_slider_basic.png)

Click **Submit** and you will see a preview of the slider.

![](img/product_slider_preview.png)

## Last viewed

The Last viewed block displays a list of the last viewed products in a slider.

![](img/slider_block_view.png)

The block might not be visible in the edit mode but it will contain products in the frontend.

## Bestsellers

The Bestsellers block shows the bestselling products from a chosen category. This can be the whole product catalog or a subcategory.

![](img/bestsellers_slider.png)

To choose a category, click **Select content**.

![](img/bestsellers_categories.png)

![](img/bestsellers_preview.png)
36 changes: 36 additions & 0 deletions docs/managing_shop_content/legal_documents.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Legal documents

You can manage legal documents and forms for the shop in the "Service" folder.

![](img/legal_service.png)

You can link these legal documents in the footer:

![](img/legal_footer.png)

The legal documents are used at various places in the shop. The Terms and Conditions are shown as s full page or as a popup during the checkout process:

![](img/legal_checkout.png)

and in the register form:

![](img/legal_register.png)

The legal texts are linked in text modules that are used in various locations, e.g. the contact form.

![](img/legal_contact.png)

The cancellation policy text is added to the confirmation email from the shop.

## Adding identifier to "Terms & Conditions"

eZ Commerce extends the built-in Article Content Type with the Identifier Field.
With this identifier you can fetch the article and render the content using a controller.

### Controller

![](img/legal_controller.png)

### Embed

![](img/legal_embed.png)
22 changes: 22 additions & 0 deletions docs/managing_shop_content/navigation_structure.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Navigation structure

![](img/navigation_structure_menu.png)

Click **Content** > **Content structure** to access the objects displayed in the top navigation

![](img/navigation_content_structure.png)

The following Content Types are supported:

- Article
- Folder (including Folder for news, events and blog post)
- Landing page
- Product category
- Product
- Feature link

!!! caution

The main menu of the site displays elements only if the Priority is higher that 0.

Elements with lower Priority are displayed first.
21 changes: 21 additions & 0 deletions docs/personalization/content_import.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# 9. Content Import

Basic recommendation algorithms are statistics-based and need only the product ID and user ID. This information is provided by the event tracking as described in chapter [4. Event Types](event_types.md).
There are several use cases where the recommendation engine requires additional information linked to the products.
The most important cases are:

- Filtering results based on the category the product is located in ([Category Filter](filters.md#category-filter))
- Filtering results based on price and product availability ([General Filters](filters.md#general-filters))
- Sub-models based on custom attribute grouping ([Submodels](recommendation_models.md#submodels))
- An additional export/import interface is designed to provide editor-based models ([6. Recommendation Models](recommendation_models.md))

There are four different ways to import data into the recommendation system:

- **In-Event:** During the event tracking process, where related data is attached to a click event (e.g. categorypath information)
- **Push interface:** Classic HTTP POST-based import. It is suitable for uploading single content or editor lists
- **Pull interface:** The recommendation engine loads an exported file from the specified location in the background. It was designed to upload big portions of information, for example a weekly update of the whole product catalog
- **Trigger logic:** The recommendation engine triggers a transactional full import at the customer's system. Therefore some custom development or a plugin is needed. 

!!! tip

You can find Specification for Import interfaces in the developer guide under [Content API](https://doc.ezplatform.com/en/master/guide/personalization/content_api.md).
33 changes: 33 additions & 0 deletions docs/personalization/content_types.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# 5. Content Types

In the **advanced** edition of the recommendation engine it is possible to build different recommendation domains. It can be achieved by splitting all the products into different content types. There are several possible use cases for content types.

- A publisher tracks articles, pictures and videos as three different types.
- A supermarket splits all the products into food and non-food product groups.
- An owner of several web shops uses a single account for all of them

The content types concept provides the possibility to make so-called cross domain recommendations (like "Users who watched this film also read this book" or "Users who read this article also liked these photos").

Additionally to the logical separation of the content domains the content types provide another important advantage. They play a role if different types of products are not equally popular but must be recommended equally often. For example, on a publisher's page users watch videos less often than they read articles. If the most popular products are requested without content type splitting, there will be most likely no videos in the result. If articles and videos are split into different content types, it is possible to explicitly request popular videos and/or popular articles.

Below is a comparison for different ways of splitting content in the recommendation engine.

|Use case|content types solution (domain context)|Attribute based sub-models (group context)|Different recommendation engine accounts|
|---|---|---|---|
|Cross-group recommendation requests are possible|yes|yes|no|
|Products must belong to one group|mandatory|optional|mandatory|
|Products can belong to multiple groups|no|yes|no|
|Single recommendation request can contain products from different groups|no|yes|no|
|Product can change the group it belongs to|no|yes|no|
|Different content types share the scenario and model configuration|yes|yes|no|
|Required Recommender Edition|single advanced|-|multiple basic|

#### Scenario configuration

If multiple content types are enabled, one must enable this output type for every scenario that should recommend this type.

![Scenario settings](img/scenario_configuration.png)

Every scenario supports a single input type and multiple output types (see [8. Scenarios](scenarios.md)). Every recommendation request delivers only content of one output content type (even if multiple are selected in the interface above). The output type is set during the recommendation request and must be covered by the list of the supported content types in the requested scenario.

You can find more information about fetching recommendations in developer documentation: [Recommendation API](https://doc.ezplatform.com/en/master/guide/personalization/recommendation_api.md)
77 changes: 77 additions & 0 deletions docs/personalization/dashboard.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# 3. Dashboard

The administration dashboard is the entry point to configure and control the Personalization Solution. It is split into two main sections:

- The top section contains diagrams representing statistical information on how the recommendation engine is used and how successful - depending on the KPIs - recommendations are.
- The lower section is made up of many configuration tabs. It contains at least the Scenarios and Added revenue information. Depending on the license and registration information there is also a tab for A/B-Testing, Plugin, Content Import and Newsletter settings

## Statistics

![Dashboard statistics](img/dashboard_statistics.png)

The diagram part consists of three main blocks:

- Collected events:
The input data (clicks, buy, clickrecommended, ...) which is going into the recommendation engine for the customer website (see [4. Event Types](event_types.md) for more information).
- Recommendation calls:
The number of recommendation calls (total and per scenario)
- Clicked recommendations, Purchased recommendations and Revenue by recommendations:
The effectiveness of recommendations regarding clicked recommendations, revenue through recommendations and absolute number of converted/sold recommendations

The conversion (or click-through) rate is an **indicator of the acceptance** and therefore the **quality of recommendations**. It is calculated as follows: The total number of clicked recommended products divided by the amount of recommendation calls. This statistic only delivers reliable information if the tracking is implemented correctly.

The revenue-through-recommendations is a **monetary value** which was additionally created by recommendations. It is calculated as follows: If a user buys product A and has clicked on it as a recommendation within 30 minutes before we assume it was sold through a recommendation.

Purchased recommendations is the **plain number of sold recommendations** without any revenue/price information.

All statistical information can be downloaded in MS Excel format. The timeframes depend on the selection of the diagram period (day, week, month, 3 months and year) but can also be customized.

## Configuration Settings

### Revenue details

This tab shows you when recommendations were bought and how much time passed between the click on the recommendation and the buying event.

![Dashboard Added Revenue](img/dashboard_added_revenue.png)

### Scenarios

The scenario overview shows all available scenarios. Additional info like a description and the delivered recommendations in the selected timeframes are also presented.

![Dashboard scenarios](img/dashboard_scenarios.png)

Scenarios with green status bars indicate that all models can provide recommendations. Yellow bars indicate that only a part of the configured models can provide recommendations and red ones indicate that no recommendations can be delivered. See [8. Scenarios](scenarios.md).

### Models

This tab allows you to see all available models and configure them, see [6. Recommendation Models](recommendation_models.md) 

![Dashboard models](img/dashboard_models.png)

### Preview

This tab shows you recommendation preview based on a Scenario.

![Dashboard Preview](img/dashboard_preview.png)

### A/B Testing

This tab holds an overview of A/B Tests. Finished, currently running and scheduled tests are listed here.

![Dashboard A/B Tests](img/dashboard_ab_tests.png)

### Plugins

If a plugin was used to register the service, specific settings can be configured under **Plugins**.

![Dashboard Plugins](img/dashboard_plugins.png)

### Import/Export

Item import jobs are used to fetch data from a customer system. Data-mappings and schedule times are defined here.

![Dashboard Item Import](img/dashboard_item_import.png)

### Newsletter

Newsletters are sent out if certain events happen, e.g. a user did not come back for a number of days or the shopping cart was abandoned. Style and conditions are configured in the **Newsletter** tab.
34 changes: 34 additions & 0 deletions docs/personalization/event_types.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# 4. Event Types

It was already mentioned that the recommendation engine collects events and computes recommendations based on user behavior. The most important events collected by the engine are click and buy events. They are enough for providing basic recommendations. There are some additional events for creating more complex scenarios and providing statistics about acceptance of recommendations, such as conversion rate or revenue. 

![Overview of how events work](img/events_overview.png)

All possible events used in the system are described in the following table.

|Event|Description|
|---|---|
|CLICK|It should be sent to the recommendation engine if a user opens any detail page on the website.|
|BUY|It should be sent if something was bought.|
|CONSUME|Similar to the BUY event but without a payment. It is designed for publisher websites. This event is sent if an article or a web page is consumed (usually "read" or a "pre-listened" video).|
|RENDER|It should be sent if a recommendation is shown on the web page. This information is used by filters to suppress repeated recommendations of the same item.|
|FOLLOW / CLICKRECOMMENDED|If a user clicks on the recommended product the "clickrecommended" (sometimes called FOLLOW) event must be sent. It allows building acceptance statistics and enables A/B testing.|
|TRANSFER / LOGIN|A special type of event to deal with a user login after the user already surfed on the web page anonymously. It should always sent if the identifier of the user changed. As a result the anonymous history of the user will be transferred from the old identifier to the new one. This workflow is automatically done in the recommender engine.|

#### Additional events for the advanced edition

|Event|Description|
|---|---|
|BASKET|It should be sent when the user adds the specified product to the shopping cart. It allows creating recommendations for products the customer is interested in but which they finally did not buy for some reason.|
|BLACKLIST|Allows a user to suppress this recommendation. If the recommendation engine gets this event, the specified product or article won't be recommended anymore to the specified user. Default duration of suppression is one year.|
|OWNS|Same as BUY, but without influence on the statistics. It can be used if a user already owns the product, but bought it somewhere else, to avoid recommending it again.|
|RATE|Additional models can be created for the advanced edition, using this type of events. It allows building recommendations not only for implicit tracking events like "clicked" or "buy", but also for events with explicit value like "rated" or "liked". These events need additional integration into the web page to allow the user to give an appropriate feedback. The event should be triggered as a result of this user feedback.|

All the events require the current user ID and the ID of one or more context items. Some events need additional information. For more sophisticated algorithms and result filtering event types with additional parameters are needed. In the table below is a brief overview of additional parameter information.

|Event|Additional information|
|---|---|
|CLICK|Category path of the product a customer clicked on can be attached to the event. It is an alternative way to provide this information for a product without having a catalogue/export. This way is available for both basic and advanced editions. If an export is available to be fed into the recommendation engine, this information is ignored.|
|BUY|The price that a user paid for the product. This is an important parameter for the statistics and especially for A/B tests. Quantity of the products bought must be sent as well to be used in the revenue statistics.|
|FOLLOW/CLICKRECOMMENDED|The scenario which provided the recommendations must be sent in this event.|
|RATE|The rating (for example 1 to 5 stars) can be sent as an additional parameter.|
Loading