We’ve introduced a big addition to the Items module: Item Management! With this release, you can now create, edit, delete, and copy items in Tweakwise App > Catalog > Items without the need of a an XML feed or Backend API. This gives you control over your items, directly in Tweakwise.

This allows you to all sorts of neat stuff, like:

  • Quickly edit a product attribute (temporarily), for example quickly edit the stock of a product so you don't have to wait a full import cycle
  • Create & manage visuals without a complicated workflow

The id will remain the unique identifier for an item. When creating an item, we will prefill it with a random value. New items created in the module persist until manually deleted. Validation is in place, for example to check if an item already exists.

In the attributes tab you can assign attributes and (multiple) attribute values to the item. If an attribute or attribute value does not exist, it can be created on the spot.

If an attribute does not exist, it can be created without switching workflow


Multiple attribute values can be assigned

If an attribute value does not exist, one can be created without

In the categories tab you can assign an existing category (or multiple) to the item.

Existing categories can be connected

Good to know:

  • Feed imports & Backend API still remain the primary way of getting data into Tweakwise.
  • Feed imports & Backend API operations have priority over any manually created/edited items. If you edit an item that is also contained in the feed, it will be overwritten in the next import chain. If you delete an item that is also in the feed, the item will be added in the next import chain.
  • Some fields in the general tab are characteristics, like image. If a derived attribute is set as characteristic for this field and it does not use the default fields, make sure that derived attribute will handle your manual case correctly.
  • It is not possible to create categories through this module, that should still be done using the regular workflow.

Minor releases introduce new features and improvements. Check out what’s new!

Tweakwise App

  • Tweakwise App | If an item's property value is set to 0 (e.g. price) nothing would be displayed in Tweakwise App > Catalog > Items > Details, that is now fixed to display the zero.
  • Tweakwise App | Navigation to an item's detail page from Tweakwise App > Catalog >Attributes > Preview works again.
  • Tweakwise App | Production instances no longer have a 'non-production' warning displayed on the Dashboard.
  • Tweakwise App | Fixed an issue in publish tasks. The fix addresses the CreateCategoryTable step, which had been failing randomly.
  • Tweakwise App | During a run of a Google Analytics and Google Analytics 4 import tasks, there was no check whether the modules were part of your current plan. This caused the task to still run and update derived attributes for instances. During the start of the specific tasks, we now do check on whether the feature is activated.
  • Tweakwise App | Some server errors are handled now properly in the items module. This should prevent the page from stalling into a loading state.
  • Tweakwise App | Tiny but useful, it is now possible to copy the instance name in the from the instance context.
  • Tweakwise App | Fixed an issue where importing manual suggestions with unrecognized ID in the imported file would result in an error.
  • Tweakwise App | Added retry logic to the AI Synonym job to prevent failing jobs.
  • Tweakwise App | Improved overall performance and stability of the app. Jobs also benefits from this change, resulting in faster import and publish times.
  • Tweakwise App | In an effort to move to a more accessible app, we started with migrating some components to more accessibility-friendly versions.
  • Tweakwise App | Fixed a bug in the instance select where the second item would not display correctly.
  • Tweakwise App | In the replace attribute it's now possible to select existing values.

Insights

  • Tweakwise App | Improved performance by optimizing some data fetching parts of the App, for example slow loading of items (Suggestions configurations/Linked categories). The cause is related to a lot of follow-up requests to fetch category paths - they are now fetched sequentially with its own loading
  • Tweakwise App | Fixed an issue that led into a redirect after loading a page that might got blocked via feature access restriction.
  • Tweakwise App | Fixed a small issue related to instance switching and persisting the selected language.
  • Tweakwise App | Added Copy-to-clipboard for the instance name on dashboard

Tweakwise JS

  • Tweakwise JS | In mobile view, when the filtering overlay is opened, focus stays within the overlay and is locked until the overlay is closed. This implementation was done as part of our Accessibility Improvements and makes it easy to navigate through the filters with a keyboard.
  • Tweakwise JS | Added new configuration option accessibility.skipLink (boolean) that adds a hidden skip link at the top of the page that will navigate users' focus directly into the product listing when enabled. This option is disabled by default as it might interfere by already existing skip links on the page.
  • Tweakwise JS | Fixed a CSS issue where sometimes a 'Placeholder' text would show in the skeleton loader.
  • Recommendations JS | The package is now navigable by Tab, or by arrow keys (left, right) when in the focus. Items out of view are not focusable anymore.
  • Suggestions JS | Tab-navigation was added for the autocomplete/suggestion overlay.
  • Guided Selling JS | Added aria-tags for screen readers, and tab-navigation was added for Guided Selling.
  • Event Tag | We're now sending the source along with all sessionStart events in the Event Tag. The source field contains the hostname of the website. For example: demo.tweakwise.com.

