Using Made With Intent, you can integrate with Bloomreach to enrich customer profiles and trigger in-session experiences using real-time and post-session intent data.
This allows teams to move beyond behaviour-only rules and instead understand what a visitor is trying to achieve, how close they are to conversion, and when an experience or message will actually add value. Rather than treating all users the same, intent provides the context needed to personalise both communications and on-site experiences more appropriately.
The integration supports both:
Activation – powering more relevant Bloomreach experiences, experiments, and personalisation in real-time
Analysis – giving clearer insight into why users behave the way they do and how intent changes over time
In practice, intent acts as a decision layer on top of Bloomreach, helping teams prioritise users, trigger experiences at the right moment, and evaluate performance based on context, not just outcomes.
Setting up the integration
Enriching Customer Profiles - Session Summary
Enriching Customer Profiles - Session Summary
A Session Summary is Made with Intent's own pre-built event: when a visitor's session ends, we condense everything we've read about them into one structured event — an end-of-session report card — and send it to your tools (Klaviyo included). It's a specific, pre-built event that packages the whole session into a single send, rather than something you configure field-by-field. We deliver this in batches, roughly every 30 minutes, once a user's session has ended.
What's included in a Session Summary by default:
Below are the core data points currently included. Within the set-up you are able to rename these labels, and remove data points.
Intent Composition & Engagement
Label | Description |
total event count | Total number of tracked events |
low intent summary | the total number of events in each intent stage |
building intent summary | the total number of events in each intent stage |
high intent summary | the total number of events in each intent stage |
discovery summary | the total number of events in each shopper mindset (NB “not actively shopping”, not included) |
consideration summary | the total number of events in each shopper mindset (NB “not actively shopping”, not included) |
Purchase Indicators
Label | Description |
included purchase | Flags if session included a transaction |
purchase confidence | Latest value from the Intent Signal (very low → very high) |
purchase confidence trend | Direction of change in purchase intent (negative (-1) neutral (0) or positive (1)) |
intent growth velocity | Speed and strength of movement of purchase confidence using a cumulative mean across the journey |
return likelihood | Latest value from the Intent Signal (very low → very high) |
Session Attributes
Label | Description |
intent stage | Final observed intent stage at session close |
shopper mindset | Final mindset (discovery / consideration) |
Affinity Signals
Label | Description |
sequenced affinity page category | Sequential list of page category affinities formed during the session |
sequenced affinity product category | Sequential list of product category affinities formed during the session |
sequenced affinity product price | Sequential list of product price affinities formed during the session |
sequenced affinity product subcategory | Sequential list of product subcategories formed during the session |
sequenced affinity product url | Sequential list of product URLs formed during the session |
top affinity page category | Top page category that the user expressed an affinity with |
top affinity subcategory | Top sub category that the user expressed an affinity with |
top affinity product price | Top product price that the user expressed an affinity with |
top affinity product URL | Top product URL that the user expressed an affinity with |
top affinity attribute 1 | Top customer affinity that the user expressed an affinity with |
top affinity attribute 2 | Top customer affinity that the user expressed an affinity with |
top affinity attribute 3 | Top customer affinity that the user expressed an affinity with |
top affinity attribute 4 | Top customer affinity that the user expressed an affinity with |
top affinity attribute 5 | Top customer affinity that the user expressed an affinity with |
top affinity attribute 6 | Top customer affinity that the user expressed an affinity with |
How to set-up Session Summaries
Session Summaries for Bloomreach aren't self-serve yet, setup is handled by the Made with Intent integrations team once you've confirmed the details below. Reach out to your CSM to get started.
You'll need to provide
Written confirmation that you're happy for Made with Intent to handle your Klaviyo Cookie ID as a session-level identifier. This is required to accurately map session summaries to the right profile — a reply confirming you're happy is all that's needed.
API Key
API Secret (if you've added one)
Base URL
Project token
Once these are in place, Made with Intent’s team will enable the integration and confirm when it's live. Your CSM will then walk you through the data in Bloomreach and cover best practices for using Session Summaries in your campaigns.
How to set-up a Bloomreach API key
How to set-up a Bloomreach API key
Follow the Bloomreach authentication docs
Create a new API key and grant it "New Event" access only — nothing else is needed
Share the API Key, API Secret, and Base URL with MWI
How to find the Base URL
How to find the Base URL
The base URL comes from the API settings in Bloomreach (not the production instance URL). Example format: https://uk1-api.eng.bloomreach.com
🔒 Privacy & Control: Session Summaries require explicit permission to handle session-level identifiers such as GA4 cookie IDs or CRM profile IDs (this is how Made with Intent matches a summary to the right Klaviyo profile). These identifiers are stored separately, used only for processing, and retained temporarily.
What does it look like in Bloomreach?
Triggering In-Session Experiences
Triggering In-Session Experiences
Within the Campaign Manager, there are three ways to serve experiences via Bloomreach;
When you create an experiment trigger for Bloomreach, the Made With Intent client script will push an event to your dataLayer every time the experience fires. Bloomreach supports a trigger of type Datalayer event which means we can initialise an experiment when an Intent segment matches
You can trigger a Bloomreach weblayer by simply entering the weblayer ID into the trigger set-up
You are also able to create an event to send to Bloomreach in order to facilitate segment matching.
