Recommendations
Recommendations provide shop users with suggested products, such as on a product detail page. You can also create cart-based or top seller recommendations. The possibilities are endless! To utilize these capabilities fully, we will guide you through them on this page.
Configuration
After enabling the Recommendation module for your Makaira Instance, access the configuration section via the menu entry "Recommendations".
Create a Recommendation
To create a new Recommendation (Reco), enter the following information:
| Input field | Example | Description |
|---|---|---|
| Name | Similar Products | A name that describes your Reco |
| Identifier | similar-products | A unique identifier - you will need to provide this identifier when integrating the Reco into your store pages via the Makaira API |
You are not done yet! After creating the Recommendation, switch to edit mode to adjust its settings.
Edit a Recommendation
After creating a Recommendation (Reco), you can edit it and adjust the available settings to your needs. The following settings can be configured:
Name and Identifier
Refer to the "Create a Recommendation" section for details about these fields.
Recommendation Base
Choose an option from the list to define the data source for your Reco. The following options are available:
| Options | Description |
|---|---|
| Picture Similarity | Products that look similar to the current product (the image in the picture_url_main field will be used). |
| Text Similarity | Products with similar product descriptions or other text field similarities. |
| Bought Together | Products usually bought together with this product. |
| Behaviour History (Cart Based) | Other people who had this in their shopping cart also bought these products. |
| Behaviour History (User Based) | Other users who bought this also bought these products. |
| None | No base data will be used; access the "raw" product data imported to Makaira - suitable for Topseller Recos, Best Rated Recos, or completely custom Recos without relying on similarity/preweighted results. |
Footnotes:
°: After importing your picture URL data into Makaira, we will start calculating picture similarity for you; please contact Makaira Support for assistance.
°°: Makaira Tracking is required to use this Recommendation Base.
Populate with Text Similarity
This option is not available for the following Recommendation Bases: Text Similarity, None.
This option adds products based on the Recommendation Base "Text Similarity" if not enough results can be retrieved for your selected primary Recommendation Base.
Filter
This option adds products based on the Recommendation Base "Text Similarity" if not enough results can be retrieved for your selected primary Recommendation Base.
With filters, you can narrow down the recommended products using concrete values or values based on the input product.
Comparators
The following comparators are available:
| Comparator | Required Data Type | Description |
|---|---|---|
| like | any | Filter where the field contains the value |
| not like | any | Filter where the field does not contain the value |
| in list | any | Filter where the field value is in the specified list |
| not in list | any | Filter where the field value is not in the specified list |
| empty | any | Filter where the field value is empty |
| not empty | any | Filter where the field value is not empty |
| greater | int, float | Filter where the field value is greater than |
| greater or equal | int, float | Filter where the field value is greater than or equal |
| less | int, float | Filter where the field value is less than |
| less or equal | int, float | Filter where the field value is less than or equal |
| between | date | Filter where the value is between a range of periods |
"Compare With" Field
You can choose between the following options:
| Field value | Description |
|---|---|
| Static Value | A static value is used for the comparison |
| Input Product | The value will be taken from the product sent during the request to the Makaira API. |
Usage of Filter Function
Watch the short video to see the filter functionality in action:
Boosting
Use our Preview feature to see your changes in real time.
This option allows you to boost specific products in your Recommendation.
Comparators
The following comparators are available:
| Comparator | Description |
|---|---|
| use value | Special case for boosting: only for int/float fields - boosts the product based on the value in the field (e.g., higher-rated products to the front) |
| like | Products with fields containing the value will be moved to a higher position |
| not like | Products with fields not containing the value will be moved to a higher position |
| in list | Products with field values in the selection list will be moved to a higher position |
| not in list | Products with field values not in the selection list will be moved to a higher position |
| empty | Products with empty field values will be moved to a higher position |
| not empty | Products with non-empty field values will be moved to a higher position |
Usage of the Boosting Function
Watch the short video to see the boosting functionality in action:
Extra Features
Use Machine Learning
This feature is only available if you use Makaira Tracking and have purchased the Machine Learning module.
This option allows you to automatically apply user-specific data (e.g., device, location) to your Recommendations.
You need to send the constraints IP, User-Agent, and Timezone when making a request to the Makaira API (see the "API Integration" section for more details).
Find more information about our Machine Learning module here.
Use Ranking-Mix
This option allows you to reuse your Ranking-Mix on the Recommendations, eliminating the need to reconfigure your general boosting settings.
Randomize
This option adds some randomness to the results. The score of each recommended product may change randomly by up to 20%. As a result, a user may not always see the same recommendations, increasing the likelihood of showing something that interests them. We recommend using this option with additional boosting to ensure results are not completely random.
Preview
We provide a preview feature to assist you in adjusting settings like Filter and Boosting. Open the Preview in the upper right corner. Test your settings by searching for a product and clicking on it to see recommended products.
Watch the short video to see the Preview functionality in action:
API Integration
Makaira allows you to integrate Recommendations into your storefront using our API.
For detailed information about our Recommendation API, refer to the Makaira API Documentation, specifically the "Recommendation" section.
Dynamic Recommendation Configuration in the API Request
For some use cases, it is useful to set the configuration directly in the API request of your storefront/shop. This is beneficial when the shop has more information about the customer than the stateless Makaira API. For example, if your shop knows whether the current customer is price-sensitive, you can show price-sensitive customers cheaper top-sellers and others higher-priced articles. You must modify your request for each customer.
- Create an empty setting for your new recommendation by providing just an ID. Note that all other configurations will be ignored for this use case.
- Create an API request with your custom settings. Use the Makaira UI with its preview to help you get the raw structure of the request (check the network tab of your browser when using the preview; the request will go to "recommendation/public").
An example request that sets a main category and boosts a price greater than 33 may look like:{ "constraints": { "query.language": "de", "query.shop_id": "1", "query.use_stock": false }, "fields": [ "id", "title", "active", "picture_url_main" ], "count": 200, "recommendationId": "my_reco_id", "productId": "", "boosting": [ { "field": "price", "operator": "gte", "boostingStrength": "med", "type": "double", "compareWith": "staticValue", "value": [ "33" ] } ], "filter": [ { "field": "maincategory", "operator": "inList", "type": "text", "compareWith": "staticValue", "value": "my_category" } ], "id": 40, "isActive": true, "isPopulateTextSimilarity": false, "boostWithSimilarAttributes": false, "isUseMachineLearning": false, "isUseRankingMix": false, "name": "em", "randomness": false, "diversify": false }
Adapt your request to your needs and test it before integrating it into your system. Note that the field "productId" must be set but may be an empty string.
Updated 10 days ago
