# Digital Marketing Attribution: Understanding the User Path

^{1}

^{2}

^{3}

^{*}

## Abstract

**:**

## 1. Introduction

- The user path length: whether the number of touchpoints forming the user path impact the accuracy of the model.
- The recency of information: whether the position of the considered touchpoints in the user path (closer vs. further to the conversion) influence the accuracy of the model.
- The granularity: whether the accuracy of the model is affected by the granularity of the touchpoints. We consider touchpoints mapped into two levels, channels and campaigns. The latter offers higher granularity than the former.
- The aggregation level: whether registering the number of appearances of a given type of touchpoint (e.g., type of channel) in the user path leads to more accurate models than considering just the binary presence of the type of touchpoint.

- Linear regression is the algorithm leading to more accurate attribution models. This is a relevant finding since linear regression produces easily interpretable models, which ease the decision-making process.
- The touchpoints closest to conversion are those with the highest impact in the accuracy of the model and thus are the most important to be considered when building data-driven attribution models.
- At least 12 touchpoints are needed to achieve a high accuracy level in data-driven attribution models.
- Attribution models at campaign level offer higher accuracy than those at channel level. Moreover, since campaign level presents a much richer tagging than channel level, more sophisticated decision can be taken.
- Recording the presence of each type of touchpoint offers more accurate models than collecting the number of appearances of each type of touchpoint.

## 2. Background

#### 2.1. Attribution Models

#### 2.1.1. First Generation (Widely Adopted) Attribution Models

- Last Click: The conversion is attributed exclusively to the last click. This is the model that Google Search Ads 360 uses.
- Last Non-Direct Click: The conversion is attributed exclusively to the last click that is not part of the direct channel (the direct channel refers to the case when the user reaches the website by directly typing the URL in her browser). This is the model that Google Analytics uses.
- Floodlight: The conversion is attributed to the last click in the path. If there is no click, then it is attributed to the last impression in the path. This is the model that Google Campaign Manager uses.

**Linear:**This model evenly distributes the attribution homogeneously among all the touchpoints in the user path.**Position Based:**In this model, 40% of the conversion is attributed to the first and last touchpoint, respectively. The remaining 20% is evenly distributed among the between touchpoints.**Time Decay:**This model assigns to each touchpoint a value proportional to its position in the path such that the closest touchpoints to the conversion receive more value. The advertiser defines the proportionality of the points.

#### 2.1.2. Data-Driven Attribution Models

- A data-driven attribution methodology creates a model based on the input data. Hence, there is a specific attribution model for each set of input data used. In other words, data-driven models offer personalized models for each advertiser and even more for each of the advertising campaigns it activates. Furthermore, with data-driven models, the model will be evolving in time adjusting the data as it comes.
- The most commonly used attribution models are the different variants of the last iteration model. This model uses a single touchpoint per path, discarding any other information available in the converting path. Data-driven models, as well as the most sophisticated first-generation models (e.g., linear model) use the full information available in paths.
- First generation models use exclusively the converting paths (i.e., paths leading to a conversion). Considering that the conversion rate is typically below 1%, first-generation models are discarding more than 99% of the available information. Instead, data-driven models use data in both converting and non-converting paths. The importance of using both converting and non-converting paths can be illustrated by a simple example: Let us assume that we have a dataset with 1000 paths—5 converting and 995 non-converting paths. Out of the five converting paths three of them includes as last interaction a click on a specific advertisement A. However, a click on A appears also as the last interaction in the 995 non-converting paths. A model considering just converting paths would wrongly assign a high value to ad A since it appears in most converting paths. However, if a model considers both converting and non-converting paths, it would conclude that the presence of a click on A as last interaction would most likely lead to a non-converting path and thus would assign it a very low value.

#### 2.2. Attribution Model Granularity (Campaign vs. Channel Level)

- -
**Channels:**define the different online means an advertiser/agency can use to show their ads. The most common channels used in digital marketing are the following ones:**Affiliation:**It refers to the content bought through an affiliation program.**Paid Search:**It refers to the promoted content shown in search engines.**Display Programmatic:**It refers to the content bought through a demand site platform (DSP)**Display Premium:**It refers to the content bought through direct deals with publishers.**Paid Social:**It refers to the promoted content shown in social networks.**Direct:**It refers to users’ accesses the advertiser’s webpage by directly writing the URL in the browser.**Email:**It refers to the content sent to users’ email.**Organic:**It refers to users visits to the advertiser’s webpage coming from a search engine not promoted content.**Metasearch:**It refers to users visits to the advertiser’s webpage coming from a metasearch engine.

- -
**Campaigns:**Campaigns sit in the next granularity level after channels in the marketing strategy plan of an advertiser/agency. Campaigns respond to different configurations depending on the associated channel. For instance, search campaigns are further divided into ad groups, whereas display and social campaigns are divided into placements and adsets, respectively. Campaigns configuration offers valuable information for attribution purposes, including:- Advertiser;
- Business Unit;
- Channel;
- Strategy (Prospecting, Retargeting, Shopping, DSA, Broad, Phase, Exact);
- Program (Marketing Campaign) (Type of content);
- Language;
- Target Country;
- etc.

