• Tweakwise App | In Tweakwise App > Suggestions > Established suggestions, we have added a button to download all records to a CSV-file. When you first start using the Tweakwise app, the suggestion database will be empty. Every time a visitor enters a search request that leads to one or more results, the search phrase or word will be saved as a suggestion. We apply the Wisdom of the Crowd principle to this feature, resulting in a list of automatic created suggestion.

  • Tweakwise App | As previously available in the old products module, the new items module now also has clickable attributes, linking it to their respective details pages.

  • Publish | A change in the publish was made that increases the performance of the Category Match search algorithm, especially for instances with an extreme amount of categories. The performance of these instances increased significantly. For example, the 95th and 99th percentile response time for products suggestions went from ~8s and ~15s to ~800ms and ~2.5s respectively. A similar improvement could also be noticed for their navigation search requests. Not only did the higher percentiles improve, but the 50th percentile for product suggestions also went from ~700ms to ~200ms!

  • Frontend API | We’ve fixed bugs regarding the facets that are shown and applied when either a landing page or the category match algorithm changes which filter template is used. Before, depending on configuration, some facets would not show up or the correct facet options were not used. This caused weird behavior and in the worst case even gave a 500 on the Frontend API! To make it a little more concrete, imagine searching for “fruit” on a supermarket’s website. This could allow the category match algorithm to kick in and change the filter template to one specific to the fruit category. If there are facets on that fruit filter template that are not on the master template, they now do shop up instead of not showing up (like before). It is behavior like that which got changed.

  • Tweakwise App | On the detail pages of derived attributes of the type replace, we have added a functionality to search through all values, on top of paging which was added a few weeks before.

  • Tweakwise App | Paging context was added to products, attributes (feed properties, external properties, derived properties), filter templates, synonyms and feature products modules. When users save their changes and return or just click 'Return to the overview' button on these modules, it redirects them back to the exact page they were in before, and context saving from now. This includes the page number, applied filters, and search terms.

  • JS Implementation | A data attribute containing the item id was added to every product/item tile for JS implementations. This makes it easier to target specific products and/or items when doing customizations. For example in the case of marking a product as 'already added to Wishlist/Favorites'.

  • Tweakwise App | On the detail pages of derived attributes of the type combine, from now on it is possible to add multiple values for a single attribute to make life easier (and increase experienced performance). Additionally, you can add the same attribute with the same values as long as they have different operators. This change does not affect the publishing process, as the data is stored in the same way.

  • Tweakwise App | Updates were made to the of preview information in Tweakwise App > Recommendations > Featured products, as first mentioned here. It now displays the refine setting name on the column, instead of just 'Refine'. Also the refine values are now clickable, so you can navigate to the respective category that's in the recommendation. The main purpose of this column is to verify if products are grouped correctly. For example, if the 'Display single product per (sub)category' was selected, each product should have a unique Category ID in the Refine column. Similarly, for the 'Display single product based on a unique property' option, each product should have a unique attribute value. The Refine column also helps identify which (sub)categories or properties will appear at the top, as the selected sort option applies to this preview table as well.

  • Tweakwise App | The process of copying filter templates was made easier as we have added a copy button on the overview page at Tweakwise App > Filtering > Filter templates. Clicking that button generates a duplicate of the selected filter template and append 'copy' to the end of its name.

Our recently introduced Demoshop now reflects instance settings in relation to Personalization being enabled or not. If not, setting of your profile key will be hidden and no profilekey value will be sent over with any request. You can now also manually trigger analytics events (both product view and product purchase) from the product's quick view. The only event that is being fired automatically (if personalization is on for the instance) is the search event.

Javascript demo

There is also a new Demoshop for customers using our JavaScript implementations. This is set up automatically when an instance is created and you are able to see and interact with the implementation. Custom product tiles are supported out of the box and the implementation code (see blue button in the bottom of the page) can be just copied and pasted by customers to try out. This code does reflect instance settings and should work out of the box.

There is currently no button to get there, but you can expect one soon in the new JS Hub. For now, the easiest way to get there is to change /navigation/ (or /search/) in the URL to /javascript/.

Note: Most customers have the Suggestions module enabled by default, you can disable it manually via a GET-query parameter if you want to see an implementation with instant search, e.g. ?suggestions=false. You can preview any JS implementation with any font available in Google Fonts with another query parameter, e.g. ?font=Great+Vibes (uses Great Vibes Google Font).

