
Ask most ecommerce teams how they know what a visitor cares about, and you'll hear the same answers. Last product viewed. Most time spent. Recent purchases.
These are proxies. Not signals. Not intent. Not interest.
And yet, this is how most of the industry claims to "know" what their customers are interested in.
The reality? Ecommerce has spent a decade optimising for what people click, not what they care about. The assumption that engagement equals interest is the core flaw. Affinities should be a core capability in ecommerce but they’re largely missing, and worse, often faked with inaccurate signals.
This article unpacks what affinities really are, why current methods fall short, and how Made With èƵ’s approach reframes what personalisation should actually mean.
The illusion: Mistaking engagement for affinity
Most common drivers for determining product affinity strategies:
- Last viewed
- Most viewed
- Longest viewed
- Previously purchased
This leads to wildy inconsistent outcomes and is essentially guesswork. For example, see the following two sessions:
[Session 1]
┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶
Product A → Product B → Product C → Product D → Product E
↑ ↑
(Longest Viewed) (Previously Purchased)
[Session 2]
┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶┶
Product F → Product G → Product B → Product H → Product I
↑ ↑
(Most Viewed) (Last Viewed)
The problems with these interpretations:
- Last viewed ≠ Highest intent: Product I was viewed last, but only once and briefly. It’s a poor indicator of interest or conversion potential.
- Most viewed = Curiosity, not commitment: Product B’s repeated views may reflect uncertainty, not preference. It could also be a comparison reference or an accidental revisit.
- Longest viewed can be misleading: Product C was dwelled on, but that could reflect confusion, poor UX, or open-tab idling, not genuine interest.
- PreviouspPurchase ≠ future intent: Just because Product D was purchased before doesn’t mean the user wants it again. Relevance might now be low.
Ultimately, engagement is a misleading approach as it works in both directions and remains open to interpretation.
Yet this is how almost every ecommerce platform infers "what a customer cares about." Here’s why I think this fails:
- Recency bias fools the system. Someone can hate-scroll a product page and look "interested" when they aren't.
- No context of intent. Clicking or viewing does not equal liking. Hovering does not equal wanting.
- Secondary behaviour pollutes the data. A shopper adding toothpaste after buying a fragrance does not mean they love toothpaste.
- Teams aren't even aligned. CRM, paid media, and onsite teams all use different definitions of "interest," based on whichever proxy suits their tool or process.
And that’s the core of the issue. What most ecommerce teams call 'affinity' is nothing more than an engagement proxy. It’s recency. It’s frequency. It’s volume. But it’s not interest. And it’s definitely not intent.
To be fair, it’s not like the industry ever had this easy. Affinity has never really been an out-of-the-box capability for ecommerce teams.
You could try to cobble it together by blending last viewed, most viewed, time spent, but it meant building custom rules, manually interpreting engagement and hoping it told the right story. Most teams never had the tools to move beyond that.
And even when teams do try to build affinity models themselves, it rarely scales. Every time you want to understand affinity for a new attribute, whether it’s price, brand, category or anything, you’re forced to define rules, retrain models, or manually stitch data together.
The result? A fragile process that breaks the moment something changes. That’s why most teams default back to blunt proxies like recency. They’re simple and work ‘well enough', even if they’re wrong.
The low ceiling of engagement proxies
Let’s be clear. This stuff does work. Kind of.
Last viewed is better than nothing. Most viewed does something. This is why the industry keeps doing it.
But it's a ceiling, not a scalable solution.
It's effective, but not to the same degree. You're essentially marking your own homework.
The real opportunity isn't about fixing something broken. It's about lifting the ceiling entirely.
Less noise and cleaner signals. More precise targeting without over-discounting or over-messaging. Alignment across teams instead of different, conflicting definitions of “interest".
That’s why we define an affinity not just on what a visitor looked at, but on what contributed to their intent.
If a visitor browses three pairs of shoes at different price points, the traditional model might recommend the one they spent the most time on. Our model identifies which of those shoes actually built purchase intent. Because time spent isn't the same as value contributed.
Imagine visiting a health and beauty store. You spend five minutes looking at shampoo, toothpaste, and a razor. But the real reason you came in was for a fragrance, you checked that out first and decided quickly. Then you browsed around for other products.
The typical ecommerce system thinks you're deeply passionate about toothpaste. Ours knows the fragrance mattered most.
Why actual affinity data matters to online retailers
The real power here is prioritisation. When you use affinity based on contribution to intent, you stop drowning in noisy data. You can weight engagement by what actually mattered. What contributed. What moved someone forward. Not just what they clicked.
This isn’t just about more data. It’s about clarity. About knowing which signals matter—and which are just noise.
Getting this right isn't just about better product recommendations. It’s about:
- Cleaner data on what your visitors actually care about.
- More appropriate personalisation. Less irrelevant spam.
- Consistent messaging across CRM, onsite, and paid.
It’s also about unlocking higher-margin tactics. Look at how Seasalt Cornwall applied affinity data to drive an 89 percent conversion uplift with affinity-based discounts. Or how they increased conversion by 8 percent with homepage personalisation.
Both use cases speak to one truth: when you understand what people care about, you sell better. And you sell smarter.
I believe in the (near) future, intent-based affinities will be the new baseline. A foundation for any business serious about personalising at scale.
When paired with real-time intent, it unlocks a fundamentally more appropriate, more effective way of serving visitors.
In five years, retailers will look back at recency-driven personalisation the way we now look at irrelevant banner ads or spammy pop-ups. Crude. Inappropriate. Obsolete. Affinity without intent will feel as outdated as demographic targeting does today.
If your tools can’t tell you what a visitor truly cares about, not just what they clicked, then you're flying blind.
If you're not using real-time affinity and intent signals, you're not personalising. You're approximating.
This is the next evolution of ecommerce. And it's already happening. Take a look at Made With èƵ if you don’t believe me.
.png)
If you’ve read our original piece on Predictions, Not Proxies, you’ll already understand why ecommerce teams need to move beyond outdated signals like traffic source and funnel stage.
To recap, it’s time for a mindset shift in ecommerce. To go from using surface-level proxies to using real-time intent predictions based on actual behaviour. This follow-up brings data to back up that claim.
What is the quality of a visitor? What are their preferences? And are they progressing towards a purchase?
These are critical questions in ecommerce. They underpin everything from targeting and messaging to optimisation and conversion. And yet, most teams still rely on proxies to answer them. Proxies that are easy to measure, but misleading. Easy to action, but often off the mark.
Proxies became popular not because they were particularly predictive, but because they were easy. They were what was available. And in the absence of better tools, convenience often beat accuracy.
In this article, we explore three key areas where èƵ-proxy metrics lead to incorrect assumptions about our visitors.
- Visitor Quality: Why source-based assumptions break down the deeper a visitor engages
- Visitor Preference: Why relying on add-to-cart ignores 6.6x more signals of interest
- Visitor Progression: Why real journeys aren’t linear and what that means for timing
It shows where proxies lead teams astray, what gets missed, and what becomes possible when you see the real story underneath.
Visitor Quality: The Proxy vs The Prediction
| Proxy: Conversion by Source: Channel | Device | New/Existing |
Prediction: èƵ to Purchase |
| Assumption: The average performance of my traffic sources indicates the intent of the visitor. |
Reality: Every visitor has their own level of intent. It’s not pre-determined by origin. èƵ builds over time and should be treated as such. |
| Proxy Scenario: A New-Social-Mobile visitor lands on a PDP, adds to cart and exits after entering checkout. The data only recognises them by their initial source and as a non-converter. |
Prediction Scenario: A New-Social-Mobile visitor lands on a PDP with low intent. After interacting with the site, they leave with high intent to purchase. |
One of the most ingrained habits in ecommerce is defining visitor quality by how they arrive. PPC traffic is high intent. Social traffic is low intent. Mobile users convert worse. Returning visitors convert better.
These assumptions are so common they’ve become unquestioned. But they’re all based on aggregate averages. And averages flatten nuance.
When we analysed session-level intent across millions of visits, we saw a different story. Yes, there are differences at the top of the funnel. But as users engage more deeply, the source matters less. What matters is what they do now.
The difference between ‘high’ and ‘low’ quality traffic almost disappears when we look at visitors by their 46th event, rather than their 1st.

