But before we can sunset the old Demoshop, there is still work to be done on its replacement. We again followed up on some missing parts in our new Demoshop, which we want to become your home of debug information functional point of truth. At the moment, you can still switch between the two Demoshop (via your avatar in Tweakwise App) as we work on finalizing the new version. Six missing features were added to this latest release.

  • Demoshop | The log under a lister page did not show triggered redirects as was the case in old Demoshop - this has been now added.
  • Demoshop | If a filter or facet has an 'explanation text' set up in Tweakwise App, this will now appear next to the facet name as a help tooltip. As it is supposed to be implemented on your webshop too.
  • Demoshop | Viewing smart indexes next to filters/filter values is now less annoying - the whole row will trigger the tooltip with smart index information.
  • Demoshop | In the array of selected filters on top of the left panel you can now see the filter name next to each value for debug purposes.
  • Demoshop | A category filter of type 'Link' did not take children categories into consideration when clicking on parents, therefore not updating the list of categories to choose from - this has been now fixed.
  • Demoshop | Sorting in a non-expanded facet has been also fixed. Sorting in both expanded and non-expanded state for the facet now works correctly according to how it was configured in Tweakwise App.

External Data Components

In order to influence your presence, relevancy and sorting of products in Tweakwise based on external providers, you will need External Data Components for our Merchandising Builder. This can be any available third party services like CDPs or Retail Media solutions, but also your own custom built API. While pilot-testing this feature, we updated some functionality.

  • Tweakwise App | It was possible to add the searchterm used to the URL of the request, but did not provide this as a usable parameter in the POST body. It is now available and also supported out of the box by the Post Body Mapping form.

  • Tweakwise App | If autocorrection is applied by the search funnel in, then the autocorrected searchterm will be sent with the External Data Component. This is also the searchterm used to actually search for products, so not whatever the user entered.

  • Tweakwise App | The category ID sent with an External Data Component did not reflect the same identifier that might have been picked by the Category Match algorithm in the search funnel. Now we sent the same identifier picked by the Category Match algorithm because that is the category we are actually searching through.

On top of our recently introduced JS Hub, we have added a feature to design and customize your product tiles in Tweakwise App and we call it: Product Tile Editor. This new tool takes away the dependency of Tweakwise development capacity and enables customers to make quick (or bigger) modifications, or create complete new product tiles for our set of Tweakwise JS plugins. Search & Merchandising, Recommendations and Guided Selling are covered at the moment. All new customers implementing Tweakwise via Javascript will benefit from this Product Tile Editor, whilst others require a minor migration first (which can be requested via Tweakwise App).

The concept

Without getting too technical, the whole idea behind Tweakwise JS is to offer an easy way of integrating Tweakwise via a collection of modular and configurable plugins. Tweakwise JS offers all kinds of Tweakwise features in combination with a pre-built UI, which enables your to quickly add standardized versions of site-search, -navigation and more to your platform. Both functional behavior as looks and feel are served by Tweakwise and the only thing you have to do, is adding a single Javascript-snippet to your website. All configuration settings are done in Tweakwise App, now including the exact look and feel of your highly customized product cards. In short: high impact against low effort.

Editing Product Tiles

Although e-commerce website look very familiar in general, the information provided and looks and feel of product tiles may vary a lot. Branding has a big impact and so is the market or branch you are operating in. Second to that, product tiles are subject to change and require (minor) tweaks for several reasons, for example during Black Friday or Christmas season. As every minor change would be handled and updated by the Tweakwise development team prior to this, the Product Tile Editor gives you the power and opportunity to do updates yourself.

Once Tweakwise is implemented on your platform via Tweakwise JS (using the JS Hub), we serve product tiles based on in App customizations. Product tiles can be applied to JS modules, like: Search & Merchandising, Recommendations and Guided Selling. In theory this could mean that you have multiple Product Tiles configured, and assigned different tiles to different modules. If no custom product tiles are created (or setup by Tweakwise), a default whitelabel tile will be served.