#### 2.3. The Key Element for Attribution Models: The User Path

## 3. Dataset

#### 3.1. Data Description

**Activity table:**This table includes the conversions recorded by the platform. Each line contains the information associated with a transaction. It offers information about the different type of conversions. We are only interested in transactions.**Clicks table:**This table includes the clicks recorded by the platform. Each row includes the metadata information associated with a click (campaign ID, user ID, time, country, etc.)**Impressions table:**This table presents in each row the information associated with a served impression including all its metadata (campaign, user ID, time, country, etc.).

#### 3.2. Final Dataset

#### 3.3. Data Availability

## 4. Methodology

#### 4.1. User Path Key Characteristics

- -
**Path Length:**This is the number of touchpoints that we consider in each of the user paths to generate our attribution model. For instance, a path length of 5 indicates that we will use user paths including 5 touchpoints. The path length values used for the analyses conducted in this paper are: 1, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60.

- -
**Recency of information:**This determines which touchpoints from the user path we use as input to our algorithm to construct an attribution model. In particular, we consider three cases:**First Events:**We select the first (i.e., least recent) N touchpoints from the user-path, where N is equal to the Path Length characteristic defined above.**Last Events:**We select the last (i.e., most recent) N touchpoints from the user-path.**Random Events:**We select N touchpoints at random from the user-path.

- -
**Granularity:**This characteristic indicates the granularity level of the attribution model. As explained in Section 2.2 we consider two relevant levels for digital marketing stakeholders: channel vs. campaign levels. Our analysis will allow us to compare the performance of attribution models at these two levels and thus discuss whether the industry trend of using just the channel level is correct.- -
**Aggregation:**This characteristic defines the aggregation level considered in the model for each type of touchpoint. We consider two scenarios:**Aggregated:**In this case, the aggregation variable is binary. It only indicates if the type of touchpoint is present in the user-path (1) or it is not present (0).**Disaggregated:**In this case, the aggregation variable is an integer that indicates the number of times a type of touchpoint is present in the user-path.

#### 4.2. Considered Data-Driven Algorithms

**Linear Regression:**it is a linear approach to modelling the relationship between a scalar response (or dependent variable) and one or more explanatory variables (or independent variables).**Naive Bayes:**they are a family of simple “probabilistic classifiers” based on applying Bayes’ theorem with strong (naive) independence assumptions between the features.**Random Forest:**it is an ensemble learning method for classification, regression and other tasks that operates by constructing a multitude of decision trees at training time and outputting the class that is the mode of the classes (classification) or mean prediction (regression) of the individual trees.**Support Vector Machine (SVM):**it is a representation of the examples as points in space, mapped so that the examples of the separate categories are divided by a clear gap that is as wide as possible. New examples are then mapped into that same space and predicted to belong to a category based on which side of the gap they fall.

#### 4.3. Performance Evaluation Methodology

## 5. Results

#### 5.1. Algorithms’ Performance

#### 5.2. Analysis of User-Path Characteristics

**Hypothesis**

**1**

**.**The result is that in general, this is true, but due to an asymptotic behaviour, 12 touchpoint ought to be good enough. This will be discussed in Section 5.2.1.

**Hypothesis**

**2**

**.**We have found out that this is true. This will be discussed in Section 5.2.2.

**Hypothesis**

**3**

**.**We have found out that this is true. This will be discussed in Section 5.2.3.

**Hypothesis**

**4**

**.**Contrarily to the previous cases, the obtained results shown this hypothesis as invalid. This will be discussed in Section 5.2.4.

#### 5.2.1. User Path Length

#### 5.2.2. Recency of Information

#### 5.2.3. Granularity

#### 5.2.4. Aggregation

#### 5.3. Attribution Model Example

## 6. Discussion

#### 6.1. First Generation vs. Data-Driven Attribution Models

#### 6.2. Summary of Best Practices for Data-Driven Attribution Model Design and Configuration

- Attribution models produce very good predictability utilizing user paths with (around) 12 touchpoints. While considering longer user paths marginally increase the accuracy of the model, it incurs in higher computational costs and may jeopardize the statistical robustness of the system due to the lack of data samples, including long paths. Note that for instance in our dataset less than 3% of the data-samples include user-paths including more than 15 touchpoints.
- Models should consider the most recent touchpoints. Hence, if we follow our recommendation and set the considered the maximum user path-length equal 12, we would transform all paths including more than 12 touchpoints into paths of length 12, including the 12 most recent touchpoints.
- Data-driven attribution models perform better at campaign level compared to channel level. This result should encourage the digital marketing stakeholders to revert the current trend in which attribution models are mostly used at channel level. In addition to offer better prediction accuracy, campaign level offers a much richer labelling of touchpoints allowing to take a more refined decision as part of the marketing strategy plan.
- To obtain a better performance, data-driven attribution models should consider as input only the presence/absence of each type of touchpoint in a user-path. Considering the number of appearances (integer variable) instead of the sole presence (binary variable) leads to less accurate models.

