Release Notes
Applied security patches to address recently discovered vulnerabilities and ensure continued protection. Also fixed a regression of Drag and Drop functionality for components.
Major performance improvements to campaign publishing. The campaign save and publish pipeline is now significantly faster — in certain cases up to 6 times faster.
Upgraded authentication system to use latest security practices and improved session management.
The campaign close button now follows the popup's rounded corners precisely. Whether placed inside or outside the popup, the button maintains a consistent distance from the border and sits cleanly on the curve at the corner - no more visual misalignment when using larger border radius values.
Added new Offset and Size sliders in the close button settings, letting you fine-tune the button's position by up to ±50px along the corner and adjust its size. Useful for nudging the button to match your exact design.
Introduced Impression anomaly detection for campaigns. Fluentos now monitors daily impressions and automatically sends an email alert when a significant drop is detected compared to the recent average.
Preparations for improved re-engagement controls - the system now tracks close and submit interactions separately, laying the groundwork for more granular campaign re-engagement settings coming soon.
Fixed a regression where the Does Not Contain strategy for Website Cookie, Website Global Variable, and DataHub triggers could prevent campaigns from showing. This was caused by the recent Is Not Set change introducing stricter evaluation logic. Does Not Contain now works as before.
ActiveCampaign audience targeting now uses tags instead of lists. Tags are the recommended way to segment contacts in ActiveCampaign - they can be added and removed dynamically through automations, making your targeting rules far more flexible. Set up tag-based Display Rules in the campaign editor under Publish - Display Rules - Audience Targeting.
Added two new matching strategies - Has any value and Is not set - to the Website Cookie, Website Global Variable, and DataHub triggers. Use Has any value to show a campaign when a specific cookie, variable, or DataHub key exists regardless of its value. Use Is not set to target visitors where that data is missing - perfect for distinguishing logged-in from guest users or triggering fallback offers when expected data has not been pushed yet.
Also fixed an encoding issue that could cause cookie and global variable trigger values
containing special characters (such as @) to not match correctly.
Improved the stability of the end user facing script.
Fluentos is now an official ActiveCampaign Partner App. You can find us on the ActiveCampaign Marketplace.
The ActiveCampaign integration now supports audience targeting and automatic profile enrichment. When a contact clicks a link in an ActiveCampaign email, Fluentos identifies them automatically — no form submission needed. Their email and name are stored for personalisation, and you can show or hide campaigns based on the ActiveCampaign lists they belong to. Set it up in Display Rules → Audience Targeting.
The Subscriber List is now optional when mapping a campaign. If you leave it empty, Fluentos creates the contact in ActiveCampaign without subscribing them to a list — handy when you want to collect data and manage list subscriptions through ActiveCampaign automations.
Read the full setup guide in the ActiveCampaign integration wiki.
Performed a comprehensive security upgrade across our infrastructure and codebase, enhancing overall system stability and performance.
Added text decoration (underline) support to buttons and choice labels in the campaign builder. The underline offset is now tied to font size for a consistent look across all text sizes.
We've introduced new pricing plans designed to give you more control over the sessions you actually need. With seven tiers ranging from 50k to 1M sessions per month, you can now pick a plan that fits your traffic - without paying for capacity you won't use.
The new entry-level plan starts at 50k sessions, lowering the barrier for smaller stores and growing brands that don't yet need hundreds of thousands of sessions. Whether you're just getting started or scaling up, there's a plan that matches your stage.
We've also added a session usage history to your billing settings, so you can review past consumption and modify your plan based on actual data rather than guesswork.
Extended the DataHub trigger with a new Has any value match type. This lets you trigger a campaign whenever a defined key has any value filled, making conditional logic simpler when you only need to know a value exists.
Improved the Voyado Engage integration to automatically pass the contact ID, making profile enrichment easier than ever. You can now also choose to store the contact's email and first name from their Voyado profile, so engagement with your customers can be more personal - and you stay in control of which values are saved.
Added a Targeting Environment setting to the Voyado integration. You can now clearly mark an integration as production or test, preventing production data from appearing in test environments and vice versa.
Updated the Voyado Engage guide with additional troubleshooting tips and documentation for all the new changes.
Added a more flexible way to setup locales. You can now choose if URL should start with a specific path or contain part of it, making setup flexible depending on your website structure.
Fixed an issue with the Audience Targeting Data Source npt updating correctly. We also refreshed the guide on how to use Voyado Engage with Audience Targeting. Read it here: Voyado Engage Integration.
Added a new way to engage with your CRM/ESM audiences. Fluentos now allows you to engage with your customers based on defined segments in your platforms. We're starting with Voyado Engage and will be rolling out support for other ESMs shortly.
Added a new Voyado Engage integration. You can now sync submitted campaign data directly into Voyado. Contacts are created or updated in real time, no manual exports needed. Control exactly how profiles are handled with the new Profile sync behavior setting: create new profiles, update existing ones, or do both at once. Map any form field to Voyado contact attributes and set marketing consent flags. Full setup guide available here: Voyado Engage Integration.
Fixed the calendar where in US markets the week was starting from Sunday instead of Monday, causing day shifts.
Added more controls over custom button JavaScript execution. You can now define the timeout for errors coming from your backend, enable an overall loading spinner, and customize its color. This gives you better control over the user experience during asynchronous operations and helps maintain visual consistency with your brand.
Fixed an accessibility issue where Buttons were initially present before being rendered without accessible names, violating WCAG 4.1.2 compliance.
Fixed an integration mapping with Klaviyo where it was not displaying the correct field values.
Fixed an issue with copying steps that had "Override Desktop Layout" enabled. Previously, Inline Group Components were copied incorrectly.
Added an option to limit how many times a campaign can open per session, giving you better control over campaign frequency and preventing popup fatigue on multi-page sites. We've also reorganized the campaign display settings by renaming "Triggers" to "Display Rules" for clearer intent, and split the triggers section into "Triggers" and "Frequency & Safeguards" sections. This provides better logical separation and makes it more obvious when each type of rule will take effect.
Added an option for the Inline Group component to coordinate the number of items per column, enabling matrix-like visual layouts. Also added column and row gap controls for easier spacing management across devices and columns, giving you more precise control over your component arrangements.
Added an option to use exact width in pixels for buttons. This enables more precise control over button sizing in responsive designs.
Improved how new websites are initialized by properly setting up the campaign environment on creation. This allows the client script to benefit from caching right from the start.
Fixed an issue where updating campaign tags or copying campaigns between websites would reset domain name.
Improved how we capture choice element in the button callback code, allowing for more advanced operations and greater control over code execution. This enhancement provides developers with better flexibility when implementing custom button behaviors and integration logic.
Added a new Answer Value field to Button component, transforming Fluentos into a powerful quiz platform. You can now assign specific values to button clicks (like "q1_yes", "q2_option_a") and map these answers directly to your integration fields. This makes it easy to build multi-step quizzes and have the responses automatically sent to your email marketing platforms.
The Answer Value field works seamlessly with ActiveCampaign, Klaviyo, MailerLite, and custom integrations. Each button click can now carry meaningful data that gets captured and transmitted to your CRM, enabling sophisticated lead qualification and user segmentation based on quiz responses.
Major release with significant changes to campaign analytics aggregation and privacy compliance. We've implemented new analytics consent mechanisms in accordance with the latest ePrivacy regulations, ensuring full compliance while maintaining powerful insights for your campaigns.
As part of our commitment to lean data practices, all collected analytics older than 3 months are now aggregated from daily to monthly grouping. We've completely redesigned how reporting is done and removed any non-essential data collection to align with GDPR guidelines of collecting the minimum data necessary.
The campaign funnel widget has been removed as it no longer provided meaningful insights with our modern flow-based campaigns. However, we've significantly improved data capture for multi-step campaigns.
Updated website installation instructions with new consent guidelines and added a comprehensive wiki page detailing how to implement the new consent banner: Website Installation Guide .
Our Cookie Policy and Privacy Policy have been updated to better explain the consent changes.
Fixed a countdown timer timezone detection issue that was causing incorrect time display for end customers. The timer now properly detects and uses the correct timezone for each visitor.
You can now add multiple production websites (domains) to support localized storefronts like .dk and .de. Simplified the wording across settings and triggers so it's clearer which part of the URL Fluentos uses. The "Website URL" trigger is now called "Page URL", and when multiple production websites are configured you can target rules at a specific website or across all websites.
Added a new On-Page Element Trigger to campaigns. This lets you control engagement based on existing elements on your website. For example, you can now automatically close a campaign when a cart overlay opens, and bring it back again once the overlay closes.
Added a one-click option to copy the component ID from the right-hand panel, so advanced JavaScript mappings are faster to set up and less error-prone.