Skip to main content

Product Releases April 2026

Written by Charley Bader

13/04/26: Custom Attribute Agent Context

We're excited to announce Agent Context for custom attributes. You can now add guidance directly to your custom profile attributes and affinities, helping the agent understand how to interpret and use them when building campaigns.

You'll find it in Settings under Custom Attributes. Click into any profile attribute or affinity and select "Agent Context" to add your guidance.

Use it to:

  • Tell the agent when an attribute is relevant to personalisation (e.g. when to act on a particular affinity)

  • Define how values should be grouped or interpreted (e.g. bucketing visit frequency into new, returning, and loyal segments)

  • Give the agent a head start on customers with niche or domain-specific data points

Example: Loyalty Membership Tiers
If you pass a loyalty tier attribute (e.g. Bronze, Silver, Gold) via your SDK or GTM template, you can use Agent Context to tell the agent what those values mean and when they should influence a campaign. For example, you might specify that Gold members should be prioritised for high-value experiences, Silver members are close to upgrading and respond well to incentive messaging, and Bronze members are early in their journey. The agent can then factor this in when deciding which experience to serve, without you needing to build separate segments for each tier.

Example: Clothing Size
The same applies to attributes like clothing size. You might specify that visitors with less common sizes often encounter limited stock and respond well to early access or low stock urgency messaging, while those in popular sizes benefit more from new arrival or trend-led content. This lets the agent personalise around something that directly affects what a visitor can actually buy, rather than just their browsing behaviour.

16/04/26: MFA Improvements

Today we released improvements to how we manage MFA for the platform, including:

  • The ability for an admin to see who in their organisation is enrolled in MFA, and see an audit of all MFA activity

  • The ability to use a Passkey within the platform for an added layer of security

To set-up MFA, navigate to 'My Account' within the platform, and follow our guide here.

20/04/26: Enhanced Custom Goals

We have just released some new functionality within custom goals

Custom JavaScript Goals
This unlocks tracking for conditions that exist outside the normal click and page view interaction stream, such as confirmed form submissions, Klaviyo webhook events, or custom engagement timers. Fire them from your own tag manager or frontend code using intent.trackCustomGoal(slotNumber, data). Once a slot is registered, the platform surfaces a ready-to-use code snippet you can copy and implement directly.

Segment Match Goals
Custom goals can now be triggered by segment membership. Set a goal to fire when a visitor matches a specified segment, giving you a new way to track and act on audience qualification within your campaigns.

Find our more in our help centre article here

29/04/26: Agentic Campaign Improvements

We’re excited to announce quite a few changes going live today for agentic campaigns! Watch our video below, or take a read of the key changes:


Campaign Set-Up

Strategies & Goals

  • You are now able to easily see for each strategy whether it optimises experience, timing or both

  • As part of this, we’ve added a new ‘Timing Optimisation’ strategy. This is perfect for experiences that should just appear once per session, like email capture

  • Strategy Settings; Previously, we showed a recommended set-up within the ‘Learn More’ of each strategy. This is still available, however these settings will be auto-selected based on the strategy you’ve chosen

  • Goals; there are many more pre-built goals available in the platform. Before choosing a goal, you'll see real-time validation stats, when the goal was last tracked, and the rate. Rare or untracked goals show a warning so you don't optimise against something the agent hasn't seen.

  • Guardrails; Transactional goals are automatically monitored as guardrails throughout your campaign, even when you are optimising for a different goal. This means your revenue and conversion performance is always being watched in the background.

Find a full breakdown of available strategies and their default settings here

Experiences

  • Control Variant; You can now easily add your Control as a variant, without needing to manually add a ‘Do Nothing’ experience. Click 'Add to Variants' in the Experience screen

  • Minimum experience requirements; Strategies that need a minimum number of experiences won't let you launch without meeting it


Agent Customisation

We’ve introduced a number of optional settings that allow you to customise your agent:

Custom Prompt; Add a custom prompt to guide the agent. For example: “We’re trying to reduce giving discount codes to everyone. Prioritise those who are on the fence about ordering, and use our free returns messaging for those who don’t quite need an incentive’

Optimised Control; Have the agent gradually reduce the control group as confidence grows. You set the minimum and maximum share. Because the control share reduces over time, revenue projections are based on the lowest share you are likely to end up at rather than the higher share you started with, giving you a more accurate long-term estimate from the start. This is set as default for campaigns.

Optimisation speed; Choose how quickly the agent commits to a winner:

  • Conservative — this was our previous behaviour; learns cautiously

  • Balanced — the new default, recommended for most campaigns

  • Aggressive — for high-traffic, short-duration campaigns like a weekend flash sale. May commit on an early signal, so results arrive faster but may be less optimal

We’ve also improved the general UX of the set-up experience

For more detail on all campaign settings including Optimised Control and Optimisation Speed, see our article here


Reporting improvements

We've made a number of general UX improvements, as well as helping how you view and interpret campaign performance.

Secondary Goals

Every goal, including ones you are not optimising for, appears as a secondary goal in reports. You can change goals at any point, and the agent reallocates traffic accordingly.

Optimised vs observed performance

Every campaign starts with an exploration phase where our agent is learning, meaning that traffic is spread broadly. This early data can make performance look weaker than it is (we call it "the cost of exploration"). The Performance Snapshot now has 2 views: what actually happened (observed), and what performance looks like based on the agent known best allocation (optimised).

Insights

We've introduced a new Insights tab within the campaign overview. This gives you a deeper view of how the agent is making decisions, and where performance is being created across your audience.

Within the Insights tab you can see:

  • Performance by criteria; See which content the agent is favouring for different visitor groups, broken down by the criteria it has chosen for optimisation, such as product price or behaviour. This helps you understand not just what is winning, but who it is winning for

  • Matrix view; Switch to a matrix view for a side-by-side comparison of variants and allocations, showing where the agent's decisions have been concentrated

Insights → new campaigns.
The real power of Insights is that they don't just explain performance, they point to your next opportunity. If the agent is consistently favouring one variant for a specific segment, that's a clear signal to spin up a new, more targeted campaign for that audience.

More information can be found on our reporting updates here

Viewing and Exporting Data

  • Export campaign data to CSV from reports, agentic reporting, and the performance snapshot

  • On conversion-rate goals, switch between conversion and revenue views using your experience's average order value or a custom figure

  • View statistical significance for each goal and metric independently via a single dropdown

Did this answer your question?