# Old vs New Touchpoint Setup

## Old vs New Touchpoint Setup

When migrating to the new Touchpoints system, you may notice differences in how attribution is calculated across reports. This guide explains *what changed*, *why it changed*, and *how to explain the differences* to teammates when questions come up.

The two primary differences are:

1. **How Website Touchpoints are counted**
2. **How Touchpoint Types are used in attribution**

***

### Website Touchpoints

#### How Website Touchpoints Worked Previously

Historically, website touchpoints were centered around the **Action Type: `Start-Session`**.

You could identify these touchpoints by navigating to one of the core UTM-based properties (e.g. `UTM Source`, `UTM Medium`, `UTM Campaign`). These properties were populated at the session level and typically looked like this:

<figure><img src="/files/kcjbvgL1RGwQmp77pCJ3" alt=""><figcaption></figcaption></figure>

While simple, this approach introduced several limitations.

#### Limitations of the Old Model

**Channels and Assets Were Disconnected**

Because **Website Page** was built on the `enter-page` action—but attribution relied on `start-session`—it was impossible to create reports that connected **Assets + Channels**.

For example, answering the question:

> *“Which assets and channels drove MQLs this quarter?”*

was not possible in a single report using the old setup.

**All Sessions Were Weighted Equally**

A session with a single page view was credited the same as a session with 15 page views. This made it difficult to accurately reflect true engagement.

#### How Website Touchpoints Work Now

In the new Touchpoints system, **each individual `enter-page` action is attributed as its own touchpoint**.

This means:

* Every meaningful page entry is counted
* Asset and channel data stay connected
* Engagement depth is better represented

This is now the default behavior of the Touchpoints builder.

> :information\_source:  **Important**\
> Because website touchpoints are now based on `enter-page` instead of `start-session`, attribution reports created with the old Channel model will **not match 1:1** with reports built using the new Touchpoints system.
>
> While the difference is subtle, it *will* impact reporting and should be considered when referencing existing reports.

***

### Attribution modelling

The second major change is how attribution scope is determined behind the scenes.

#### How Attribution Worked Previously

In the old model, **only the properties explicitly included in a report** were used to calculate attribution.

**Example**

Imagine a simple MQL report attributed to:

* Channel
* Campaign

Attribution was calculated **only within the scope of those two properties**.

<figure><img src="/files/IMpF2kC77ZKqIWfm6J0v" alt=""><figcaption></figcaption></figure>

This approach was straightforward—but it had an important edge case.

#### The Problem

If you removed **Channel** and attributed **only to Campaign**, attribution scope was reduced to Campaign alone:

<figure><img src="/files/6gj97MLwCTsxIKilqh7N" alt=""><figcaption></figcaption></figure>

**Why This Was an Issue**

Consider the following scenario:

* **1 MQL**
* **4 touchpoints**:
  * Event
  * Organic Search
  * Organic Social
  * Paid Search – Google

**With Channel + Campaign (Linear Attribution)**

Each touchpoint receives **25% of the credit**, which is expected:

<figure><img src="/files/7ZeIfhhUGBW6tQMGWTID" alt=""><figcaption></figcaption></figure>

**With Campaign Only (Linear Attribution)**

Organic touchpoints do not have associated campaigns. As a result:

* Organic Search and Organic Social are excluded
* Paid Search – Google and Events each receive **50% of the credit**

<figure><img src="/files/gtPSGXu1izV2UhR9iFvj" alt=""><figcaption></figcaption></figure>

This led to **over-attribution** toward touchpoints that happened to include Campaign data.

This was an easy report to configure—and an easy way to produce misleading results.

#### How Attribution Works Now

In the new Touchpoints system, **Touchpoint Types always define attribution scope**.

As long as a Touchpoint Type is:

* Defined in Touchpoints
* Enabled for attribution

It will be included in attribution **regardless of which properties appear in the report**.

<figure><img src="/files/mVQsn35KmKcghNRCGio2" alt=""><figcaption></figcaption></figure>

#### Result

Revisiting the same example:

* Event
* Organic Search
* Organic Social
* Paid Search – Google

Even if your report only includes **Campaign**, attribution is still calculated across **all four touchpoint types**, assuming they are enabled.

<figure><img src="/files/yILPxFgIqIXQexU4dMyR" alt=""><figcaption></figcaption></figure>

This makes it impossible to accidentally exclude valid touchpoints and ensures attribution remains consistent, accurate, and intentional.

***

### Summary

| Area                | Old Behavior                    | New Behavior                     |
| ------------------- | ------------------------------- | -------------------------------- |
| Website Touchpoints | Session-based (`start-session`) | Page-entry-based (`enter-page`)  |
| Attribution Scope   | Limited to selected properties  | Always based on Touchpoint Types |
| Reporting Risk      | Easy to misconfigure            | Guardrails by default            |

The new Touchpoints system is designed to produce **more accurate attribution**, **better asset-level insight**, and **safer reporting defaults**—even when reports are configured incorrectly.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.hockeystack.com/marketing-intelligence/touchpoints/old-vs-new-touchpoint-setup.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