Our data shows that the gap between “low” quality traffic and “high” quality traffic closes the deeper they engage. Due to lower intent visitors progressively dropping off over the course of a journey, the remaining visitors will have a naturally higher intent.
We looked at how quality changes over time. Early on, yes, traffic source matters. But by the 30th, 40th, 50th event, it flattens out. The intent is shaped more by what visitors do than where they came from.
Social traffic looks low intent at first glance, but the ones who engage actually build really strong purchase intent.
But knowing which visitors have potential is only half the story. To personalise effectively, you also need to understand what they actually care about.
Visitor Preference: The Proxy vs The Prediction
| Proxy: Add to Carts | Product Views | Recency |
Prediction: Product Affinity |
| Assumption: Adding to carts and product views signals what visitors like and want to buy. |
Reality: Visitor preferences show in behaviours, not just CTAs. Interactions that increase add-to-cart intent reliably indicate interest. |
| Proxy Scenario: A visitor spends 10 minutes on a £100 hairdryer, doesn’t add to cart, then browses 10+ shampoos in a 3-for-2 deal. Data logs shampoo as the focus. |
Prediction Scenario: The same visitor shows strong affinity for £50–£100 hairdryers, then later for shampoo in the £5–£10 range. |
It’s easy to think we know what visitors want. Add-to-cart events, product views and recency are the typical signals we treat as indicators of preference. But they’re all blunt. They assume interest based on the most trackable action, not the most telling one.
When we analysed onsite behaviour, we saw that affinity builds well before someone clicks ‘add to cart’. And in many cases, people never reach that point, even when they’re highly interested.
In our data, we identify a product affinity in 6.6x more visitors than we see actually add to cart.

