Unified Attribution Model
Unified Attribution Model: connecting aggregated signals and customer journeys

Marketing attribution has become harder than it used to be.
A customer may see an impression on one platform, click an ad on another, return later through search, receive an email, and finally convert from a direct visit. At the same time, many important signals never appear inside a clean user journey. Some are available only as daily or weekly totals. Some are hidden behind privacy restrictions. Others come from offline, marketplace, or platform-level reports.
The result is a familiar problem: companies have many signals, but no single dataset tells the whole story.
The Unified Attribution Model (UAM) was designed for this environment. It does not assume that all channels are perfectly tracked at user level. Instead, it combines two complementary views:
- Aggregated channel signals, which describe how marketing activity changes over time.
- Customer journeys, which describe how users move across channels before converting.
The purpose is not to create a black-box answer. The purpose is to build a more balanced attribution view: broader than pure journey attribution, and more journey-aware than a model based only on aggregated data.
The attribution gap
Most attribution methods start from one main source of evidence.
Aggregated data
Aggregated data is usually available as time series:
- conversions by day or week;
- revenue by day or week;
- impressions by channel;
- clicks by channel;
- searches, visits, sessions, or other demand signals;
- email, marketplace, offline, or platform-reported activity.
This view is useful because it is practical. It can include channels that are difficult to track at user level and it is often more compatible with privacy constraints.
But it has a limitation: it sees the market from above. It can detect that a signal moves with the business outcome, but it does not directly show how channels interact inside real customer paths.
Customer journeys
Journey data tells a different story.
A path may look like this:
facebook_ads > google_ads > direct > conversion
This view is valuable because it shows sequence, assistance, and position. A channel may introduce users, support consideration, or appear close to conversion.
But journey data is rarely complete. It may cover only some channels, some devices, some browsers, or some users. Platform silos and privacy restrictions can leave important parts of the path invisible.
Why a unified view matters
In many businesses, the real measurement situation looks like this:
| Data source | Typical availability |
|---|---|
| Aggregated channel data | Available for most channels |
| Customer journeys | Available only for some channels |
| Offline or marketplace activity | Aggregated only |
| Direct or organic demand signals | Partial or aggregated |
| Platform-reported activity | Often siloed |
This is where UAM becomes useful.
It does not force a choice between aggregated attribution and journey attribution. It uses both, while respecting the fact that each one is incomplete in a different way.
What UAM does
UAM works in two conceptual layers.
1. Build an aggregated baseline
The first layer estimates a baseline contribution from aggregated signals.
This baseline starts from a simple question:
When channel signals change over time, how much evidence do they provide about the business outcome?
The target can be conversions, revenue, leads, subscriptions, or another measurable result.
The input signals can be very different from each other:
- impressions;
- clicks;
- searches;
- visits;
- sessions;
- email activity;
- marketplace activity;
- offline indicators;
- custom business signals.
A channel can also be described by more than one signal. For example, paid search may have impressions and clicks; direct demand may have direct visits or branded searches; email may have sends, opens, and clicks.
UAM maps these signals back to final channels, so the output remains easy to read at channel level.
The internal logic is intentionally adaptive: different model families can be used to score aggregated signals, but the article-level idea is simple. The model looks for signals that are consistently informative, without requiring every channel to be measured in the same way.
2. Refine the baseline with customer journeys
When journey data is available, UAM adds a second layer.
This layer studies how channels behave inside observed paths. It considers whether a channel often appears in successful journeys, whether it tends to assist other channels, and whether it plays a structural role before conversion.
The journey evidence does not replace the aggregated baseline. It refines it for the channels that are actually visible in paths.
This creates a practical compromise:
- channels with aggregated data and journey data are informed by both sources;
- channels with aggregated data only can still receive attribution;
- the final result remains comparable across channels.
A useful way to think about it
Aggregated data and journey data answer different questions.
An aggregated model asks:
Which signals help explain movements in the target over time?
A journey model asks:
Which channels appear to matter inside observed customer paths?
UAM connects these two answers.
It starts from the broader market-level evidence and then lets the journey structure adjust the view where journey information exists. This is especially important when some channels are visible in paths and others are not.
For example:
| Channel | Aggregated data | Customer journeys |
|---|---|---|
| google_ads | Yes | Yes |
| facebook_ads | Yes | Yes |
| Yes | Yes | |
| marketplace | Yes | No |
| offline_media | Yes | No |
| direct | Yes | Partial |
A pure journey-based method may underrepresent marketplace or offline activity because those channels do not appear in paths. A pure aggregated method may ignore the useful structure of the observed journeys.
UAM is designed to avoid both extremes.
What happens when journeys are missing?
UAM can still work when no customer journeys are available.
In that case, the result is based on the aggregated attribution layer only. This is often a practical starting point for companies that already have channel reports but do not yet have reliable journey tracking.
As data maturity improves, journey information can be added later.
A typical adoption path is:
- Start with aggregated channel signals.
- Produce a first attribution baseline.
- Add customer journeys where available.
- Compare the baseline with the journey-adjusted result.
- Inspect which channels are affected by the journey layer.
This makes UAM useful not only as a model, but also as a measurement framework that can evolve with the company.
What data is needed?
UAM works with two main datasets.
Aggregated channel data
This dataset usually has one row per time period.
Example:
| date | conversions | google_clicks | google_impressions | facebook_impressions | email_clicks | direct_searches |
|---|---|---|---|---|---|---|
| 2024-01-01 | 120 | 340 | 12000 | 18000 | 210 | 900 |
| 2024-01-02 | 135 | 360 | 12600 | 17500 | 230 | 950 |
| 2024-01-03 | 128 | 330 | 11900 | 18200 | 220 | 910 |
Each signal is mapped to:
- the input column;
- the final channel;
- the type of measure.
Example:
| Signal | Final channel | Measure type |
|---|---|---|
| google_clicks | google_ads | clicks |
| google_impressions | google_ads | impressions |
| facebook_impressions | facebook_ads | impressions |
| email_clicks | clicks | |
| direct_searches | direct | searches |
This mapping is important because it lets the model read several signals while still producing attribution at the channel level.
Customer journey data
When available, journey data describes sequences before conversion.
Example:
| id_path | timestamp | channel |
|---|---|---|
| 1 | 2024-01-01 10:12:00 | facebook_ads |
| 1 | 2024-01-01 12:31:00 | google_ads |
| 1 | 2024-01-01 12:45:00 | conversion |
| 2 | 2024-01-02 09:22:00 | |
| 2 | 2024-01-02 11:10:00 | direct |
| 2 | 2024-01-02 11:18:00 | conversion |
The journey layer uses this structure to understand how channels interact before conversion.
Example: one company, two partial truths
Imagine a company has these channels:
google_adsfacebook_adsemaildirectmarketplaceoffline_media
Aggregated data is available for all of them. Journey data is available only for google_ads, facebook_ads, email, and direct.
UAM starts with the aggregated signals, so every channel can enter the attribution baseline.
Then it reads the customer paths, but only for the channels that appear in them.
Finally, it combines the two views. The result is not simply “last click”, not only a media-mix estimate, and not a journey-only model. It is a channel-level attribution view that uses the strongest available evidence for each part of the measurement problem.
Why this approach is useful
It works with imperfect data
UAM does not require a perfect attribution dataset. It is designed for companies where different channels are measured in different ways.
It keeps invisible channels in the analysis
Channels that do not appear in user-level journeys can still be represented through aggregated signals.
It uses journey structure when available
When paths exist, the model can use them to refine the attribution of visible channels.
It supports mixed signals
The same channel can be described by impressions, clicks, searches, visits, or other signals.
It creates a bridge between MMM and MTA
UAM sits between media-mix thinking and multi-touch attribution. It uses aggregated signals to cover the full marketing system and journey data to add behavioral structure.
UAM compared with traditional approaches
| Approach | Main data source | Strength | Limitation |
|---|---|---|---|
| Traditional MMM | Aggregated time series | Works without user-level data | Often requires longer histories and careful specification |
| MTA | Customer journeys | Captures path structure | Requires reliable journey tracking |
| UAM | Aggregated signals + optional journeys | Combines broader coverage with path structure | Requires clear signal-to-channel mapping |
The key difference is that UAM does not ask the analyst to choose one source of truth. It treats attribution as an evidence-combination problem.
When to consider UAM
UAM is a good fit when:
- you have aggregated channel metrics over time;
- journeys are available only for some channels;
- important channels are missing from user-level paths;
- you want to compare a baseline attribution with a journey-adjusted result;
- you operate under privacy or tracking constraints;
- you want a practical bridge between MMM and MTA.
It is especially useful for teams that know their tracking is incomplete but still need a disciplined way to use the data they have.
Conclusion
The Unified Attribution Model combines aggregated channel signals with optional customer journeys.
The aggregated layer builds a broad baseline from time-series evidence. The journey layer refines that baseline using the structure of observed paths.
The final result is an attribution view designed for modern measurement conditions: fragmented data, partial journeys, privacy constraints, and multiple signal types.
UAM does not claim that one dataset contains the full truth. It is built around a more realistic idea: every source of evidence sees part of the system, and attribution becomes stronger when those partial views are connected carefully.