Using Made With Intent, you can integrate with Klaviyo to enrich customer profiles and trigger in-session experiences (such as Klaviyo forms) using real-time and post-session intent data.
This allows teams to move beyond reactive, behaviour-only messaging and instead understand what a visitor is trying to achieve, how close they are to conversion, and whether an intervention will actually help. Rather than showing the same forms or sending the same follow-up communications to everyone, intent adds the context needed to decide who to engage, when to engage, and how.
The integration supports both:
Activation – powering more relevant lifecycle messaging, segmentation, and in-session form experiences
Analysis – giving deeper 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 Klaviyo - helping teams prioritise visitors, trigger forms and messages more appropriately, and evaluate performance based on context, not just opens, clicks, or conversions.
Setting up the integration
Enriching Customer Profiles - Session Summaries
Enriching Customer Profiles - Session Summaries
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 Klaviyo 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.
Generate a private API key in Klaviyo with Full Access: Events, and share it with MWI.
Settings > General > API Keys > Create a Private API Key > Name Key eg. Made with Intent > Full Access Key > Save
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 Klaviyo and cover best practices for using Session Summaries in your campaigns.
🔒 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 Klaviyo?
Triggering Klaviyo Forms - In-Session
Triggering Klaviyo Forms - In-Session
Within our campaign manager you are able to build a Third Party trigger to launch a Klaviyo form when a visitor matches an Intent Segment. This is used for campaigns such as Email Capture.
How to trigger Klaviyo forms in the Campaign Manager
Create a form in Klaviyo
Under targeting and behaviour, choose only show on custom trigger
Every Klaviyo form has an ID, e.g. KLVpXn. Copy and paste this ID into the Made with Intent campaign modal.
Publish your form in Klaviyo - it won't fire until the custom trigger code is executed
Publish your Made with Intent campaign. When the experience segment matches, the Klaviyo custom trigger code is run.