Tracking the movement of a visitor’s intent to add to cart reliably indicates their affinities to products and attributes.
Only a small number of online shoppers add to cart, but many more show product interest through how they browse. Through scrolls, hesitations, returns and comparisons, we can see strong signals of affinity well before any CTA click.
In fact, we see product affinity in over 6 times more sessions than we see add-to-cart events. That’s a huge chunk of opportunity that goes unnoticed if you’re stuck with proxies.
Put another way, if you’re only reacting to add to cart events, you’re often too late to really influence what matters. You’ve missed the moment they started to care.
And once you understand what they want, there’s one final question: are they getting closer to buying, or drifting away?
Visitor Progression: The Proxy vs The Prediction
| Proxy: Page Views | Page Funnels |
Prediction: èƵ to Purchase Movement |
| Assumption: Milestones like viewing a PDP or adding to cart indicate progress toward purchase. |
Reality: No interaction is meaningful in isolation. Every journey is unique and includes intent fluctuations. |
| Proxy Scenario: A visitor adds to cart, enters the basket, then shops for 30 more minutes. Data still classifies them as high intent. |
Prediction Scenario: This visitor showed early intent, but their behaviour declined significantly after backtracking from the cart. |
Most ecommerce sites still treat the typical page funnel as a reliable guide. Homepage to PLP to PDP to cart to checkout. And on paper, it works. But real journeys don’t follow that script. They loop. They stall. They rewind.
And yet, many personalisation and performance decisions still hinge on page depth. Someone in checkout must be ready to buy. Someone on PDP must be evaluating. Someone who’s viewed 10 pages must be high intent.
Not quite.
èƵ declines in over 65% of journeys at some point. It’s the norm, not the exception.