#### 6.3. Summary of Technical Contributions

Algorithm 1: Characteristics selection. |

## 7. Conclusions and Future Works

## Author Contributions

## Funding

## Conflicts of Interest

## Appendix A. Correlations and Kolmogorov–Smirnov Tests

**Table A1.**This table shows the correlation and Kolmogorov–Smirnov test for Figure 3.

CASE | LEVEL | AGGREGATION | MODEL 1 | MODEL 2 | CORRELATION | CORRELATION p-Value | Kolmogorov–Smirnov Test | Kolmogorov–Smirnov Test p-Value |
---|---|---|---|---|---|---|---|---|

FirstTouchpoints | Campaign | Aggregated | Linear Regression | Naive Bayes | 0.95905 | 2.15938 × 10${}^{-132}$ | 0.38750 | 1.85406 × 10${}^{-16}$ |

FirstTouchpoints | Campaign | Aggregated | Linear Regression | Random Forest | 0.98117 | 5.52885 × 10${}^{-172}$ | 0.39583 | 3.55634 × 10${}^{-17}$ |

FirstTouchpoints | Campaign | Aggregated | Linear Regression | Support Vectore Machine | 0.99661 | 3.45530 × 10${}^{-260}$ | 0.00416 | 0.98562 |

FirstTouchpoints | Campaign | Aggregated | Naive Bayes | Random Forest | 0.96616 | 4.54059 × 10${}^{-142}$ | 0.14583 | 1.20518 × 10${}^{-2}$ |

FirstTouchpoints | Campaign | Aggregated | Naive Bayes | Support Vectore Machine | 0.96639 | 2.06114 × 10${}^{-142}$ | 0.39583 | 3.55634 × 10${}^{-17}$ |

FirstTouchpoints | Campaign | Aggregated | Random Forest | Support Vectore Machine | 0.98473 | 1.04442 × 10${}^{-182}$ | 0.39166 | 8.16011 × 10${}^{-17}$ |

FirstTouchpoints | Campaign | Dissaggregated | Linear Regression | Naive Bayes | 0.77532 | 2.09664 × 10${}^{-49}$ | 0.74583 | 2.32108 × 10${}^{-65}$ |

FirstTouchpoints | Campaign | Dissaggregated | Linear Regression | Random Forest | 0.97865 | 1.53307 × 10${}^{-165}$ | 0.25416 | 3.21883 × 10${}^{-7}$ |

FirstTouchpoints | Campaign | Dissaggregated | Linear Regression | Support Vectore Machine | 0.98477 | 7.19193 × 10${}^{-183}$ | 0.22083 | 1.53700 × 10${}^{-5}$ |

FirstTouchpoints | Campaign | Dissaggregated | Naive Bayes | Random Forest | 0.81459 | 3.17564 × 10${}^{-58}$ | 0.69166 | 3.62046 × 10${}^{-55}$ |

FirstTouchpoints | Campaign | Dissaggregated | Naive Bayes | Support Vectore Machine | 0.79135 | 8.94877 × 10${}^{-53}$ | 0.69166 | 3.62046 × 10${}^{-55}$ |

FirstTouchpoints | Campaign | Dissaggregated | Random Forest | Support Vectore Machine | 0.97008 | 2.48304 × 10${}^{-148}$ | 0.13333 | 2.79511 × 10${}^{-2}$ |

FirstTouchpoints | Channel | Aggregated | Linear Regression | Naive Bayes | 0.99939 | 0.00000 | 0.00291 | 0.99996 |

FirstTouchpoints | Channel | Aggregated | Linear Regression | Random Forest | 0.99960 | 0.00000 | 0.00416 | 0.98562 |

FirstTouchpoints | Channel | Aggregated | Linear Regression | Support Vectore Machine | 0.99681 | 2.22724 × 10${}^{-263}$ | 0.00708 | 0.58473 |

FirstTouchpoints | Channel | Aggregated | Naive Bayes | Random Forest | 0.99929 | 0.00000 | 0.00541 | 0.87396 |

FirstTouchpoints | Channel | Aggregated | Naive Bayes | Support Vectore Machine | 0.99683 | 1.05113 × 10${}^{-263}$ | 0.00666 | 0.66147 |

FirstTouchpoints | Channel | Aggregated | Random Forest | Support Vectore Machine | 0.99663 | 1.31583 × 10${}^{-260}$ | 0.10000 | 0.18148 |

FirstTouchpoints | Channel | Dissaggregated | Linear Regression | Naive Bayes | 0.16407 | 1.08994 × 10${}^{-2}$ | 0.71250 | 6.11511 × 10${}^{-59}$ |