Plugin Studio

  • Plugin Studio | Plugin Studio now accepts white-space values for Elements (instead of displaying NaN).
  • Plugin Studio | A bug was fixed; when refreshing the Plugin Studio the page resulted in a 500 page.
  • Plugin Studio | Fixed a bug in the Product Tile Editor where the spacing (padding/margin) guides would not show in the tile preview

Early this year we dropped a new Magento plugin that simplifies implementing Tweakwise JS using Plugin Studio.

This release packs a couple of improvements that matures the Magento + Tweakwise JS plugin:

  1. Support for Attribute Landing Page extension: you can now use the Attribute Landing Page module, for example to support marketing campaigns. It's great to introduce URLs behind which a search-engine optimised product overview page becomes visible. Think of special pages for brands or a specific group of products such as organic tables.
  2. Browser History Mode (option): the plugin now supports improved URL handling out of the box. You can choose how filters and pagination are reflected in the URL - either with cleaner query strings or the traditional hash format. This update enhances SEO and allows visitors to use their browser’s back and forward buttons more naturally when navigating filters or pages.
🚧

Dependencies

In order to use this extension, you need to upgrade the following modules to their latest versions:

  • Magento2TweakwiseJs (1.3.0)
  • Magento2AttributeLanding (6.0.2)

Fixes:

  • Magento2TweakwiseJs | Fixed a bug where formkey was invalid because the outdated key from the cached page was used.

We’ve added support for grouped products in Magento!

With grouped products enabled, the most relevant variant of a product is shown based on your selected filters. For example: filtering on red, will show the red variant in the product tile.

Update to the latest versions of Magento2TweakwiseExport (v7.6.0) and Magento2Tweakwise (v8.6.0), check the releasenotes on github and follow How to use Grouped products in Magento, for instructions on how to enable the new feature.

Fixes

  • Magento2Tweakwise 8.6.0 | Resolved an issue with hidden active filters.
  • Magento2Tweakwise 8.6.0 | Fixed double store codes in URLs.

A new component has been added to the Builder which adds dynamic grid options (rowspan/colspan) to regular product tiles. This means you get the same maximum flexibility and creative layout options that were previously only reserved for special tiles, now available for your everyday product tiles too. This new **Tile size component **is a perfect fit for creating visually appealing grids that better reflect your brand style and merchandising strategy. Dynamically adjust tile size in both rows and columns, mix and match layouts for a more engaging and personalized product grid and maximize impact without any limitations.

Designed to improve user experience and provide greater insights into product relationships and applications, two small features with great impact were added to the Items module in Tweakwise App > Catalog. You can now easily view related items belonging to the same group through the group code. By simply accessing the group code users can explore all related items, resulting in a more streamlined browsing experience. We have also introduced a new feature that provides clarity on how each item is being utilized within the platform. Users can now see whether an item is directly applied in the Builder or via the Pins module. This insight should help to understand the context in which products are used.

Our Shopware plugin was upgraded so that we are compatible with Shopware 6.7. Every year, Shopware releases a new major version with improvements in performance, accessibility, and developer experience. Back in June, Shopware released its version 6.7. Major versions don’t focus on new features. Instead, they provide the technical foundation for features that will be introduced in upcoming minor releases. For Tweakwise, it is required to keep up to date with these new major versions so that our product won't break your storefront in case you upgrade to the newest Shopware version.

📘

SW-Tweakwise 5.1.0 (Compatibility with Shopware 6.7)

Click this link to visit corresponding repository and update on Github. This version is now supporting Shopware v6.7.x. Both v4 (for Shopware 6.5 and 6.6) as v5 (for Shopware 6.7) of the plugin will be maintained.

