Release Notes
Fixed an issue with re-engage count, which was previously missing one re-engagement.
Fixed an issue with the analytics calculation display that was incorrectly grouping different event types.
Fixed an issue with rounded corner styling. Previously, the calculation was incorrect for all corners when using the two-column layout as a single column.
Fixed an issue where the Close button shadow was not rendered consistently across browsers.
Added the ability to copy and paste steps across campaigns and campaign groups (minified and expanded) within the same website. This improvement simplifies duplicating campaign steps and accelerates popup creation, making workflow more efficient.
A new Referring Website Trigger has been released! This feature helps you target customers based on where they came from, whether a search engine or another website.
Added Total Session Count to campaign analytics visuals to better understand campaign performance within overall site traffic.
Stopped recording close events triggered by Automatic Behaviour. Close event reporting will only include active user-initiated closes, providing a clearer understanding of user behavior.
Additional server-side cache improvements in preparation for high traffic during the sales season.
Introduced an option to turn off integration processing, ideal for cases where form handling is managed directly within the popup. Selection prevents duplicate form submissions and ensures smoother form handling for self-contained campaigns.
Adjusted server-side caching strategy for better performance.
Updated the publishing logic to bypass schedule settings when deploying to the test environment. This change ensures that campaigns are published to the test environment immediately, preventing the need to manually reset schedules after testing is complete.
Updated the campaign evaluation engine to ensure it behaves consistently with non Single Page Application websites, improving compatibility and seamless functionality across different website architectures.
Added posibility to sort campaign steps.
Enhanced logging to log any potential issues during campaign rendering.
Fixed the issue of campaign auto publishing.
Introduced the ability to copy campaigns across websites within the same organization. This new feature lets you quickly share and reuse campaigns without recreating them, saving you valuable time and effort.
A new demo store is now available to showcase Fluentos functionality. You can explore it at https://demo.fluentos.com
Introduced historical usage tracking on the billing page, allowing enterprise customers to view detailed usage per website from previous subscription periods. Additionally, a scheduling function has been added to display upcoming changes for enterprise plans, providing better visibility and control over future usage.
Runtime, monitoring and package updates to ensure security, stability, and incorporation of the latest changes.
Fixed the issue with live data encoding/decoding that caused the Spin the Wheel success message to display incorrectly formatted.
Added two new templates to make setting up Spin the Wheel as easy as possible.
Fixed the memory issue with the Spin the Wheel module.
Released the Spin the Wheel gamification module.
Partial package updates to support the gamification module release. Fixed an issue with VueJS internal computation.
Enabled component drag and drop between layouts. Previously, this was limited to a single layout section.
Added mobile layout override. This long-awaited improvement allows for significantly different layout possibilities on mobile compared to desktop.
Improved the DataHub trigger capabilitiess. You now have more flexibility in how this trigger is activated: Trigger on Command and Trigger on Page View. You can read how to use it in the wiki.
Fixed the issue with website session counts being cached and misleading total usage figures.
Added an option to have a localizable Rich Text Editor for Choice Component labels. This allows for cases where terms and conditions need to be part of the label.
Improved session usage calculation to prevent incorrect counts when misconfigured.
Improved the Edge campaign caching logic to support the Test environment and avoid unnecessary resource usage.
Improved Live Data by preventing failures when incorrect entries are submitted and added additional value sanitization.
Fixed the issue with the typography. After updating the Rich Text Editor, fonts were parsed differently, hence causing font formatting to be incompatible with Vue rendering.
Introducing Button Callback Actions (beta). This feature allows for advanced use cases, like a Registration Form that interacts with website-native functionalities. It is still in beta as we are gathering more use cases and ensuring stability. Additionally, we have added a new input type, Password, to support Form Registration.
Resolved an issue where the Campaign Priority: Skip Priority Check flag was not functioning as expected in certain scenarios.
Implemented a campaign override safeguard. This prevents a campaign from accidentally being overwritten from another tab or by a teammate.
Firewall adjustments and adoption of new RuleSet after Cloudflare Page Rules deprecation notice. Adjusted strictness of data passed to integration processing.
Added a line height option to the rich text editor. Now you can tailor text styling to be more precise.
Fixed the issue where the popup step close button was not hidden when deselected.
Added campaign tagging. Now you can tag campaigns, search by tag, and add color to tags for better visual grouping. Improved campaign search, allowing searches by name, tag, and campaign ID.
Added an option to export full and selected range campaign analytics and A/B test result data to CSV files.
We've enhanced the campaign preview by adding overall performance metrics. Now, you can view total counts of impressions, events, and the conversion rate. Additionally, we've introduced a date range selector, which allows access to more than just the previous 90 days of campaign analytics data. We've also added totals for the selected date range. Plus, you can now zoom and pan on the analytics graph.
We have introduced a wiki into the Fluentos Dashboard. It is in the early stages and will be constantly updated.
Introduced email sent out informing about the campaign being published.
Fixed dates to correctly represent timezone changes for teams working across different timezones.
Now campaign time is adjusted to the user's timezone, not the one that was originally created.
Fixed the issue where an expired campaign wasn't automatically unpublished.
Security patch for one of the packages.
Updated Stripe API.
Introducing mathematical operations in conjunction with Live Data. This allows for precise messaging to inform customers about the remainder required for free shipping and other cases where customers need to know the remaining amount to qualify for a promotion.
We are excited to announce another performance optimization release, focusing on enhancing the efficiency and stability of our systems without disrupting user experience.
Campaign Analytics Optimization: Optimized how campaign analytics are processed,
batching requests and setting request to low priority. This ensures they do not interfere
with primary website requests, maintaining a seamless user experience.
Database Request Batching: By batching these requests, we've managed to
significantly reduce latency, speeding up data processing and improving overall performance.
Image Caching: To enhance loading times and reduce bandwidth usage, we have
increased the image cache duration to 1 year. Error Reporting Accuracy: We've made
adjustments to reduce false positives in error reporting from our client script.
Submitted Data Processing: Changes have been implemented in data processing to
avoid interference with Datadog.
Added missing CodeBlock to a tiptap editor.
Security package update: New vulnerabilities were discovered during regular security checks, and related packages were updated to patch underlying issues.
Typography settings have been switched to using @font-face, allowing for more complex cases and dynamic font loading based on weight. Only normal and bold weights are supported, and the font needs to be set up in the same way on the website where the popup is loading. Additionally, pasting content into a rich text editor now cleans all the styles and preserves the typography settings where the cursor is.
Replaced the native input element for date-time, which was used for campaign scheduling, with a community-built Vue3 component. It was causing an inconsistent look and feel across different browsers and operating systems, and on Windows, it wasn't always working, creating frustration points for the customers.
Increased the size of the clickable area for a Popup Close button to 42px, in accordance with the best UX practices for buttons. This resolves the issue related to Dead Clicks, where a user is not able to close the popup on the first attempt and has to repeat the action.
Fixed Campaign A/B Test result calculations. There was a type mismatch issue after the migration.
Updated General Terms and Conditions, Privacy Policy, Privacy Notice, and Data Processing Agreement to reflect the new updates made for the team setup and to better represent the rights of invited users. Also, updated icons in the dashboard to more accurately convey the Profile View and Company View.
We’re thrilled to announce a significant update to Fluentos, featuring a comprehensive overhaul of our backend infrastructure and numerous enhancements aimed at improving performance, security, and user experience.
New Backend with Team Setup: We’ve launched a completely new backend, designed to
facilitate smoother team collaboration and management.
NodeJS Update: Migrated from NodeJS 16 LTS to the cutting-edge NodeJS 20 LTS,
ensuring enhanced performance and security.
Integration Service Upgrade: Transitioned to the new MailerLite from MailerLite
Classic.
Framework Optimization: Moved from ExpressJS to FastifyJS, now with full TypeScript
support, for faster and more reliable web service.
Authentication: Switched from Auth0 to SuperTokens, introducing a seamless,
passwordless login/sign-up experience to enhance customer satisfaction.
Build System and Performance: Upgraded to Vite 5 for lightning-fast build times and
optimal performance.
Database Security Enhancement: Each entity in our database now has a UUID,
significantly reducing the potential attack surface.
Structural Migration: Successfully migrated all users, campaigns, and companies to a
new, more efficient structure.
Monorepo Transition: Our codebase has moved to a monorepo setup, streamlining
deployment processes and boosting safety and efficiency.
Logging and Traceability: Enhanced infrastructure logging for improved traceability
and debugging.
Permission Validation: Added strict permission validation for Admins and Campaign
Managers across all endpoints.
New Features in a Company Page Section: Introduced invitations and an overview of
access rights within the Company page view.
Profile View Section Enhancements: Added a detailed overview of Company access in the
Profile View, along with the option to create new Companies from the Sidebar.
Notification Improvements: Notification emails are now sent to all Admin users,
ensuring that the right team members are always informed.
Terms and Agreements Updates: Revised our General Terms and Conditions and Data
Processing Agreement to reflect the change in authentication providers.
Asset Storage and Retrieval: Enhanced the performance of cached asset storage and
retrieval, particularly for advanced campaigns.
Internal Caching: Implemented improvements in internal caching mechanisms for better
performance.
Server and API Enhancements: Upgraded EC2 servers to new CPU types and optimized
regions to minimize latency, alongside changes to API endpoint URLs and a new Dashboard URL
structure to align with our updated system architecture.
This release marks a significant milestone in our journey to provide the most efficient, secure, and user-friendly experience to our customers. We’re excited for you to explore these new features and improvements. As always, your feedback is invaluable to us as we continue to refine and expand our platform.
Fixed the issue where locales were incorrectly rendered for Text Component for mobile devices.
Added a localization override for mobile devices to the Text Component, enabling tailored messages for improved styling and communication. This completes the localization overrides for components, eliminating the last barrier to text override on mobile.
Improved Input Component with an Auto-Complete option for a better customer experience when filling out forms for newsletter subscriptions and similar purposes.
Improved UTM parameters for buttons and images. Now, the button link includes utm_content='cta' and utm_term, which adopts the default value from the button component. For images, utm_content='image' is used, without the term. This enhancement adds additional layers for more precise internal analytics and provides a better understanding of user behavior.
Fixed an issue where finishing an A/B test caused the campaign to be unpublished from the test environment.
Enhanced sign-up experience by directing visitors to the correct Fluentos Dashboard sign-up form instead of the login page, eliminating confusion.
Introducing A/B Split Test functionality to enable data-driven decisions. We have not set any limits on the number of variations you can test, giving you maximum flexibility in improving conversion rates.
Additionally, the campaign list display has been enhanced with status badges to indicate whether a campaign is offline, scheduled, or live. This update resolves the previous confusion where campaigns set for future dates appeared as live.
Introducing two new features in our latest update for enhancing UI design flexibility. Firstly, the "Inline Group" component now includes an "Equal Width and Height" horizontal alignment option. This feature ensures balanced appearance for elements within the group, regardless of their individual content sizes. Secondly, we've upgraded the Button component to support multiline text. This allows for greater creative freedom in button design, enabling you to convey more information and create visually engaging design.
Introduced "Equal Width" horizontal alignment option for Inline Group components in our latest update. This option ensures that inlined components within a group, such as buttons, are displayed with consistent width. It is particularly useful in tackling localization challenges, where different languages often resulted in varying component widths. With the "Equal Width" option, your UI design remains uniform and visually appealing across all languages.
Fixed Fluentos script install instructions as it was missing domain name before the script.
We are excited to announce a new feature as part of our commitment to transparency: the introduction of session counts for each website. This enhancement is especially beneficial for organizations managing multiple websites to see a clear breakdown on website session usage.
We are pleased to announce the successful migration of our Cloudflare Web Application Firewall (WAF) to a new API. This change was necessitated by the End Of Life status of the previous Firewall rules API and ensures continued robust security and optimal performance of our services.
After many setbacks, Fluentos Dashboard got major upgrades in our latest release, focusing on performance, user experience and more efficient technologies.
Load Time:
Improved load times by a staggering 40%.
Bandwidth Optimization:
By dropping Nuxt 2 framework we've successfully cut down bandwidth usage by 50% for both compressed and uncompressed
assets. This means a faster, more efficient dashboard experience for you.
Event Listener Reduction:
By reducing event listeners by 5%, we've enhanced the responsiveness and stability of our app.
Components:
Some Vuetify components have been replaced with more performant comunity
driven alternatives. This not only tackles memory leaks but also ensures a smoother, more reliable
user experience. This was challenging to do with Nuxt 2 and
Vue 2.
Unified Styling:
Centralized our styling approach and made defaults consistent
across the app, creating a more cohesive and intuitive interface.
Tech Stack Upgrade:
We've made major changes to our tech stack. Migrated from Nuxt 2,
Vue 2, Vuetify 2, and Axios to Vue 3, Vuetify 3
and native Fetch API. This transition now allows for a server-side rendering on the cloudflare edge,
significantly improving the speed and efficiency of campaign saving, publishing, and edge
caching. Combined with Vite, these changes not only result in great final builds but also
enhance the developer experience and enable much faster builds. This is crucial to our core
values of maintaining a sustainable tech stack.
Theme Enhancements:
The Fluentos Dashboard is now more condensed with an
improved contrast ratio, making for a more comfortable and accessible reading experience.
This update marks a significant leap forward in our journey which allows to meet customer new demands. Also as part of this release we're ending Beta stage.
Resolved an issue where the Countdown Widget in the production version was behind by 10 minutes.
We’re rolling out maintenance updates! Transitioning to Node 20 which has recently entered LTS. Also, updates to underlying packages are underway.
Introducing "Dual Actions" alongside the primary function for our Button Component! Use "Copy To Clipboard" feature to improve customer experience to add discount codes to their device clipboard during checkout. Tailor these values using the DataHub personalization for loyalty members.
We've refined our integration settings! Previously, failing integration emails defaulted to the global organization address. Now, you have the flexibility to specify recipient(s) for integration failure notifications, ensuring the right individuals are promptly informed.
We're all set for the upcoming sales season and anticipated traffic surge, having fine-tuned our servers for optimal performance. With the integration of Cloudflare cloud technologies, we’ve boosted speed and resilience to ensure swift, stable performance, even during peak times.
Resolved an issue in the dashboard panel where having multiple tabs with different websites open could lead to incorrect campaign publish locations.
We’ve added a feature for multi-environment publishing. For those utilizing the Test Environment, you can now selectively publish campaigns either to Test, Production, or both, right from the campaign publish section. This enhancement simplifies the process of testing campaigns thoroughly before going live, ensuring a seamless transition with a minimal overhead.
Enhancments of our monitoring system. Started monitoring total session and event counts to better understand the infrastructure load and identify anomalies in real-time.
Navigating the complexities of localisation just got easier! We understand the intricacies each language brings, especially in single popup campaigns. So, we’re thrilled to introduce Popup Dimension Localisation. Tailor the width and height of your popups for both mobile and desktop devices across each locale, ensuring a cohesive and aesthetically pleasing look regardless of the language. Say goodbye to one-size-fits-all and hello to customized, language-specific popup dimensions!
We’re excited to unveil our first widget - the Countdown Widget, designed with extensibility and efficiency at its core. If you’re not using it, rest easy; the payload to your customers remains unchanged. Assets are fetched just in time, thanks to our revamped architecture. Experience optimum speed and performance ensuring your customers enjoy the best user experience. Even better, the countdown is tailored to your time zone, ensuring multi-country campaigns adhere to your local time. Once the clock runs out, the campaign closes and won’t reopen. Get ready to create irresistible Black Friday deals, exclusive pre-sale subscriptions, and enticing time-limited offers.
Identified and addressed limits on servers and databases! By increasing payload capacities for both, we’re now better equipped to seamlessly handle multistep localized campaigns across numerous countries.
Introduced a Test Environment section in Website Settings which allows you to add URLs of test environment websites and popup campaigns will display there.
Modified the website URL trigger for the equal strategy. Now, it validates the path excluding the domain, making it easy to work with a test environment.
Integration mapping now supports dynamic values at both the integration and campaign
integration level. Currently supported values are {{IP}}
, {{dataHub:your key}}
, {{ORIGIN}}
and {{LOCALE}}
. This improves localized campaign integration and provides you with more options for
capturing the data your integration requires.
Major updates have been made to the customer-facing Fluentos Script. We’ve improved the traceability of stale assets, introducing a method to track deprecations and remove them safely. The script installation retains the "first served" principle, ensuring no changes in single-page applications even with additional requests to the main script. Styles now load in a non-blocking manner, further enhancing our already impressive asset handling experience.
The "Thank You" step now correctly triggers after clicking a CTA (call to action) link on the button component and on the image component.
Elevate your popup strategy with our new timed behaviour feature! Now you can automate popup actions for each step, group and device. Set actions - hide, close, expand, or minify - based on a timer and define limits per session. This allows expanding a popup just once, closing the 'thank you' step repeatedly, or creating a sense of urgency with a popup that continually hides and shows.
Migrated 4 previously missed templates to our localized setup. This resolves the issue where rich text wasn’t displaying after copying a template.
Enhanced the checkbox element to allow preselection, reducing the number of clicks your customers have to make.
Introducing a new way to read live data: use the syntax {{dataHub:your key}}
where "your key" is pushed into Fluentos DataHub using following code fluentosDataHub.push({"your key": "value"})
.
And for our designers – we’ve got your back! To prevent popup layout breakages from lengthy texts,
try our new live data mocking feature. Use {{dataHub:your key:any value}}
and "any value" will display exclusively in the popup builder design section, allowing
you to style with expected values in mind.
This allows for great personalization options, whether it’s a customer’s name or basket value you’d
like to display inside the popup.
Improved Time Spent Trigger, you can base the timer on either page load or session start, giving you finer control over customer engagement timing.
Ever wanted more control over your popups’ display hierarchy? With the new Campaign Priority feature, it’s yours! Dictate whether a popup stays for a new one or simply gets suspended. Choose to have a near-permanent visibility for some popups or mark them as 'urgent' to ensure your customers don’t miss out. This added layer of customization opens up numerous engagement possibilities. We’re thrilled to offer this, and we hope you love the dynamic ways to connect with your online audience!
For those edge-case moments, we have improved Fluentos client-facing script error logging for 'fetch asset' and 'report usage' failures. This ensures more transparency and quicker troubleshooting.
Resolved the issue where popups threw an error upon rapid re-activation and re-closure. Thanks for flagging and your continuous feedback.
Good news for FireFox users! Fixed the issue with Content Security Policy (CSP) that impacted the loading of background images. Enjoy seamless visuals across all browsers now. Thanks for your patience and feedback!
Resolved an issue where inline group input elements weren’t recognized for integration mapping.
We're introducing 5 new templates designed to simplify your popup campaign creation process. It will allow you to collect valuable feedback, grow your audience and boost your sales performance.
Added error reporting and monitoring of Fluentos client-facing script to enhance reliability. This will allow for a fast and effective way to identify and address unforseen issues that normally comes with each browser release.
Fixed a dashboard authentication glitch where customers were not redirected to login page upon authentication token expiration. Additionally modified fluentosDataHub initialization process to correctly consume live data push.
Introducing Stack Position! Now easily control the display order of overlapping popups on your page. Higher numbers brings the popup to the front.
Resolved an issue with our automated publish/unpublish popup campaign system that caused it to prematurely halt in specific circumstances.
We are thrilled to announce the release of the new DataHub Trigger! Turn live data into actionable campaigns. Deliver highly relevant and personalized messaging to your customers. Whether you’re launching a flash sale based on trending products or sending reminders about abandoned shopping carts, our DataHub Trigger makes it possible.
Made number formating consistent and minor visual alignments.
New Geo Location trigger was released! This enhancement will help you effortlessly tailor your sales campaigns to specific regions, making location-based marketing a breeze.
Improved campaign reassessment in Single Page Applications (SPAs) upon page change in relation to defined targeting options.
Fixed URLs pointing to wrong Terms and Conditions and Data Processing Agreement sections.
Increased image upload size limit.
New Feature - Emoji Support 🚀🚀. We are excited to announce a fun new way to make your popup campaigns more engaging.
Carried out routine maintenance, as well as updates to our platform, framework, and libraries. These actions ensure we’re in line with the most recent security and performance enhancements.
Resolved an issue where, under certain circumstances, the localized value was inaccurately returning values and not appropriately utilizing backward compatibility.
Resolved the issue with initial localization setup on the client facing script. In certain cases locale was initialized too late.
Resolved an issue concerning the improper display of click event data based on locale in our campaign performance analytics.
Introducing blog section. Also let us know if you would like us to cover some topic.
Resolved issue where rich text editor was generating text incorrectly for default locale. Fixed MailerLite integration which was not discarding wrong emails.
The final version of our localized popup campaign feature has been successfully launched. This update includes unlimited locale support per domain, along with localizable assets, texts, and links for simplified internationalization management. Additionally, we’ve enhanced our analytics capabilities, providing comprehensive metrics which can be individually filtered by locale.
The second phase of the popup campaign localization has been successfully deployed, enabling performance analytics to seamlessly integrate localization parameters across the entire infrastructure.
Implemented multiline functionality for the input component.
You can check out available components in more detail by visiting our FAQ Page.
Resolved styling issue where popup campaign corners didn't inherit the appropriate values.
Initiated deployment of the foundation for popup campaign localization, significantly enhancing efficiency in managing popup campaigns across multiple countries and marking a major milestone.
We're introducing 5 new templates designed to simplify your popup campaign creation process. It will allow you to collect valuable feedback, grow your audience and boost your sales performance.
The Website URL, Website Cookie and Browser Agent triggers have a new rule engine that allows multiple conditions and groups to be combined, making popup campaign targeting more powerful. The use of AND and OR operators enables the display of popups under a variety of conditions.
Expanded Browser Agent Trigger strategies with an additional option of excluding partial fragments. This enables a more precise popup campaign targeting of different website channels such as your app and website.
Introducing our Expanded FAQ Section with Additional Insights into Using the Fluentos Dashboard. We are excited to provide more comprehensive information about using the Fluentos dashboard. Below are additional sections that will give you more insights into making the most of the Fluentos platform:
Creating Campaigns: Learn how to create engaging popups campaigns using our user-friendly campaign designer. We’ll walk you through the process of choosing the right campaign type, adding input fields, setting up integrations, and customizing your campaign’s design.
Popup Campaigns: Discover how to Fluentos popups to increase customer engagement and conversions. You’ll learn about different targeting options, how to customize your popups, and best practices for designing effective popups.
Integrations: Find out how to connect Fluentos with other services you use.
Reporting and Analytics: Learn how your campaigns are performing using FLuentos popup analytics features. You'll learn about different metrics, how to set up tracking, and how to use our reports to optimize your campaigns.
Troubleshooting: Read about common issues you may encounter while trying to setup Fluentos into your website.
You can check it out in more detail by visiting our FAQ Page.
Started automatically storing the user’s timezone on the profile. This improves the onboarding process and users can change their timezone in profile settings if the detection was incorrect. Timezone is used for popup campaign scheduling.
We have made it easier for you to contact us with the new quick message option added to the toolbar, which lets you send a message without interrupting your important work. Furthermore, font settings have been relocated from company settings to website settings, providing domain-level branding options for popup campaigns.
Images used for popup campaigns are now being selected based on their size and device, resulting in a significant improvement in popup loading speed, particularly for mobile devices.
New settings have been added to the popup images and popup background images. Now you can set focal points for images and adjust background images more precicely. These enhancements will greatly improve the visual impact and usability of popups.
Fixed the issue related to a manual color input.
Fixed the issue which in some cases was recording campaign event incorrectly. This update ensures more accurate reporting and helps to maintain the integrity of the collected campaign performace data.
Campaign JavaScript Callbacks for the impression, event, and close click events can invoke your custom JavaScript code. This new feature gives you the posibilities to run campaigns that interacts with your website based on those events.
Campaign loading guards were improved to prevent unauthorized access. It helps to ensure that only correctly installed script has access to the campaigns, increasing security and reliability of the service. This improvement moves us forward with our commitment of creating a more secure and trustworthy environment.
The campaign performance analytics dashboard has been improved with the ability to select a time range for up to 90 days and compare two metrics against each other. You can now analyze campaign performance over a longer period and make necessary adjustments to improve campaign convertion rate.
Started recording close button click event for campaign performance metric. This provides additional insight into how campaigns are being used.
Campaign re-engagement can have a limit preventing excessive or unwanted engagement. This gives you greater control over campaigns and helps prevent annoying users who may be repeatedly exposed to the same campaign.
Hello, World! Fluentos Beta version went live.