FirstTouchpoints | Channel | Dissaggregated | Linear Regression | Random Forest | 0.99722 | 1.77211 × 10${}^{-270}$ | 0.12083 | 6.00680 × 10${}^{-2}$ |

FirstTouchpoints | Channel | Dissaggregated | Linear Regression | Support Vectore Machine | 0.97006 | 2.69353 × 10${}^{-148}$ | 0.11666 | 7.62164 × 10${}^{-2}$ |

FirstTouchpoints | Channel | Dissaggregated | Naive Bayes | Random Forest | 0.15513 | 1.61580 × 10${}^{-2}$ | 0.81250 | 7.92155 × 10${}^{-80}$ |

FirstTouchpoints | Channel | Dissaggregated | Naive Bayes | Support Vectore Machine | 0.21287 | 9.04128 × 10${}^{-4}$ | 0.63333 | 1.70191 × 10${}^{-45}$ |

FirstTouchpoints | Channel | Dissaggregated | Random Forest | Support Vectore Machine | 0.96517 | 1.36343 × 10${}^{-140}$ | 0.21666 | 2.39543 × 10${}^{-5}$ |

LastTouchpoints | Campaign | Aggregated | Linear Regression | Naive Bayes | 0.57136 | 3.37384 × 10${}^{-22}$ | 0.82916 | 7.73191 × 10${}^{-84}$ |

LastTouchpoints | Campaign | Aggregated | Linear Regression | Random Forest | 0.95826 | 2.01009 × 10${}^{-131}$ | 0.86250 | 1.99034 × 10${}^{-92}$ |

LastTouchpoints | Campaign | Aggregated | Linear Regression | Support Vectore Machine | 0.99374 | 1.27030 × 10${}^{-228}$ | 0.00958 | 0.22066 |

LastTouchpoints | Campaign | Aggregated | Naive Bayes | Random Forest | 0.56043 | 2.99844 × 10${}^{-21}$ | 0.24166 | 1.46566 × 10${}^{-6}$ |

LastTouchpoints | Campaign | Aggregated | Naive Bayes | Support Vectore Machine | 0.57339 | 2.22731 × 10${}^{-22}$ | 0.82499 | 8.08169 × 10${}^{-83}$ |

LastTouchpoints | Campaign | Aggregated | Random Forest | Support Vectore Machine | 0.95954 | 5.29300 × 10${}^{-133}$ | 0.86250 | 1.99034 × 10${}^{-92}$ |

LastTouchpoints | Campaign | Dissaggregated | Linear Regression | Naive Bayes | −0.86587 | 1.52694 × 10${}^{-73}$ | 0.93750 | 1.78519 × 10${}^{-115}$ |

LastTouchpoints | Campaign | Dissaggregated | Linear Regression | Random Forest | 0.91808 | 1.25788 × 10${}^{-97}$ | 0.82916 | 7.73191 × 10${}^{-84}$ |

LastTouchpoints | Campaign | Dissaggregated | Linear Regression | Support Vectore Machine | 0.87676 | 1.26842 × 10${}^{-77}$ | 0.62916 | 7.49606 × 10${}^{-45}$ |

LastTouchpoints | Campaign | Dissaggregated | Naive Bayes | Random Forest | −0.76205 | 8.06506 × 10${}^{-47}$ | 0.81250 | 7.92155 × 10${}^{-80}$ |

LastTouchpoints | Campaign | Dissaggregated | Naive Bayes | Support Vectore Machine | −0.76334 | 4.60512 × 10${}^{-47}$ | 0.93750 | 1.78519 × 10${}^{-115}$ |

LastTouchpoints | Campaign | Dissaggregated | Random Forest | Support Vectore Machine | 0.86028 | 1.38382 × 10${}^{-71}$ | 0.54166 | 1.22993 × 10${}^{-32}$ |

LastTouchpoints | Channel | Aggregated | Linear Regression | Naive Bayes | 0.99689 | 9.16379 × 10${}^{-265}$ | 0.00749 | 0.51034 |

LastTouchpoints | Channel | Aggregated | Linear Regression | Random Forest | 0.99886 | 1.75984 × 10${}^{-210}$ | 0.19583 | 1.93303 × 10${}^{-4}$ |

LastTouchpoints | Channel | Aggregated | Linear Regression | Support Vectore Machine | 0.99112 | 1.33923 × 10${}^{-210}$ | 0.00374 | 0.99606 |

LastTouchpoints | Channel | Aggregated | Naive Bayes | Random Forest | 0.99651 | 1.04477 × 10${}^{-258}$ | 0.25416 | 3.21883 × 10${}^{-7}$ |

LastTouchpoints | Channel | Aggregated | Naive Bayes | Support Vectore Machine | 0.98865 | 6.09605 × 10${}^{-198}$ | 0.00874 | 0.31764 |