Other improvements

  • Tweakwise App | A new module was introduced, replacing all three properties modules (feed, external, derived) and merging the functionality into one new Attributes module. Try it out by toggling the new flag in your user menu in Tweakwise App. In this module you can enjoy fast search and filtering among all of the product attributes at once. Attribute detail pages remain the same. Note: The one thing missing to make this functionally equivalent to the old modules (still accessible) is a delete button in the list view, for that you may need to go back to those modules.
  • Tweakwise App | A preview tab was added to Tweakwise App > Recommendations > Featured products which shows a table with products, the attributes configured in the selection tab, and a refine column. That final Refine column shows the category id if 'display single product per (sub)category' was configured, or shows the attribute value if 'display single product based on a unique property' was configured as refine category option in the tab General. The main purpose of this column is to verify whether products are grouped correctly or not. If there is no refined category selection, the columns will be hidden. Additionally, it shows the limit of products selected in the General tab.
  • Tweakwise App | Removing the link between a property and a connected filter template can from now on been done in bulk from within the property detail 'Used' view in Tweakwise App > Catalog > Properties. For the specific property, one or multiple filter templates can be selected from which you want to cancel the connection.
  • Tweakwise App | The sorting of filter values in case of a derived property can now be done manually as well. This option was already available for other properties, but not yet possible for derived properties. Apart from manual sorting, you can choose for sorting based on: product amount, alphabetic, reversed alphabetic, accrued, numerical.
  • Tweakwise App | A change was made in the new items module where we now show the image and url values of the attributes that are assigned as special characteristics (by Tweakwise). Now this module shows the values exactly like our Demoshop and how our Frontend API returns them.
  • Tweakwise Demoshop | When going to the new Demoshop (which runs as an experimental feature still) from the Tweakwise App > Demoshop without selecting a category, you would end up on a 404 page. This has been now prevented and you must always choose a category.
  • JS Implementation | In the core of our Javascript implementations (used for Instant Search), we added a new configuration option ui.scrollBehavior with which you can choose to either have smooth or instant-jump scrolling on navigation and filtering.
  • JS Implementation | It is now possible to show checkboxes in combination with color facets. This is not done through configuration but rather by use custom customer styling. A detailed explanation for the color facet can be found here.

We made major changes to the way how product tiles are cached and rendered in our Magento 2 plugins, enabling us to serve instant components like personal products ('last viewed', 'previously bought') based on tn_profilekey. The profile key is an identifier for the person browsing your website who is initiating the navigation requests. This same identifier could be used to identify the visitor when sending events to our Analytics API.

Based on the sent events, the visitor can receive personalized results. With every event sent to our Analytics API, we can update the information in the profile and calculate new 'best matches' for that specific person, instantly. Some persistent caching mechanisms (something Magento is pretty good at) does not help increasing conversion related to the topic of personalization. We fixed this by implementing some hybrid way of doing cache for our Magento plugins, but it requires Varnish to be installed and configured.

If you have the Merchandising Builder feature enabled and enabled Varnish in your Magento configuration, we now do serve cached versions of product tiles but the order/sorting of products is instantly retrieved from our Frontend API without doing a separate request via Ajax. This ensures that instant (personal) components are much faster than before, and no extra requests (and flickering on page) is needed when loading the page.

📘

Breaking change. Varnish required!

  • Magento2Tweakwise v7.0.1
  • Magento2TweakwiseHyva v3.0.0

This change might cause issues if you’re already using Personal components within Tweakwise Builder (know as Personal Mechandising before) but not have Varnish set up yet. This could lead to non desired behavior so we kindly request to test your new versions thoroughly before hitting production!

Other improvements

  • Magento2Tweakwise v7.0.1 | Fixed an issue with autocomplete not being visible.
  • Magento2Tweakwise v7.0.1 | Fixed a problem where attribute names weren’t recognized if they had different letter cases.
  • Magento2Tweakwise v7.0.1 | Fixed a bug that limited the number of featured products displayed.
  • Magento2Tweakwise v7.0.1 | Removed duplicate keys for attributes on landing pages.
  • Magento2Tweakwise v7.0.1 | Stopped deleting attribute names unnecessarily when saving an attribute.
  • Magento2Tweakwise v7.0.1 | Added a check to cancel old autocomplete requests if a new one is made.
  • Magento2TweakwiseHyva v3.0.0 | Fixed an issue with filter search not working when the filter is collapsed.
  • Magento2TweakwiseExport v7.1.0 | Fixed an issue where the wrong stock index table was used.
  • Magento2TweakwiseExport v7.1.0 | Added a new attribute "is_salable" to the export. This shows if a product can be sold in Magento.

In order to show inspirational content, sponsored blocks, banners and/or visuals on your listings, Tweakwise now has the possibility to import non-product items to your catalog and interact with these items as you are used to do like it being products. With this major update we prepare ourselves for the future, where inspiration and engagement (time on site) will become even a bigger part of e-commerce. Previously Tweakwise could only handle product-information, from now on we support non-product items as well.

Item types and Frontend API