It’s very common for visitor journeys to fluctuate as they engage. This graph demonstrates that the rate of visitors that indicated a drop in intent to purchase at some point increases the longer they shop. On average, 65% of visitors will lose intent at some point, with converting visitors showing a clear divergence from the typical visitor.
We found that intent doesn’t just rise as sessions go on. It’s not that people always leave with less intent, but that there are points within most sessions where the intent dips. That fluctuation is what matters.
Even among converters, a good chunk of them show a dip somewhere mid-journey. So if you’re only acting on high-intent signals, you’re missing the nuance.
If ecommerce journeys are this non-linear and you want to optimise experiences as much as possible, then real-time prediction isn’t a luxury. It’s a necessity.
The Real Opportunity
The previous Predictions, Not Proxies article made the case for change. I hope this one validates it, and shows what happens when you make it.
The truth is, ecommerce teams aren’t misreading intent because they’re careless. They’re misreading it because proxies were the only thing available for a long time. They were measurable. They were familiar. And they made things feel predictable.
But customer behaviour isn’t predictable. Not through proxies. Not in the way we’d like it to be as ecommerce teams. It’s dynamic, contextual and deeply individual.
And that’s the good news. Because once you stop relying on proxies, and start responding to predictions, everything sharpens. Personalisation becomes meaningful. Experiences become appropriate. And performance follows.
You can’t scale personalisation on proxies. But you can scale it by predicting intent.

Scroll depth, traffic source, repeat visits. These have become shorthand for understanding online shoppers. We’ve optimised around them, targeted with them, and built personalisation strategies on top of them.
But here’s the problem. These signals weren’t designed to explain why people act the way they do. They just approximate it. They’re proxies, not predictions. And while they’ve been useful, they’ve also locked us into a static view of behaviour that’s long out of date.
It’s time to stop treating assumptions as insights. And to start acting on what people are actually doing in the moment. In this article I hope to clear up the distinction, and explain why. Let’s start with a definition.
èƵ Proxies vs èƵ Predictions
èƵ proxies are overly broad signals that assume what a customer might do (like traffic source or a number of product views). èƵ predictions are modelled probabilities based on all the behavioural data you have on them.
Ecommerce professionals have long relied on proxies like "repeat visits," "add-to-carts," or "time on site" as shorthand for intent. These are useful, but they're still indirect and quickly diminish in predictive power over the course of a user journey.
èƵ prediction uses data models, like deep learning, that can interpret hundreds or thousands of behavioural signals at once (from click patterns to scroll depth to timing) and predict a customer’s likely next action, such as whether they’ll purchase or exit.