LastTouchpoints | Channel | Aggregated | Random Forest | Support Vectore Machine | 0.99082 | 7.43567 × 10${}^{-209}$ | 0.18333 | 6.09875 × 10${}^{-4}$ |

LastTouchpoints | Channel | Dissaggregated | Linear Regression | Naive Bayes | −0.63605 | 1.29516 × 10${}^{-28}$ | 0.74166 | 1.56860 × 10${}^{-64}$ |

LastTouchpoints | Channel | Dissaggregated | Linear Regression | Random Forest | 0.98942 | 1.49867 × 10${}^{-201}$ | 0.52083 | 4.50694 × 10${}^{-30}$ |

LastTouchpoints | Channel | Dissaggregated | Linear Regression | Support Vectore Machine | 0.70896 | 5.82266 × 10${}^{-38}$ | 0.28333 | 6.85579 × 10${}^{-9}$ |

LastTouchpoints | Channel | Dissaggregated | Naive Bayes | Random Forest | −0.68942 | 3.48277 × 10${}^{-35}$ | 0.79166 | 4.74215 × 10${}^{-75}$ |

LastTouchpoints | Channel | Dissaggregated | Naive Bayes | Support Vectore Machine | −0.37137 | 2.90334 × 10${}^{-9}$ | 0.67083 | 1.44069 × 10${}^{-51}$ |

LastTouchpoints | Channel | Dissaggregated | Random Forest | Support Vectore Machine | 0.68891 | 4.08419 × 10${}^{-35}$ | 0.61250 | 2.46207 × 10${}^{-42}$ |

RandomTouchpoints | Campaign | Aggregated | Linear Regression | Naive Bayes | 0.96053 | 2.94741 × 10${}^{-134}$ | 0.66249 | 3.56615 × 10${}^{-50}$ |

RandomTouchpoints | Campaign | Aggregated | Linear Regression | Random Forest | 0.98788 | 1.37407 × 10${}^{-194}$ | 0.65416 | 8.32078 × 10${}^{-49}$ |

RandomTouchpoints | Campaign | Aggregated | Linear Regression | Support Vectore Machine | 0.99673 | 3.69189 × 10${}^{-262}$ | 0.00833 | 0.37583 |

RandomTouchpoints | Campaign | Aggregated | Naive Bayes | Random Forest | 0.96713 | 1.52240 × 10${}^{-143}$ | 0.12916 | 3.63764 × 10${}^{-2}$ |

RandomTouchpoints | Campaign | Aggregated | Naive Bayes | Support Vectore Machine | 0.96504 | 2.08569 × 10${}^{-140}$ | 0.65000 | 3.93256 × 10${}^{-48}$ |

RandomTouchpoints | Campaign | Aggregated | Random Forest | Support Vectore Machine | 0.98926 | 8.79755 × 10${}^{-201}$ | 0.63333 | 1.70191 × 10${}^{-45}$ |

RandomTouchpoints | Campaign | Dissaggregated | Linear Regression | Naive Bayes | 0.79425 | 2.03930 × 10${}^{-53}$ | 0.87500 | 7.19807 × 10${}^{-96}$ |

RandomTouchpoints | Campaign | Dissaggregated | Linear Regression | Random Forest | 0.98464 | 2.11034 × 10${}^{-182}$ | 0.53333 | 1.35073 × 10${}^{-31}$ |

RandomTouchpoints | Campaign | Dissaggregated | Linear Regression | Support Vectore Machine | 0.98519 | 2.66800 × 10${}^{-184}$ | 0.46250 | 1.53368 × 10${}^{-23}$ |

RandomTouchpoints | Campaign | Dissaggregated | Naive Bayes | Random Forest | 0.81255 | 1.02702 × 10${}^{-57}$ | 0.82916 | 7.73191 × 10${}^{-84}$ |

RandomTouchpoints | Campaign | Dissaggregated | Naive Bayes | Support Vectore Machine | 0.78285 | 5.94595 × 10${}^{-51}$ | 0.86250 | 1.99034 × 10${}^{-92}$ |

RandomTouchpoints | Campaign | Dissaggregated | Random Forest | Support Vectore Machine | 0.97400 | 1.78534 × 10${}^{-155}$ | 0.20000 | 1.29540 × 10${}^{-4}$ |

RandomTouchpoints | Channel | Aggregated | Linear Regression | Naive Bayes | 0.99977 | 0.00000 | 0.00291 | 0.99996 |

RandomTouchpoints | Channel | Aggregated | Linear Regression | Random Forest | 0.99983 | 0.00000 | 0.00541 | 0.87396 |

RandomTouchpoints | Channel | Aggregated | Linear Regression | Support Vectore Machine | 0.99744 | 7.23197 × 10${}^{-275}$ | 0.00416 | 0.98562 |

RandomTouchpoints | Channel | Aggregated | Naive Bayes | Random Forest | 0.99974 | 0.00000 | 0.00583 | 0.80993 |