Out of the box we treat all items as products. On instance-level we now can configure any feed-attribute as discriminator to distinguish types of data. We call this the item-type characteristic. When setup correctly (by Tweakwise), this item-type will then act as a non-product in Tweakwise App and will be exposed by our Frontend API. You'll notice there will be a type field for every item returned by the Frontend API.

<item>
  <type>product</type>
  <itemno>10001-101</itemno>
  <title>Tweakwise Hoodie Blue</title>
  ...
</item>
{
    "type": "product",
    "itemno": "10001-101",
    "title": "Tweakwise Hoodie Blue",
    // ...
}

Items module

As your catalog might not only contain products from now on but also contain non-products, we renamed products to items and introduce a new items module. You can activate this fresh looking module by enabling the toggle in your personal in App settings (by clicking on your avatar in the top right corner in Tweakwise App). The new items module will output all available items in your catalog and shows the item-type as a label.

Builder component

Each unique value for the item-type attribute which is configured as characteristic, will pop up as item in your builder. It makes it easy to allocate a certain spot on your lister, and assign the correct record for allocated spot. After a publish, the information will become available in the Frontend API and can be implemented in the frontend of your platform.

Separated feed import possibilities

As we have created some extra complexity in the catalog by introducing item-types, there is a major upgrade on how to configure your import-feeds. Previously we only accepted one big feed containing both product as category information, but from now on it is possible to separate your feeds.

In Tweakwise App > Connectivity > Tasks you should have configured at least one import task and one publish task. For every import task, there is a new setting available which says something on what information you want to import:

  1. Import all: Items (products and non-products) and categories will be imported and should be available in one single feed. There will be a second option to choose whether you which item-types you want to import: a) all item b) types (default), c) products, visuals.
  2. Import items only Items (products and non-products) will be imported. Categories will be ignored in case they exist in this specific feed. There will be a second option to choose whether you which item-types you want to import: a) all item b) types (default), c) products, visuals.
  3. Import categories only Categories will be imported. Items (products an non-products) will be ignored. There is no extra setting to configure.

📘

This feature requires custom development at the frontend of your platform. This still has to be implemented in our Magento plugins as well. However, if you run Tweakwise via a JS implementation, this feature is instantly available and covered.

To learn more, go to the following topics:

If you're experiencing an issue in your shop, you should always check the Tweakwise Demoshop to determine whether the cause lies within Tweakwise or if there is something with the rest of your shop. Our Demoshop did not have major updates in ages (because of technical reasons), although we do have ambitious plans with it. By announcing our new version of the Demoshop (based on new techniques), we should be able to do update more often and to add valuable debug information our customers could use to improve their shop quality.

Our new Demoshop was completely developed with the newest techniques and does cover all functionality of the previous one. You can access our Demoshop from within Tweakwise App, like it was before via either the Demoshop menu or via Catalog > Categories.

Our Demoshop shows only functions from Tweakwise. You won't see a shopping cart, banners or landing pages. You can use this environment to check whether search, filtering, sorting, builder and recommendations are set up correctly. There is no caching involved. However, changes in for example filtering are only visible after running a new Publish task. After a successful publication, changes are immediate visible in the Demoshop.

📘

