Just like a configuration setting for overriding Tweakwise filter templates and sorting (merchandising) templates, now it is also possible to connect your desired Tweakwise builder template for Attribute Landing Pages. This function might become useful in case you want to AB-test multiple templates against each other, or if you want to run a specific template based on (a combination of) specific filter-values (for example brand=[brandname]). For every landing page configured via Content > Attribute landing pages > Manage pages, the builder template setting will become available in case you have setup (and published) builders within Tweakwise App.

🚧

Dependencies

In order to run this feature, you need to upgrade the following modules to their latest versions:

  • Magento2Tweakwise
  • Magento2AttributeLanding
  • Magento2AttributeLandingTweakwise
  • Magento2Tweakwise 8.4.0 | Added support for selecting builder templates on Attribute Landing Pages.
  • Magento2Tweakwise 8.4.0 | Resolved an issue where using $ as a filter name caused errors.
  • Magento2AttributeLanding 5.1.1 | Added support for selecting builder templates on Attribute Landing Pages.
  • Magento2AttributeLandingTweakwise 4.4.0 | Added support for selecting builder templates on Attribute Landing Pages.
  • Magento2TweakwiseHyva 4.3.1 | An issue where the navigation/filterbar was not appearing in search results has been fixed.

We proudly present our refreshed synonyms module in Tweakwise App, offering both new functionality as a complete fresh look. Fully operated via our Backend API, our synonyms module now offers all features you need while managing your one-way and two-way synonyms. Biggest change in this fresh update is the smooth integration of Autopilot for synonyms, where you configure how Tweakwise AI to behave. Do you want to approve automatic created synonyms by default, or do you want to check them manually first? Also, on what threshold (how many search results in the past 7 days) should the AI trigger?

Some key functionalities:

  • Bulk actions (like deletions)
  • Importing and exporting (coming soon)
  • Extended auto-synonyms configuration
  • Approval and decline options for AI synonyms
  • Easy navigation (search, filters)

This refreshed module can be seen as Tweakwise's new way of presenting information and will set the standard for other modules too. As we focus on implementing new features and functionality, we continuously try to improve UI and UX over time, making life more easy and your workload more efficient.

📘

Experimental feature

In order to start using our new Synonyms module, you can enabling it at your user preferences in Tweakwise App by clicking on your avatar and switching on the 'New synonyms' toggle.

Other improvements

  • Tweakwise App | Returning from an attribute detail or creation page in any way (go back button, save and go back, etc.) will now work correctly.
  • Tweakwise App | We improved the performance of opening a weighted merchandising rule. However, the saving performance is unchanged at the moment, as we need some time for validation. We did update the wait message to include this information.
  • Tweakwise App | The Insights module got a small revisit, now featuring the classic data table you can see in other new modules (items, attributes,..) with pagination instead of showing a block with featured reports.
  • Tweakwise App | The Task Report in Tweakwise App > Insights has been updated to show data with less delay and should show all the tasks with a maximum delay of around 10 minutes. Before this update, the data was refreshed every two hours during the day and thus resulting in long waits before tasks were showing up. We have added an explainer that tasks executed less than 10 minutes are possibly not shown yet.
  • Tweakwise App | Fixed a problem where some links to the items module didn't work, for example when clicking on an item in the categories module you'd end up on a 'Not found' page.
  • Tweakwise App | We have updated the instance information in the header of the Tweakwise App. In order to accommodate a label denoting the current instance's environment, we replaced the big button with a fresh looking link. You can see the environments of all your instances in the instance switcher (side-panel), by clicking on your instance name.
  • Demoshop | We included the instance’s environment label also to the Demoshop; it's visible next to the instance name.
  • Event Tag | The event itemClick has now been added in the Event Tag (previously known as tracking pixel), meaning you can log these events when itemId, requestId and a profileKey is provided.
  • Backend API | We implemented a new endpoint /attribute/{id}/distinct that returns distinct attribute values. This is for example needed when selecting a brand in a dropdown, so those don't all show up multiple times because there are multiple products with the same value.
  • Backend API | We extended the Backend API endpoints for categories with MerchandisingTemplateId. To better differentiate between the different templates, we also renamed existing parameter TemplateId to FilterTemplateId. This rename is a breaking change, however this was added just a couple of weeks ago and not yet in use by any. Along with MerchandisingTemplateId, we introduced MerchandisingBuilderId.