RandomTouchpoints | Channel | Aggregated | Naive Bayes | Support Vectore Machine | 0.99739 | 1.09554 × 10${}^{-273}$ | 0.00541 | 0.87396 |

RandomTouchpoints | Channel | Aggregated | Random Forest | Support Vectore Machine | 0.99739 | 7.38090 × 10${}^{-274}$ | 0.00791 | 0.44028 |

RandomTouchpoints | Channel | Dissaggregated | Linear Regression | Naive Bayes | 0.32975 | 1.70530 × 10${}^{-7}$ | 0.93750 | 1.78519 × 10${}^{-115}$ |

RandomTouchpoints | Channel | Dissaggregated | Linear Regression | Random Forest | 0.99939 | 0.00000 | 0.20833 | 5.66818 × 10${}^{-5}$ |

RandomTouchpoints | Channel | Dissaggregated | Linear Regression | Support Vectore Machine | 0.96069 | 1.85341 × 10${}^{-134}$ | 0.20833 | 5.66818 × 10${}^{-5}$ |

RandomTouchpoints | Channel | Dissaggregated | Naive Bayes | Random Forest | 0.32689 | 2.20947 × 10${}^{-7}$ | 0.93750 | 1.78519 × 10${}^{-115}$ |

RandomTouchpoints | Channel | Dissaggregated | Naive Bayes | Support Vectore Machine | 0.36247 | 7.29166 × 10${}^{-9}$ | 0.93333 | 5.18820 × 10${}^{-114}$ |

RandomTouchpoints | Channel | Dissaggregated | Random Forest | Support Vectore Machine | 0.95964 | 3.96644 × 10${}^{-133}$ | 0.32083 | 2.53287 × 10${}^{-11}$ |

**Table A2.**This table shows the correlation and Kolmogorov–Smirnov test for Figure 4.

CASE | LEVEL | AGGREGATION | CORRELATION | CORRELATION p-Value | Kolmogorov–Smirnov Test | Kolmogorov–Smirnov Test p-Value |
---|---|---|---|---|---|---|

FirstTouchpoints | Campaign | Aggregated | 0.99063 | 7.68134 × 10${}^{-208}$ | 0.44583 | 7.65377 × 10${}^{-22}$ |

FirstTouchpoints | Campaign | Dissaggregated | 0.99682 | 1.45866 × 10${}^{-263}$ | 0.32500 | 1.29829 × 10${}^{-11}$ |

FirstTouchpoints | Channel | Aggregated | 0.99930 | 0.00000 | 5.83333 × 10${}^{-2}$ | 0.80993 |

FirstTouchpoints | Channel | Dissaggregated | 0.99620 | 2.17642 × 10${}^{-254}$ | 0.18333 | 6.09875 × 10${}^{-4}$ |

LastTouchpoints | Campaign | Aggregated | 0.95559 | 2.78564 × 10${}^{-128}$ | 0.90416 | 1.85789 × 10${}^{-104}$ |

LastTouchpoints | Campaign | Dissaggregated | 0.97669 | 4.71308 × 10${}^{-161}$ | 0.87083 | 1.04488 × 10${}^{-94}$ |

LastTouchpoints | Channel | Aggregated | 0.99447 | 4.90792 × 10${}^{-235}$ | 0.33333 | 3.31722 × 10${}^{-12}$ |

LastTouchpoints | Channel | Dissaggregated | 0.98081 | 5.07700 × 10${}^{-171}$ | 0.65416 | 8.32078 × 10${}^{-49}$ |

RandomTouchpoints | Campaign | Aggregated | 0.99478 | 5.44999 × 10${}^{-238}$ | 0.69583 | 6.58000 × 10${}^{-56}$ |

RandomTouchpoints | Campaign | Dissaggregated | 0.99608 | 1.07000 × 10${}^{-252}$ | 0.60833 | 1.00999 × 10${}^{-41}$ |

RandomTouchpoints | Channel | Aggregated | 0.99954 | 0.00000 | 0.10000 | 0.18148 |

RandomTouchpoints | Channel | Dissaggregated | 0.99861 | 1.85000 × 10${}^{-306}$ | 0.35000 | 1.94000 × 10${}^{-13}$ |

**Table A3.**This table shows the correlation and Kolmogorov–Smirnov test for Figure 5.

LEVEL | AGGREGATION | CASE 1 | CASE 2 | CORRELATION | CORRELATION p-Value | Kolmogorov–Smirnov Test | Kolmogorov–Smirnov Test p-Value |
---|---|---|---|---|---|---|---|

Campaign | Aggregated | Last Touchpoints | Random Touchpoints | 0.97901 | 2.02613 × 10${}^{-166}$ | 0.45000 | 2.92515 × 10${}^{-22}$ |

Campaign | Aggregated | Last Touchpoints | First Touchpoints | 0.82339 | 1.71458 × 10${}^{-60}$ | 0.76249 | 9.21018 × 10${}^{-69}$ |