Our new Demoshop is enabled by default for all users. However, the previous environment is still accessible in case some information is missing (or you don't like the new design). If you do want to use the old Demoshop, you should turn off the 'New Demoshop' feature in the user preferences section in Tweakwise App (by clicking on your avatar). The old environment will be phased out soon and won't get new feature-updates.

The category tree in Tweakwise App > Catalog > Categories has been extended with a products count, so it is quickly visible how many products are directly connected to that specific category. When viewing a category in detail by clicking on it, there is now a new products widget that contains all the directly connected products. This widget is infinite scroll, so all the connected products are viewable there.

Important to note is that when viewing the specific category in Tweakwise Demoshop, you might see more products, as that also shows the children category products. In the App however we only show the directly connected products for providing a better insight in those.

Other improvements

  • Tweakwise App | When a category is set as inactive, the underlying categories are also not visible/active. This behavior was not clearly reflected in Tweakwise App > Catalog > Categories. Now if a parent category is marked as inactive, the children will be display in red and italic font as well. When viewing this category in detail, the Category status checkbox is set as inactive and disabled (so you can not change it). There is also a corresponding message beneath it explaining that the parent is inactive.
  • Tweakwise App | In Tweakwise App > Search > Search algorithms we have made the attributes on some algorithms clickable, linking them to their corresponding settings in other modules.
  • Tweakwise App | In Tweakwise App > Merchandising > Templates you can now easily access the corresponding Merchandising Rule by clicking on its name.
  • Tweakwise App | In Tweakwise App > Search > Banners we've changed the translations of link-target settings (click type). We explain in more understandable words that _blank does mean 'open link in new window' and that _self does mean 'open link in same window'.
  • Tweakwise App | Publish tasks resulted in errors in case Category Match was enabled as a Search algorithm, while there were one or more categories available with more than 100 characters in length. This limit has changed to 500 chars in length, which should be suitable to all needs.
  • Tweakwise App | The threshold for Google Analytics 4 report days has been increased from 100 to 365 days.
  • Tweakwise App | In Tweakwise App > Search > Filler mutations we added a second tab 'Stoplist' which contains data of how the stoplist is used within your instance. You get a detailed overview on which stopwords (fillers) are in used per attribute.
  • Tweakwise App | We have freshened-up the way data tables look in the legacy part of our App to make the design more unified.
  • Tweakwise App | A warning disclaimer for in filter search (in Filter templates) saying it is not available in Magento was obsolete and therefore removed, as we do support this feature in Magento now as well.
  • Tweakwise App | Buttons in App that lead to support articles (Search algorithm module) now link to the correct target language depended on what you have set up in Tweakwise App.
  • Tweakwise App | Added SKU column to the attribute download file in Tweakwise App > Catalog > Attributes. It's sorted by attribute value data type. If SKU is not present or properly assigned, this column will be skipped in the file.

We've added a new API endpoint to retrieve some instance statistics via our Backend API (which requires authentication). This feature allows you to track progress and/or quality of your instance by monitoring certain statistics, as shown on Tweakwise App > Dashboard as well. The following endpoint was added to our API:

🚧

Please take notice of the fact that all requests you're doing at the API endpoints, do count for billing as well.

We've made some improvements to ensure compatibility with the latest versions of Magento (2.4.7) and PHP (8.3) across all of our modules. One notable fix addresses an issue some customers encountered while trying to install the latest version of the Attribute Landing Tweakwise module. Previously, due to a version number error, the updated version was released but not made available. This has been rectified, and the correct version is now both released and published.

  • Magento2Tweakwise v6.0.1 | Fixed an issue where filters in the Attribute Landing Page (ALP) module were not selectable when accessed from a backend with a different URL.
  • Magento2Tweakwise v6.0.1 | Added support for PHP 8.3 and Magento 2.4.7.
  • Magento2Tweakwise Export v7.0.1 | Added support for PHP 8.3 and Magento 2.4.7.
  • Magento2AttributeLandingTweakwise 4.3.4 | Fixed a bug where the Tweakwise filter template was not saving correctly.
  • Magento2AttributeLandingTweakwise 4.3.4 | Added support for PHP 8.3 and Magento 2.4.7.
  • Magento2AttributeLanding 5.0.1 | Added support for PHP 8.3 and Magento 2.4.7.
  • Magento2TweakwiseHyva 2.4.1 | Added support for PHP 8.3 and Magento 2.4.7.

These updates ensure smoother compatibility with the latest versions of Magento and PHP while addressing specific issues encountered by some customers.

The information which is shared in the table with diagnostic data of a task has been expanded with some extra insights. From now on it is possible to derive information on why a specific task was triggered (and by whom). There can be four different reasons why a specific task was executed:

  1. External: The task is triggered via API url
  2. Manual: The task is triggered in App with the 'start now' button (we do show which person triggered the task)
  3. Auto: The task is triggered during the specified times in 'trigger' tab
  4. Chain: The task is triggered as a successor of a previous task

The task statistics can be consulted at Tweakwise App > Statistics & Reports > Tasks

Other improvements

  • Tweakwise App | In Tweakwise App > Search > Search algorithms a direct link/button to the relevant support-article was added, so the information on how to use and configure this algorithm is easy accessible
  • Tweakwise App | Fixed an annoying language bug that basically affected everyone! Tweakwise App should no longer fallback to English and just remember the language that is configured on a per user basis.
  • Tweakwise App | Somehow the searchbars at Tweakwise App > Recommendations were broken, which should be fixed by now.

Tweakwise contains a stoplist for 9 different languages. These words are filtered out of the index because they generally aren’t relevant to the search requests. A stop word is a word with no linguistic meaning, like ‘the’, ‘a’ and ‘an’.

🚧

Please note! These are advanced settings. Changes can have a considerable effect on the search results of your website. Please read the documentation before removing stopword from the list.

By removing these words from the index, the search function will become faster and more effective. However, this behavior can result in issues when a certain words should be included in the search, for example when a stop word is part of a product name. With the specific word still being present in the list of stop words, the search results will be empty or incomplete (because the word is excluded from the index).

In order to alter some functionality of our search algorithms, it now is possible to make modifications to these so called stop lists by yourself. It is possible to both add or remove certain words from these lists, simply by specifying those in a separate App module.

Covered languages: Dutch, English, French, German, Italian, Portuguese, Norwegian, Spanish, Swedish.

The module to add or remove words from the stop words can be found at Tweakwise App > Search > Filler mutations