Every product tile except for the default one, is available for customizing within the Product Tile Editor. The editor uses the principle of drag and drop to add new elements on your tile. Every element should be connected to an attribute (feed, external or derived) and has a certain amount of settings to adjust, like: fonts, sizes, colors, borders, paddings and margins. In all customizations the editor does not provide certain settings, you can setup a css-classname and do your magic via custom css which is also available in the JS Hub. Via the live preview button (top right) there is shown an actual representation on what the product tile will look like. Modifications are only applicable on your production website after a successful deploy of your JS settings (via JS Hub).

One of the ways you can integrate Tweakwise into your platform is by using Tweakwise JS: a collection of modular and configurable plugins that offer all kinds of Tweakwise features in combination with a pre-built UI. With this pre-built UI you can quickly add standardized versions of site-search, -navigation and more to your platform. The looks and feel and behavior of these plugins are available for configuration in the way you like it. In previous versions of Tweakwise JS this was very limited and needed technical know-how, today we introduce a new JS Hub which covers it all.

With Tweakwise new JS Hub you don't need technical assistance anymore to do basic configurations to your Javascript, starting with advanced options for Search & Merchandising. Local configuration, when used, will have precedence over the settings you configure via JS Hub. The Hub is available for everyone who is using Tweakwise JS, but can be activated to any if requested. Certain modules are enabled if part of contract agreements, otherwise greyed out. Changes in configuration and setup are applied (and visible in the JS version of the Demoshop) after a successful deploy, something you can trigger/start yourself.

Other improvements

Meanwhile we didn't stand still, listened to feedback and followed up on some missing parts in our new Demoshop. There is still work to be done on this before we can sunset the old Demoshop. At the moment, you can switch between the two versions by clicking on your avatar in Tweakwise App and toggling on or off the Demoshop feature.

  • Tweakwise Demoshop | As was the case in the previous Demoshop, we have added the Personalization Profile Matrix if personalization is enabled and any data is available. The table has the same style as in previous version so nothing new to get used to.

  • Tweakwise Demoshop | Our new Demoshop now supports all three locations of Searchbanners, which can be configured in Tweakwise App > Search > Banners.

  • Tweakwise Demoshop | Items of the type 'Visual' now have native support in the new Demoshop. If you add an item with this type to the Merchandising Builder, it will have a different visual representation than a regular product and will be labeled as such.

  • Tweakwise Demoshop | Our new Demoshop no longer represents the grid widths as setup at instance level, but we now made it available to configure this in the Demoshop itself. By clicking on the cog/gear-icon in the upper right of the Demoshop, a flyout with custom settings will appear in which you can configure your grid settings. This setting is saved as browser setting, so it will apply to the Demoshop itself regardless of what instance or customer you are looking at.

In you want external sources to influence your presence, relevancy and sorting of products in Tweakwise, you need our newest innovation: External Data Components. This new component for our Merchandising Builder is introduced to connect external services with Tweakwise. An external service or API can be used to change the sorting of products Tweakwise returns. This can be any available third party services like CDPs or Retail Media solutions (some webshops gain such popularity that selling positions on product lister pages to advertisers becomes viable), but also your own custom built API.

Good to note is that you can not add or inject products or items onto your listings which are not yet available or existing within your Tweakwise catalog. Catalog items always should be imported already via either a feed import or by making use of our Backend API.

Builder component

The Merchandising Builder can be used to manipulate the order of products that Tweakwise returns, on top of a set of sorting rules which can be applied as well. For example you can place a predefined 'last viewed product' or a 'product of a certain brand' component by using the Merchandising Builder. An External Data Component however should be created from within the Merchandising Builder. If the specific feature is enable for your instance, a step by step wizard will popup once you click on the 'New component' button.

📘

Technical Proficiency

Due to the nature of the external data component, you're going to need some technical proficiency to get it up and running. If you need assistance, please contact Customer Support or your Customer Succes Manager.

  • 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.