Campaign | Aggregated | Random Touchpoints | First Touchpoints | 0.84854 | 9.80121 × 10${}^{-68}$ | 0.53333 | 1.35073 × 10${}^{-31}$ |

Campaign | Dissaggregated | Last Touchpoints | Random Touchpoints | 0.97053 | 4.19641 × 10${}^{-149}$ | 0.61250 | 2.46207 × 10${}^{-42}$ |

Campaign | Dissaggregated | Last Touchpoints | First Touchpoints | 0.78384 | 3.67931 × 10${}^{-51}$ | 0.81250 | 7.92155 × 10${}^{-80}$ |

Campaign | Dissaggregated | Random Touchpoints | First Touchpoints | 0.86759 | 3.66627 × 10${}^{-74}$ | 0.55000 | 1.06852 × 10${}^{-33}$ |

Channel | Aggregated | Last Touchpoints | Random Touchpoints | 0.95169 | 4.92301 × 10${}^{-124}$ | 0.77500 | 2.10634 × 10${}^{-71}$ |

Channel | Aggregated | Last Touchpoints | First Touchpoints | 0.62657 | 1.40472 × 10${}^{-27}$ | 0.90833 | 9.33002 × 10${}^{-106}$ |

Channel | Aggregated | Random Touchpoints | First Touchpoints | 0.80527 | 5.96048 × 10${}^{-56}$ | 0.60000 | 1.65172 × 10${}^{-40}$ |

Channel | Dissaggregated | Last Touchpoints | Random Touchpoints | 0.95344 | 6.78221 × 10${}^{-126}$ | 0.77916 | 2.66376 × 10${}^{-72}$ |

Channel | Dissaggregated | Last Touchpoints | First Touchpoints | 0.64488 | 1.30494 × 10${}^{-29}$ | 0.90000 | 3.53773 × 10${}^{-103}$ |

Channel | Dissaggregated | Random Touchpoints | First Touchpoints | 0.79840 | 2.37511 × 10${}^{-54}$ | 0.59583 | 6.53878 × 10${}^{-40}$ |

**Table A4.**This table shows the correlation and Kolmogorov–Smirnov test for Figure 6.

AGGREGATION | CORRELATION | CORRELATION p-Value | Kolmogorov–Smirnov Test | Kolmogorov–Smirnov Test p-Value |
---|---|---|---|---|

Dissaggregated | 0.97326 | 4.77910 × 10${}^{-154}$ | 1.00000 | 1.76010 × 10${}^{-143}$ |

Aggregated | 0.96226 | 1.59434 × 10${}^{-136}$ | 1.00000 | 1.76010 × 10${}^{-143}$ |

**Table A5.**This table shows the correlation and Kolmogorov–Smirnov test for Figure 7.

LEVEL | CORRELATION | CORRELATION p-Value | Kolmogorov–Smirnov Test | Kolmogorov–Smirnov Test p-Value |
---|---|---|---|---|

Campaign | 0.99498 | 4.88854 × 10${}^{-240}$ | 0.28333 | 6.85579 × 10${}^{-9}$ |

Channel | 0.98719 | 9.36360 × 10${}^{-192}$ | 0.12500 | 4.69426 × 10${}^{-2}$ |

## References

