HEART Framework
Method
A user experience measurement framework from Google that pairs a goal with a signal and a metric on each of five axes.
Why it exists
Saying what got better after a screen was redesigned has been hard for a long time, because the only numbers within reach were active users and survey scores. Active users can rise because the screen improved or because marketing brought more people in, and the number itself never separates the two.
Pagedeck had this exact conversation. Noa rebuilt the invite screen and Theo asked what had improved. She said people got lost less, and nothing in the data backed the sentence up. What she brought to the next meeting was the screen's view count, which climbs the longer people flounder on it, so the number pointed the wrong way.
The failure runs in the other direction too. Chase only what's easy to count and a vanity metric — a number that looks good and changes no decision — ends up in the goal slot. Time on page goes up when a screen gets more confusing, so a target to raise it can be hit by making the experience worse.
A research team at Google published HEART to handle both problems at once. Rather than gathering the countable numbers and picking among them, it makes you write down what you want to improve first and derive the metric from that sentence.
How to run it
The five axes are happiness, engagement, adoption, retention and task success. The first asks how users feel. The other four count what users did.
- Happiness — attitude, measured by survey. Net promoter score (NPS), customer satisfaction (CSAT) and customer effort score (CES) all live here.
- Engagement — how deeply the people who use the product use it, such as how many times a person edits a document in a week. This is the same ground engagement covers as a metric of its own.
- Adoption — how many people or teams started using something. The axis that moves first when a new feature ships, and the one that stalls first when nobody can find the feature.
- Retention — how reliably existing users come back, which is exactly what retention measures.
- Task success — whether people finished what they came to do. Success rate, time on task, error rate.
The procedure has four steps.
- Decide the scope. A whole product and a single feature pull different axes and different metrics.
- Choose only the axes that apply to that scope. Five out of five is not the target.
- Write one goal sentence per axis, describing what changes for the user when this works.
- Write the signal that would appear in the product if the goal came true, then the metric that counts the signal.
Here's what came out when Pagedeck ran this on document sharing. On adoption, the goal was more teams trying sharing for the first time, the signal was a workspace creating its first invite link, and the metric was new sharing workspaces per week. On task success, the goal was that people receiving a share don't get lost, the signal was the time between opening a link and opening the document, and the metric was the median of that time. It went from 90 seconds before the redesign to 22 after, which finally put a number behind the sentence Noa started with.
When it fits and when it doesn't
It fits best where the effect of one feature has to be stated. When several teams arrive with different numbers, each claiming their side improved, laying those numbers into the same five slots makes the empty slots visible.
There are four limits.
- Trying to fill all five axes manufactures junk metrics. Attach engagement to a checkout screen and lingering on checkout becomes a good thing. Leave the axes that don't apply blank.
- Adoption and engagement get buried by growth unless they're written as ratios. New sharing workspaces going from 40 to 60 a week is a decline if total workspaces doubled in the same period.
- It doesn't run on a product nobody uses yet. With no usage history the last four axes are all empty, and that's the moment for methods that watch people directly, like a usability test.
- Axes can pull against each other. Add notifications and engagement rises while task success falls. The framework won't pick a winner for you, so name the axis that decides the call when you set the scope.
How it sounds at work
"In HEART terms this redesign is a task success change. If the success rate goes up I'll take a small drop in engagement."
Fixing in advance which axis the judgment rests on, before the numbers arrive and everyone argues about which one counts.
"Don't fill in all five. For this feature we only watch adoption and task success."
Don't invent metrics for axes that have nothing to do with the work.
"You have the goal but the signal is blank. What actually looks different in the product if this works?"
A note that someone jumped straight from goal to metric. Skip the middle step and the easiest number to count takes the metric slot.
Pagedeck puts one of these tables into every feature brief. Mia writes the axes and goals, then fills in the signals and metrics with Theo, because that's where it becomes clear whether anything can actually be counted. Measuring the time from opening a link to opening the document needs events logged at both moments, and if they aren't there, adding them turns into an engineering item. Have that conversation after the build and you find out two weeks post-launch that nothing was measurable.
What people get wrong
The most common error is reading HEART as a list of metrics. Five named letters look ready to lift straight into a document. The axis names are not metrics; they're slots where metrics go. "Let's measure engagement" is still a blank, and inside that one axis, counting document edits and counting comments can produce opposite conclusions. Copy the axis names into a brief and stop there, and six months later nobody can explain what the numbers meant.
Expecting the framework to say what a good value is comes up almost as often. Five defined slots feel like they should arrive with passing grades attached, but this framework only decides what to measure, never what counts as enough. The bar gets built from three things: last quarter's value measured the same way, the gap between different groups of users, and the link between the value and actual behavior. Import an industry average as a pass mark and you're comparing your number against one whose timing, audience and wording you don't know.
Where to go next
- Satisfaction metrics
the survey metrics that feed this framework, in one place
- Net promoter score
the metric that most often lands on the happiness axis
- User experience
the thing this framework is trying to break apart and measure
Last updated 2026-09-16