Javascript

  • Search & Merchandising JS | It is now possible to configure used builder templates via the package configuration by setting builderTemplateId effectively overriding assigned builder.
  • Recommendations JS | It was possible that related recommendation carousels showed duplicate products (as there are multiple queries) - this has now been fixed and potential duplicates are removed.
  • Plugin Studio | If a JS deployment fails you will now get an error notification that it didn’t go through (previously it would just say all went good). Unfortunately as of now we cannot state the exact reason in the notification. Sometimes you’d also got two notifications instead of one after a deployment; this has now been fixed.

📘

This update is a combination of multiple releases

  • [3.1.0] - 14-01-2025
  • [3.0.7] - 24-12-2024
  • [3.0.6] - 18-12-2024
  • [3.0.5] - 17-12-2024

Click this link to visit corresponding repository and update on Github

  • SW-Tweakwise 3.1.0 | The fields min order quantity and max order quantity are added to the feed, enabling customers to force a minimum/maximum amount of products to order when done via product tiles.
  • SW-Tweakwise 3.1.0 | Added some twig blocks in the product feed template, enabling you to change the id.
  • SW-Tweakwise 3.1.0 | In some cases cross-selling on products with variants didn't work. This update fixes this behavior and will show cross-sellings based on the product variant that is also present within the Tweakwise feed.
  • SW-Tweakwise 3.1.0 | Fixed the search functionality, so it is also working while browsing 404 pages.
  • SW-Tweakwise 3.0.7 | Fixed an issue with categories from dynamic product groups not showing up in the feed.
  • SW-Tweakwise 3.0.6 | The type of feed along with its domains were added to the list-overview in Shopware admin module.
  • SW-Tweakwise 3.0.6 | Fixed issue with categories from other sales channels being assigned to a product.
  • SW-Tweakwise 3.0.5 | Added events to be able to alter criteria and results before writing the feed to XML.
  • SW-Tweakwise 3.0.5 | Fixed issue with advanced pricing not using the rules attached to the price tier.
  • SW-Tweakwise 3.0.5 | Resolved a problem setting the group key while adding a cross-sell to a product.
  • SW-Tweakwise 3.0.5 | Made sure all categories are used including categories based on dynamic product groups

As implementing Tweakwise Personalization always needed extra development work on merchants side, we made this functionality now working out of the box. Whether you want to implement personalization now is a matter of switching this feature on/off in your Magento backend, rather than writing some bits of JS-code.

  • Magento2Tweakwise v8.3.2 | You no longer need a separate JavaScript tracking script to get personalized results in you Magento store. You can enable this feature in the admin panel under 'Send analytics events to Tweakwise' (only available when the Builder feature is enabled).
  • Magento2Tweakwise v8.3.2 | Search results now support personalization.
  • Magento2Tweakwise v8.3.2 |Fixed an issue where the "&" character in filter URLs was not displayed correctly.
  • Magento2Tweakwise v8.3.2 |Fixed a problem with the price sliders showing unnecessary HTML-code.
  • Magento2TweakwiseHyva v4.3.0 | Like in version 8.3.1, you no longer need a JavaScript tracking script for personalized results. This can be enabled in the admin panel under 'Send analytics events to Tweakwise.
  • Magento2TweakwiseHyva v4.3.0 | Personalization is now supported in search results.
  • Magento2TweakwiseExport v7.1.3 | Fixed an issue where the export process would fail because of a missing 'cron group'.
  • Magento2AttributeLandingTweakwise 4.3.6 | Fixed an issue where Varnish caching caused the wrong products to appear on Attribute Landing Pages (ALP).
  • Magento2AttributeLanding 5.0.4 | Fixed an issue where URLs for Attribute Landing Pages (ALP) had an extra slash '/' at the end. To apply this fix, you need to run the command bin/magento emico:attribute-landing:regenerate-rewrites after upgrading. This will remove the extra slashes from existing ALP URLs.
  • Magento2AttributeLanding 5.0.4 | We enabled the button that shows or hides the text editor.

We have added the opportunity to pass through all query parameters in the URL, to your connected API in a configured External Data Component. An new tab has been added to the Data Source step of an External Data Component configuration, containing an interactive form element. The tab is called 'Params' and allows you to see and manage query parameters in the URL that you have provided. With this you can also set test values to dynamic parameters (with values enclosed in curly braces) - these test values only serve for you to be able to get some results from the API (in order to proceed with the form - value mapping). When you fill in this form the URL is updated accordingly.