We have implemented an optimization that fixes some form of app freezes we've been experiencing lately. The issue was (likely) caused by the items module where we would fetch all categories to which an item was linked at the same time. In some cases, this resulted in an awful lot of API requests at the same time which significantly slowed down the API in such extend that all users, regardless of the customer or instance, where affected. The implemented fix could temporary result into slower pages (when lots of categories are linked), and that no data is available (as it will appear a bit later).

  • Backend API | We extended the existing Get item endpoint in the Backend API with attribute id in the attributes list. This makes follow-up requests to the API easier than previously when only the key and name were present in the list.
  • Backend API | We added the possibility to filter on groupcode in the Get all items endpoint of the Backend API.
  • Backend API | We added a new endpoint to the Backend API for checking item usage in builder and pins.
  • Backend API | We implemented a new Organic component for Builder (see below) in the Backend API.
  • Backend API | Via our items endpoint you could add values to derived attributes, like it was a feed attribute. We added validation on this so that its not possible anymore.
  • Backend API | Updated existing category-related endpoints to include Landing Page information in their responses.
  • Delivery API | The Delivery API has been extended with the option to serve organic product tiles in the builder, containing a flexible width and/or height. This feature will be introduced so that users are in full control of creating layouts in the builder, no matter on which item_types are configured.

Tweakwise App

  • Tweakwise App | We have added the option to duplicate a configuration in the Tweakwise App > Suggestions module. In the context menu of each suggestion setup on the index page, there's now a button to create a copy.
  • Tweakwise App | We have added a confirmation before leaving the page alert, after having made changes to a suggestion rule so users don't lose any unsaved changes. We resolved the problem where no suggestions could be created for a category having id 0 as well.
  • Tweakwise App |The recently introduced priority list of categories in category suggestions was already made easier to use by adding a drag and drop functionality to change the order of the list.
  • Tweakwise App | Fixed an issue where the GA4 module wouldn't open if the connected Google account no longer had access to the selected property.

Demoshop

  • Demoshop | A tiny update regarding the JS Demoshop! When you're viewing suggestions in the JS demo page, the category and facet suggestions are actually clickable! Before this release they were shown but nothing happened when you clicked on them.

JavaScript

  • Tweakwise JS | The in-filter search in the Search & Merchandising JS package has been made a bit better. It now ignores all diacritics (á, é, ë, etc.) or special characters, so it's easier to find terms with them. There is no need for any configuration, this is now how the search works for everyone. So, 'crème brûlée' now will be found while searching for just 'brulee'.
  • Event Tag | We updated the Event Tag so that it automatically tracks user sessions. Whenever the tag is loaded for the first time, a new session is created. This session is automatically sent along with every event, like a purchase. If the user is inactive for 30 minutes, the session expires and a new one is generated when the user re-visits the page or continues where he/she left off.

Plugin Studio

  • Plugin Studio | Fixed a bug where certain numbers (typically those ending with a 0 after the decimal point) were not formattable (delimiter, separator,..).
  • Plugin Studio | Fixed a bug related to tiles, where an element had the value of just a (space character), the text "NaN" would show instead. This no longer happens.

Guided Selling, designed to help customers find the most suitable products in just a few logical steps instead of filtering, is now supported in the Tweakwise Demoshop. You can now explore the Guided Selling funnel experience directly in the Demoshop, which makes it easier than ever to demonstrate how Guided Selling can simplify product discovery, showcase its personalization and filtering logic in real time and inspire everybody with a hands-on example of its potential.

Guided Selling bridges the gap between online product discovery and the in-store sales experience. By guiding users through a series of dynamic questions and filters, Guided Selling simplifies complex assortments, boosts conversion, and enhances the shopping experience.

  • SW-Tweakwise 4.4.0 | Besides the property 'Selected option', which contains the chosen options for a specific variant in one attribute, we have introduced the multi-value property 'Selected options' in the feed. This property will store the selected options of a variant as separate attributes.
  • SW-Tweakwise 4.3.0 | Added an option to show sibling categories in the category filter on the merchandising pages (by adding the parent category in navigation.cid).
  • SW-Tweakwise 4.2.3 | Added missing getters and setters in feed generation events.
  • SW-Tweakwise 4.2.3 | The last generation date is now instantly updated when you click the refresh button in the feed admin, like it already worked for 'status' and 'renewal date'.
  • SW-Tweakwise 4.2.2 | Added some missing Dutch translations in the admin of the plugin.
  • SW-Tweakwise 4.2.2 | Adding products to your wishlist/favorites is now working (again) when using grouped products.
  • SW-Tweakwise 4.2.2 | When you have non-string custom fields in your products (like prices), this will now not result in an error when generating the feed.
  • SW-Tweakwise 4.2.2 | No error will show up in the browser console when you do not have activated the wishlist in Shopware.
📘

SW-Tweakwise 4.4.0

Click this link to visit corresponding repository and update on Github.