- Shapley, L.S. A value for n-person games. Contrib. Theory Games
**1953**, 2, 307–317. [Google Scholar] - Berman, R. Beyond the last touch: Attribution in online advertising. Mark. Sci.
**2018**, 37, 771–792. [Google Scholar] [CrossRef] [Green Version] - Geyik, S.C.; Saxena, A.; Dasdan, A. Multi-Touch Attribution Based Budget Allocation in Online Advertising. arXiv
**2015**, arXiv:1502.06657. [Google Scholar] - Ren, K.; Fang, Y.; Zhang, W.; Liu, S.; Li, J.; Zhang, Y.; Yu, Y.; Wang, J. Learning multi-touch conversion attribution with dual-attention mechanisms for online advertising. In Proceedings of the 27th ACM International Conference on Information and Knowledge Management, Torino, Italy, 22–26 October 2018; pp. 1433–1442. [Google Scholar]
- Kakalejčík, L.; Bucko, J.; Resende, P.A.; Ferencova, M. Multichannel Marketing Attribution Using Markov Chains. J. Appl. Manag. Investig.
**2018**, 7, 49–60. [Google Scholar] - Anderl, E.; Becker, I.; Von Wangenheim, F.; Schumann, J.H. Mapping the customer journey: Lessons learned from graph-based online attribution modeling. Int. J. Res. Mark.
**2016**, 33, 457–474. [Google Scholar] [CrossRef] - Ji, W.; Wang, X. Additional multi-touch attribution for online advertising. In Proceedings of the Thirty-First AAAI Conference on Artificial Intelligence, San Francisco, CA, USA, 4–9 February 2017. [Google Scholar]
- Zhang, Y.; Wei, Y.; Ren, J. Multi-touch attribution in online advertising with survival theory. In Proceedings of the 2014 IEEE International Conference on Data Mining, Shenzhen, China, 14–17 December 2014; pp. 687–696. [Google Scholar]
- Shao, X.; Li, L. Data-driven multi-touch attribution models. In Proceedings of the 17th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, San Diego, CA, USA, 21–24 August 2011; pp. 258–264. [Google Scholar]
- Sinha, R.; Saini, S.; Anadhavelu, N. Estimating the incremental effects of interactions for marketing attribution. In Proceedings of the 2014 IEEE International Conference on Behavioral, Economic, and Socio-Cultural Computing (BESC2014), Shanghai, China, 30 October–1 November 2014; pp. 1–6. [Google Scholar]
- Ghose, A.; Todri, V. Towards a digital attribution model: Measuring the impact of display advertising on online consumer behavior. SSRN
**2015**. [Google Scholar] [CrossRef] [Green Version] - Kireyev, P.; Pauwels, K.; Gupta, S. Do display ads influence search? Attribution and dynamics in online advertising. Int. J. Res. Mark.
**2016**, 33, 475–490. [Google Scholar] [CrossRef] - About Floodlight—Campaign Manager Help. 2019. Available online: https://support.google.com/dcm/answer/2823388?hl=en (accessed on 7 October 2019).
- Data Transfer v2.0|Campaign Manager|Google Developers. Available online: https://developers.google.com/doubleclick-advertisers/dtv2/overview (accessed on 20 July 2017).
- Data Transfer v2.0: File Format|Campaign Manager|Google Developers. 2019. Available online: https://developers.google.com/doubleclick-advertisers/dtv2/reference/file-format (accessed on 7 October 2019).
- DoubleClick for Publishers Help. Available online: https://support.google.com/dfp_premium/table/7401123 (accessed on 17 August 2017).
- Data Transfer v2.0: Match Tables|Campaign Manager|Google Developers. Available online: https://developers.google.com/doubleclick-advertisers/dtv2/reference/match-tables (accessed on 15 November 2017).
- Important Changes to Data Transfer—Campaign Manager Help. 2019. Available online: https://support.google.com/dcm/answer/9006418 (accessed on 7 October 2019).
- Xu, Y.; Goodacre, R. On Splitting Training and Validation Set: A Comparative Study of Cross-Validation, Bootstrap and Systematic Sampling for Estimating the Generalization Performance of Supervised Learning. J. Anal. Test.
**2018**, 2, 249–262. [Google Scholar] [CrossRef] [PubMed] [Green Version] - Precision and Recall—Wikipedia. 2019. Available online: https://en.wikipedia.org/wiki/Precision_and_recall (accessed on 7 November 2019).
- Chandler-Pepelnjak, J.; Song, Y.B. Optimal Frequency: The iMpact of Frequency on Conversion Rates. 2009. Available online: https://advertising.microsoft.com/wwdocs/user/enus/researchlibrary/researchreport/OptimalFrequency.pdf (accessed on 25 August 2016).
- Google Cloud Platform Pricing Calculator. Available online: https://cloud.google.com/products/calculator/#id=58aba1c2-cccb-4b43-a27a-c34ae852e9a1 (accessed on 21 October 2020).

**Figure 1.**Touchpoint distribution based on the position for all of the first-generation models. Where on the left is the first touchpoint in the path and the rightmost bar is the last touchpoint.

**Figure 4.**Area under the curve for random forest and linear regression in all the use cases. Preferably see it in color.

**Figure 5.**Comparison of the accuracy in the linear model for each of the recencies of information. Preferably see it in color.

**Figure 6.**Comparison of the accuracy in the linear model for the campaign granularity against the channel granularity. On the left side we have the aggregated frequency and on the right the disaggregated frequency. Preferably see it in color.

**Figure 7.**Comparison of the accuracy in the linear model for aggregated frequency against disaggregated frequency. On the left side we have the campaign granularity and on the right the channel granularity. Preferably see it in color.

Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |

© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Romero Leguina, J.; Cuevas Rumín, Á.; Cuevas Rumín, R.
Digital Marketing Attribution: Understanding the User Path. *Electronics* **2020**, *9*, 1822.
https://doi.org/10.3390/electronics9111822

**AMA Style**

Romero Leguina J, Cuevas Rumín Á, Cuevas Rumín R.
Digital Marketing Attribution: Understanding the User Path. *Electronics*. 2020; 9(11):1822.
https://doi.org/10.3390/electronics9111822

**Chicago/Turabian Style**

Romero Leguina, Jesús, Ángel Cuevas Rumín, and Rubén Cuevas Rumín.
2020. "Digital Marketing Attribution: Understanding the User Path" *Electronics* 9, no. 11: 1822.
https://doi.org/10.3390/electronics9111822