Tweakwise App

  • Tweakwise App | Importing of non-product-items (via XML) went wrong if there was no characteristic assigned in advance. It caused all items (including products) to be overwritten and/or cleared. We fixed this problem, and you will now get a clear error message and failed import when this misconfiguration occurs.
  • Tweakwise App | We fixed a bug where non-product-items were validated as products, while trying to import them via XML in a combined feed that contains both products as non-products. This could lead to an import error for not containing stock/price.
  • Tweakwise App | We improved a couple of unclear error messages during publish. If there is a misconfiguration that causes the publish to fail because of duplicate attribute values, it should now be better understandable that this is the cause.
  • Tweakwise App | While importing new attributes, we automatically detect whether its values should be marked as textual or as numerical.
  • Tweakwise App | During feed import, a specific invalid feed configuration could cause the import to fail and give a non explanatory error. We added a neat warning message validation for this. A small percentage of the instances also got an error on this validation even though the feed could get imported, so we changed this misconfiguration error to a warning. It won't stop the import, but incase it fails because of this, its now clear why.
  • Tweakwise App | Fixed a tiny bug in the App where the item links in the attribute preview tabs were not properly working.
  • Tweakwise App | For Product Tiles built in the editor (Tweakwise App > Plugin Studio) we have added a new way to format values in text and button elements. It is now possible to add prefix or suffix, and in case the value is numeric, it's also possible to change things like separators and precision.

Tweakwise Demoshop

  • Demoshop | In regard to the External Data Component mentioned above, Tweakwise Demoshop supports passing through the tn_edc_parameters as well, once provided in the URL.
  • Demoshop | Like the tn_edc_parameters, it is also possible to request a specific Builder-template in Tweakwise Demoshop by referring to it in an URL-parameter, via tn_b. This will overrule any builder that would otherwise be applied.
  • Demoshop | The layout of the header in Tweakwise Demoshop was slightly changed in preparation for adding more features to it alongside the 'Featured Recommendation' option. In the future you might expect to showcase you Guided Selling funnels here as well.
  • Demoshop | Frequently asked for but finally there: we do show your instance name prominently to show which instance you're currently viewing.
  • Demoshop | We added the name of the Category you are viewing to the top of the page, like a H1 heading.
  • Demoshop | The dedicated search results page was provided with a title too. It also includes a back-button to go back to the category lister page.

Frontend API

  • Frontend API | We added an endpoint to the API for retrieving all available builders, like we already had so-called catalog endpoints for filter templates, sort templates, recommendations, guided selling and languages. This enables the Magento backend to show a list of available builders to be used as override on a specific category page (a feature coming soon).

Backend API

  • Backend API | All existing Category Backend API endpoints now include the field 'status' . You can now see and edit whether a category in your Tweakwise App > Catalog is marked as active or inactive.
  • Backend API | Existing POST, PUT and PATCH endpoints of the Builder in Backend API, will from now on return an id (or object where needed) as response.
  • Backend API | Options were added to the Get All Synonyms endpoint, so you can filter on Searchterm, Type, Generated by AI or Status.
  • Backend API | Several properties/parameters (where applicable) were changed to use enums instead of strings.
  • Backend API | Attributes-endpoints in the Backend API were expanded with an indicator to show whether an attribute is marked as hidden filter. This setting can be set via POST, PUT or PATCH.
  • Backend API | All Synonyms-endpoints where only accessible once 'AI Suggestions' was enabled in your plan. We fixed this so only synonyms/suggestions is checked for that setting, all other synonym endpoints are accessible without this. The Get all synonyms call now can be requested without paging in query parameters.
  • Backend API | Builder authorization PUT-calls now have the authorization Id in the body instead of URL.
  • Backend API | Categories are now patchable without name property being required.

Analytics API

  • Analytics API | The Analytics API has been extended with a new endpoint to track item clicks. As we now also log items placed in a Builder, we ultimately can display statistics in App (like Click Through Rates).

This new report in Tweakwise App > Insights contains an overview of all the executed tasks during the last 6 weeks of the specific instance you're looking at. This graphic shows you all runs of your tasks. A red mark does tell you something went wrong, or your task did not run successfully. All details per task execution can be viewed on the detail page by selecting a day of any task. You can see when it started, when it ended, how long it took, and if there were any issues.

As we are continuously updating Tweakwise App and refreshing our modules with new designs and interactivity, we now have combined three separate attribute list overviews into one combined overview of attributes. By doing so it should be easy to find that specific attribute you're looking for. Inline labels do show you the type of attribute (useful for derived attributes), as the data type could be your guide to distinct textual from numeric attributes. Creating new attributes can still be done via 'old fashioned' modules, or will be automatically done by importing via either a XML-feed or via our authenticated Backend API.