In practice, this shift helps you move from generalising ("social traffic converts at 1%") to acting on individuals ("this user, right now, has high purchase intent. Show them free shipping").
Why have ecommerce teams relied on proxies for so long?
Ecommerce professionals have relied on proxies for so long because they’ve been accessible, understandable, and actionable.
Historically, these were the signals that were easy to measure: traffic source, device type, funnel stage, and page views. They were available out-of-the-box in analytics tools and they told a story. One that felt close enough to intent to be useful. If email traffic converted better than social, it made sense to optimise for that. If users who viewed three or more products tended to buy, that felt like a good signal to lean into.
And to be fair, it worked to a degree. When you don’t have the tools or data to see deeper into user behaviour, proxies are the next best thing. They helped teams move fast and optimise what they could see.
The challenge now is that customer behaviour is more complex and the tools available have evolved. However, the old mental models are still familiar and baked into how teams report, target, and personalise. It's not that proxies were wrong. They were just the best option at the time.
Too often, proxies became the default not because they offered true insight, but because they were simply the easiest thing to measure. That convenience shaped strategies more than accuracy ever did.
The limitations of personalising using intent proxies
Personalising with intent proxies has a few key limitations, especially regarding accuracy, scale, and timing.
They generalise instead of personalise
Proxies treat users as groups. For example, "people on mobile convert less" or "email traffic is higher intent." However, not every mobile visitor has low intent and not every email clicker is ready to buy. You end up personalising for segments, not people. This misses the nuance in individual behaviour.
They can be misleading
More product views might suggest interest, or it might mean the user can’t find what they want. Longer time on site might mean they’re engaged, or it might mean they’re lost. Without context, proxies can be easily misinterpreted. This can lead to actions that feel off-base to the customer.
They’re static in a dynamic journey
èƵ shifts from moment to moment. Users might start browsing casually, but after a few clicks and filters, their behaviour signals strong purchase intent. Proxies often rely on entry-level signals like traffic source or device type. These lose relevance quickly as the session unfolds.
They limit real-time responsiveness
Because proxies are often lagging indicators, they’re not great for adapting experiences in real-time. For example, you can’t adjust messaging during a session based on a proxy like "returning visitor." èƵ predictions, on the other hand, can respond instantly to user behaviour.
The inform strategy and tactics
Worse, many experiences are now designed to maximise engagement for its own sake. When clicks, views, and dwell time become the KPIs, teams start optimising for behaviours that might actually signal friction. We reward the very signals that should raise concern.
How can we shift thinking away from proxies?
Shifting thinking away from proxies starts with changing how we view user behaviour. We need to move from static snapshots to dynamic journeys. Here’s how to encourage that mindset shift:
Start with empathy for the customer journey
Help teams see that proxies often flatten behaviour into categories like "mobile users don’t convert" or "email traffic is high intent." But customers are individuals, and their intent evolves. Encouraging teams to think about what this person is trying to do right now creates the foundation for moving beyond fixed labels.
Highlight the blind spots of proxies (without blame)
Instead of saying “proxies are wrong,” reframe it: “Proxies were useful when we didn’t have better tools.” Then, show where they fall short. For example, assuming more clicks always mean higher intent when they could mean confusion. This builds curiosity, not defensiveness.
Reframe success metrics
Encourage teams to go beyond segment-level metrics like “conversion by channel” and look at micro-conversions through user intent stages. This creates space to ask: Did we engage this user enough? How can we build intent? Do we nurture our prospects? Are high-intent users converting?
Introduce examples of predictive signals
Show how small behavioural patterns like scroll speed, click timing, or product revisits can be stronger indicators of intent than traditional proxies. This helps build trust in the value of prediction.
Position AI as a partner, not a replacement
Let people know they’re still in control. Their expertise sets the strategy. Prediction-enabling AI just gives them more accurate, real-time insights on which to act. That framing reduces resistance and opens the door to new thinking.
Pilot and prove
Start with one area, such as predicting exit intent or surfacing high-intent users mid-session, and show how acting on predictions outperforms proxies. Once teams see better outcomes, the shift happens naturally.
Common mistakes when approximating visitor intent
“High engagement = high intent”
It’s easy to assume that more clicks, time on the site, or pages viewed means a user is ready to buy. But sometimes, high engagement means they’re struggling. They can’t find the right product, are unsure about sizing, or get lost in filters. Without context, engagement alone can be misleading. And we optimise for these same engagement metrics. So even when they’re misleading, we treat them as wins.
“èƵ is fixed at the start of the session."
Many teams look at early signals like the traffic source or device and treat that as a proxy for intent throughout the visit. But intent is dynamic. Someone who arrives from a casual source can quickly become highly intent based on what they see, click, and do. Behaviour during the session tells a richer story than how they arrived.
“We know intent because we know our funnel.”
There’s an assumption that where someone is in the funnel (homepage vs. product page vs. checkout) is their intent. However, two users on the same page can have completely different goals. One might be ready to buy, and the other may just browse or price-check. Funnel logic reflects how your site is structured, not how your customer thinks. Two people in the same place are rarely on the same path. That difference matters.
“It’s all or nothing.”
èƵ is a mental state that reflects a purpose or determination. It isn’t binary. It’s a spectrum. A user might be five percent likely to convert. That doesn’t mean ignoring them. It means nurturing them. Treating intent as a sliding scale lets you personalise the experience in a way that matches where they are, not where you wish they were.
Why proxies prevent 1-to-1 scalable personalisation
Proxies force everyone into buckets. They’re coarse by nature, designed to simplify. A proxy says, “Mobile users don’t convert well,” or “Returning visitors are higher intent.” But in reality, not all mobile users behave the same. Not all returning visitors are ready to buy. These buckets blur the nuance between individuals, and that’s where personalisation breaks down.
You can’t scale one-to-one personalisation if your inputs are averages.
Let’s say your strategy is to show a promotion to users with high intent. If you're relying on proxies, you're basically saying, “Show the promo to everyone from email, on desktop, who’s viewed three or more products.” But in that group, maybe only a fraction are actually ready to convert. Others might just be browsing, or worse, stuck.
Now multiply that logic across your site. You end up serving the wrong message to the wrong people in the name of personalisation. It's segmentation dressed up as relevance.
True one-to-one requires a signal that’s individual, real-time, and predictive. Proxies are none of those. They’re static and based on assumptions. They don’t adapt as a user’s behaviour evolves. This means your personalisation, no matter how clever, can’t actually match the customer's intent at the moment.
So proxies hold us back. Not because they’re bad. They’re inherently not designed for individual-level decisions. They're shortcuts, not signals. Scaling personalisation on top of shortcuts just doesn't work.
How AI drives the shift from proxies to predictions
Historically, personalisation was limited by human capacity. You could track a few signals like channel, device, or funnel stage, and build rules around them. But the truth is, humans can only hold a handful of variables in their heads at once. That’s why proxies became the default. They were simple enough to manage, and they sort of worked.
But true intent is messy. It's fluid. It changes moment by moment. And it’s made up of hundreds of small behavioural signals that don’t fit into neat boxes. No human team can look at all those signals across thousands or millions of users and make smart, real-time decisions for each one.
That’s the reason. AI can process what humans can’t. It doesn't rely on a predefined playbook. It learns patterns from behaviour itself and sees nuance at a scale that would be invisible otherwise.
Deep learning models don’t need to predetermine what matters. They look at raw behaviour like scroll speed, hover patterns, revisit frequency, and hesitation before clicking. Then they learn what combinations of signals typically indicate interest, confusion, or high intent. They do this across millions of examples, constantly adjusting in real-time.
This means that instead of relying on assumptions like "email traffic converts better," AI can say that this user shows high purchase intent based on the last 12 seconds of behaviour, even if they came from a low-converting channel. A proxy would miss that completely.
So AI enables this shift not just because it's faster or more powerful. It unlocks a level of behavioural understanding that was never accessible before. It sees the nuance at scale and surfaces it so you can act.
Critically, you still define what "acting" looks like. AI doesn't replace that judgment. It removes the barrier between what you want to do and your ability to do it for every customer.
Ecommerce growth has always relied on reading signals.
For years, attribute data and intent proxies have helped teams move faster, personalise better, and optimise what they could see. These inputs weren’t perfect, but they were accessible, and they worked, up to a point.
That point is now.
What’s changed isn’t just the technology. It’s the opportunity. When you can see not just who someone is, or what they’ve done, but what they’re likely to do next, everything shifts. You can adapt experiences in real time, match the message to the moment, and unlock new growth that static segmentation could never reach.
Proxies will still have their place. But they’re no longer the ceiling.
Individual, real-time intent predictions are the next layer of advantage. And for teams looking for smarter, more sustainable ways to grow, that’s not just a technical shift. It’s a strategic one.
It’s also what Made With èƵ makes possible for ecommerce teams.