Other improvements

  • Demoshop | Fixed the calculation presentation of the scores for weighted algorithms in the Demoshop, as some algorithms were still missing the normalized scores.
  • Demoshop | We’ve improved the logging for the Category Match algorithm a little bit. When this algorithm finds multiple categories, we’ll show which categories were found instead of none. The logging for Vector Search was also improved. If Vector Search (a feature that has to be rolled out still) couldn’t be executed for technical reasons, we now show a neat message in the search log saying 'An issue occurred while creating an embedding of the search term. Skipping vector search.'
  • Tweakwise App | We addressed the issue where the save button might occasionally have been unavailable on the Task detail page.
  • Frontend API | Filtering can trigger the activation of a landing page. When this happened, we would always add the tn_st parameter with the ID of the merchandising template linked to the landing page to all navigation URLs. This is wrong because the tn_st parameter is solely meant for customers to overwrite the merchandising template with. So, we’ve gotten rid of this buggy behavior triggered by landing pages.
  • Frontend API | We’ve made it so that Search Banners additionally trigger on the full search term. Before, search banners could only be triggered on specific words. This means you can now configure a search banner for when a user specifically searches for 'multiple keywords', for example.
  • Backend API | We updated Backend API endpoint instances/list to also include the environment of instances, so we later on can display this information in the App.
  • Backend API | We found out that the id-parameter in our models for getting and updating synonyms were not the same. We returned models with an Id, but for updating we requested SynonymId. We've updated the PUT-endpoint, so all synonym models now use Id.
  • Frontend API | We've added additional info in the response of the Guided Selling endpoints in our Frontend API. This info can be used to customize the UX for specific questions and answers. Specifically for questions attributeid, name and urlkey is now available, while we added the actual attribute values for answers.
  • Backend API | We added DataType property to 'Get Attributes' and 'Get Attribute' endpoints of our Backend API. Also it's possible to filter out result by DataType in 'Get Attributes' endpoint. Possible values: text or number.
  • Demoshop | We fixed a bug that caused no weighted sorting debug information to be shown on pages other than the first page of the Demoshop.
  • Tweakwise App | The use of the Full Text Rank in Word Search algorithms has been re-introduced as an optional. setting. Previously, when weighted sorting was enabled, the relevancy score provided by full text search was always used, as if this checkbox was always checked. Now it’s possible to disable this feature again. Once disabled, all products found by the word search algorithm will get a raw score of 1, instead of it being determined by the relevancy score provided by full text search.
  • Tweakwise App | The category match Search Algorithm now considers in which language the user is searching. This is applicable when the 'Use conjugations' and 'Use synonyms' feature is turned on. Before, there was a bug in the category match algorithm where the same category could be found multiple times, and therefore wouldn’t be applied. This happened because the category had the same conjugations or synonyms in multiple languages. Now, by filtering on the language for which the conjugations and synonyms were created, we only find a single category.
  • Tweakwise App | When weighted sorting is enabled, the 'Use configured Builder, Sorting and Filter settings of the matching category' feature wouldn’t work. When a category was found, those templates did not get applied. From now on, we always apply the templates of the first category match algorithm with a result. That means if you’re using two category match algorithms, for example one before and one after auto correct. We’ll use the templates from the algorithm before auto correct if it has results. If it doesn’t, we’ll use the second category match if that one has results. If both has results, we’ll use the first. And if none have results… well, no templates to apply.
  • Tweakwise App | An option to filter on item types in the items module was added. Next to that, we've added a notice when an item is not linked to a category and/or an item doesn't have any attributes.
  • Tweakwise App | A bug was fixed in Tweakwise App > Search > Search Algorithms, where category names that contain comma's were not displayed correctly in category match algorithm.
  • Tweakwise App | We have enhanced the 'attribute values are too long' warning message and the 'attribute names are too long' error message, which were introduced lately. Each now includes a list of the first 10 violations with details such as the attribute name, attribute value, and item ID. Additionally, a download is available containing a full-text error message file for warnings.

Plugin Studio

  • Plugin Studio | Some ease-of-use additions to the editor in Plugin Studio were introduced (in Tweakwise App): elements are now deselected when clicked on empty working areas making the controls more intuitive; if an element has a value assigned you will see that clearly stated in the working area so you have better control over what is included in the tile already; the live preview toggle now has a more prominent location, and; all elements can be duplicated (next to the delete button that also found it's new location at the top of the right panel when an element is selected).
  • Plugin Studio | A new element is available to use on your product cards and it will make life a bit easier: an Input-element that controls the quantity of products that will be passed into the add-to-cart event. The element itself works as an add-on with the add to cart buttons and comes with some basic configuration options, like the option to choose between an input element or select element for example. Basic look and feel options are applicable and in case it isn't, custom CSS can always be applied. This new element is also now supported by all JS packages that can use the created product tiles.
  • Plugin Studio | In the editor, we have also added a new way to add styling. It is a little bit technical as some CSS knowledge is needed, but there is now a direct CSS-editor where users may add styles not (yet) supported in the UI. You can switch to this via the button on the bottom of the right panel when an element is selected.

JS Implementation

  • Search & Merchandising JS | Added prefix/suffix to filter facet values if set in App > Filter template > Facet > Advanced options.
  • Search & Merchandising JS | Added an option to disable auto initialization if manual method is preferred.
  • Suggestions JS | Added support for manually supplying the profileKey.
  • Suggestions JS | Automatically close suggestions overlay after clicking on a suggestion. This is especially helpful for customers who have implemented both the suggestions as search results on the same HTML-page.
  • Suggestions JS | We've fixed a problem where Text and Button elements from the Product Tile Editor did not show anymore in the Suggestions JS.
  • Recommendations JS | Added support for manually supplying the profileKey, like was done for Suggestions JS.
  • Recommendations JS | We made a fix where clicking on the previous and next buttons in the carousel won't cause unwanted side-effects when placing the Recommendations JS in a HTML form.
  • Guided Selling JS | Added twn.question.open event hook for manipulating the look & feel of the questions.

We have updated the Tweakwise App dashboard to provide a more personalized experience. The renewed dashboard includes your key metrics, quick links to essential documentation, your personal information, and the latest news and changelog. In addition, we have refreshed the main navigation of Tweakwise App for easier use and made some smaller styling adjustments across the App.

Demoshop

Support was added for Custom CSS classes for navigation filters as configured in Tweakwise App > Filtertemplates > Filter > Advanced options. The classes will be applied to the filter facet, and that's it. This marks no visible change, just shows that we pass it on from the API. In the same vein, we also now support Prefix and Suffix values for (all types of) filter facet values.

We fixed a bug when fetching product recommendations of an item with a name containing special characters (e.g. a space) would not work. Finally, we've added the full calculation of the Algorithm Weighting scores to the Demoshop. Simply hover over an algorithm to see how the value is calculated!

Other improvements

  • Backend API | We extended the Backend API with A new 'types' parameter for Get all items endpoint. This parameter accepts item types such as 'product', 'visual', etc to filter out end results.
  • Frontend API | It is now possible to determine whether an instance has recommendations enabled in the admin panel. This information should be used by a client application to determine if it should make recommendation requests or not, to avoid unnecessary costs.
  • Frontend API | The Frontend API now returns sorting debug information for items placed by Builder components. This can be used by customers to determine if a Builder component makes sense on a certain spot or not. Note that the Demoshop still needs to show this information, it doesn't do that yet.
  • Tweakwise App | We have added a validation warning to the feed import task in case of an attribute outreaches the maximum field length of 400 characters. This warning is not blocking and the feed import will continue. A file is available for download which shows you a full list of warnings.
  • Tweakwise App | Upon creating a new AI Synonym task a (random) trigger will be automatically added between 07:00 AM and 09:00 AM to prevent all instances from running the task at the same time.
  • Tweakwise App | We fixed a bug in the new AI Synonyms task. Previously, if there was a validation error with the generated synonyms, the task itself would fail before displaying the error message. This problem was discovered as some synonyms were identical to the search term, something which is also fixed now.
  • Tweakwise App | We have added the option to fill in test values for variables used in the URL of External Data Components, making it easier to test your configuration.

After a long wait, we have implemented native functionality for our Bucket Sliders for Magento. This is a special slider with extra features like clickpoints and buckets. Buckets let your customers see how many products are in a certain step along the slider, while clickpoints are often-used steps in a slider (for example on fixed sizes) so a customer quickly can skip to certain positions on the slider.

Apart from that, we implemented the API Request Headers for Magento as well. This Request Source says something about what application is generating traffic, like your website, mobile app or Tweakwise Demoshop. On Magento-installations, we provide this header source now with default information.

Other improvements

  • Magento2Tweakwise v8.2.0 | The cron process has been adjusted so it doesn’t interfere with other Magento tasks while running.
  • Magento2Tweakwise v8.2.0 | Templates now escape Tweakwise filter values automatically to avoid issues with special characters. Although this should not affect custom templates, we do recommend to double check custom templates to make sure that everything is properly escaped.
  • Magento2TweakwiseHyva v4.2.0 |Templates now escape Tweakwise filter values automatically to avoid issues with special characters. Although this should not affect custom templates, we do recommend to double check custom templates to make sure that everything is properly escaped.
  • Magento2TweakwiseExport v7.1.2 | The export process has been adjusted to avoid blocking other Magento tasks.