MTA analyses the individual touchpoints that a customer interacts with along their journey to conversion, assigning value to each touchpoint to understand which contributed most to a specific conversion. Specifically, MTA relies heavily on user-level data from digital sources (e.g., clicks, page views, ad impressions, social media interactions), making it ideal for tracking online campaigns. When it comes to determining the best attribution model for your business, it’s crucial to consider all touchpoints, including both marketing and sales interactions. Notably, a comprehensive attribution model that includes sales touchpoints helps in measuring the true impact of marketing touchpoints relative to other interactions throughout the customer journey. As a result, this approach provides a more accurate understanding of how marketing contributes to the overall sales process, ensuring that credit is appropriately assigned across various activities.
What Data is Needed for Attribution Modelling?
To effectively build an effective attribution model, it’s essential to gather the right data that represents the complete customer journey. The process involves capturing interactions between your brand and customers, even if certain interactions do not directly lead to a conversion. Below, I’ll outline the critical data needed for attribution modelling and suggest a way to structure it for analysis:
- User Journey data
A good way to organise these data points is to create a User Journey Table. This table includes all touchpoints a customer comes across in their lifetime, whether or not they responded to them. Below is a suggested structure of the table, sorted by customer_id
and timestamp
in ascending order:
Customer ID | Touchpoint | Type | Timestamp | Responded | Converted |
---|---|---|---|---|---|
1 | Google Ad | Marketing | 2023-10-01 10:00:00 | Yes | No |
1 | Marketing | 2023-10-05 09:00:00 | Yes | No | |
1 | Marketing | 2023-10-06 14:30:00 | Yes | No | |
1 | Website Visit | Marketing | 2023-10-07 12:00:00 | Yes | No |
1 | Webinar | Marketing | 2023-10-10 14:00:00 | Yes | No |
1 | Sales Follow-up Call | Sales | 2023-10-12 15:00:00 | Yes | No |
2 | Facebook Ad | Marketing | 2023-10-02 08:00:00 | Yes | Yes |
2 | Marketing | 2023-10-04 13:00:00 | Yes | Yes | |
2 | Website Visit | Marketing | 2023-10-05 09:15:00 | Yes | Yes |
2 | Linkedin Ad | Marketing | 2023-10-06 14:30:00 | No | Yes |
2 | Website Visit | Marketing | 2023-10-10 17:00:00 | Yes | Yes |
2 | Website Visit | Marketing | 2023-10-10 17:05:00 | Yes | Yes |
2 | Website Visit | Marketing | 2023-10-10 17:20:00 | Yes | Yes |
3 | Organic Search | Marketing | 2023-10-03 11:30:00 | Yes | Yes |
3 | Sales Follow-Up Email | Sales | 2023-10-08 16:00:00 | No | Yes |
3 | Website Visit | Marketing | 2023-10-10 09:30:00 | Yes | Yes |
3 | Linkedin Ads | Marketing | 2023-10-12 12:00:00 | No | Yes |
4 | Google Ad | Marketing | 2023-10-05 10:00:00 | Yes | No |
4 | Sales Call | Sales | 2023-10-09 10:00:00 | No | No |
4 | Website Visit | Marketing | 2023-10-12 17:00:00 | Yes | No |
5 | Newsletter | Marketing | 2023-10-01 09:00:00 | Yes | Yes |
5 | Webinar | Marketing | 2023-10-05 15:00:00 | Yes | Yes |
5 | Sales Follow-up Call | Sales | 2023-10-07 10:30:00 | Yes | Yes |
5 | Newsletter | Marketing | 2023-11-01 12:00:00 | Yes | Yes |
Key Data Points for Attribution Modelling
- Customer ID:
- A unique identifier for each customer. This ensures that all interactions from a single customer can be linked, enabling us to analyze their journey across different touchpoints.
- Touchpoint:
- This represents each interaction between the customer and the brand. Examples include “Google Ad,” “Email,” “Sales Call,” “Website Visit,” or “In-store Visit.”
- Type:
- The type of touchpoint, which helps categorize interactions. Typical categories include:
- Marketing: Digital ads, social media, emails, webinars, content marketing, etc.
- Sales: Sales calls, emails from sales reps, in-person meetings, etc.
- Other: Customer support interactions, website visits that don’t fit into the above, or third-party referrals.
- The type of touchpoint, which helps categorize interactions. Typical categories include:
- Timestamp:
- The date and time when the interaction occurred. Importantly, this helps in analyzing the sequence of touchpoints and determining their proximity to the conversion event.
- Responded:
- Indicates whether the customer engaged with the touchpoint. For instance, if they clicked on an email, attended a webinar, or answered a sales call. Values can be Yes or No.
- Converted:
- Indicates whether the customer converted (made a purchase, filled out a form, etc.) after the series of interactions. This column helps in filtering out only the journeys that lead to a conversion, focusing on touchpoints that had a tangible impact on the outcome.
2. Filtering Converted Journeys for Attribution Model
Once the user journey data is captured in a structured format, the next step is to filter the data for attribution analysis. For modelling purposes, we are typically interested in:
- The responded touchpoints customers interacted with during their journey.
Ultimately, this filtered data will allow us to focus only on touchpoints that had some form of engagement and led to a conversion, giving us a clearer picture of what truly influenced the customer’s decision.
Customer ID | Touchpoint | Type | Timestamp | Responded | Converted |
---|---|---|---|---|---|
1 | Google Ad | Marketing | 2023-10-01 10:00:00 | Yes | No |
1 | Marketing | 2023-10-05 09:00:00 | Yes | No | |
1 | Marketing | 2023-10-06 14:30:00 | Yes | No | |
1 | Website Visit | Marketing | 2023-10-07 12:00:00 | Yes | No |
1 | Webinar | Marketing | 2023-10-10 14:00:00 | Yes | No |
1 | Sales Follow-up Call | Sales | 2023-10-12 15:00:00 | Yes | No |
2 | Facebook Ad | Marketing | 2023-10-02 08:00:00 | Yes | Yes |
2 | Marketing | 2023-10-04 13:00:00 | Yes | Yes | |
2 | Website Visit | Marketing | 2023-10-05 09:15:00 | Yes | Yes |
2 | Website Visit | Marketing | 2023-10-10 17:00:00 | Yes | Yes |
2 | Website Visit | Marketing | 2023-10-10 17:05:00 | Yes | Yes |
2 | Website Visit | Marketing | 2023-10-10 17:20:00 | Yes | Yes |
3 | Organic Search | Marketing | 2023-10-03 11:30:00 | Yes | Yes |
3 | Website Visit | Marketing | 2023-10-10 09:30:00 | Yes | Yes |
4 | Google Ad | Marketing | 2023-10-05 10:00:00 | Yes | No |
4 | Website Visit | Marketing | 2023-10-12 17:00:00 | Yes | No |
5 | Newsletter | Marketing | 2023-10-01 09:00:00 | Yes | Yes |
5 | Webinar | Marketing | 2023-10-05 15:00:00 | Yes | Yes |
5 | Sales Follow-up Call | Sales | 2023-10-07 10:30:00 | Yes | Yes |
5 | Newsletter | Marketing | 2023-11-01 12:00:00 | Yes | Yes |
3. Creating Conversion Path Summary Table
Finally, the attribution model requires a single path for each customer, represented as a sequence of touchpoints connected by >. By summarizing this data, you can build a conversion path summary table that reflects the customer’s journey in a way that’s suitable for attribution analysis.
Customer ID | Touchpoint | Converted |
---|---|---|
1 | Google Ad > Email > Email > Website Visit > Webinar > Sales Follow-up Call | No |
2 | Facebook Ad > Email > Website Visit > Website Visit > Website Visit > Website Visit | Yes |
3 | Organic Search > Website Visit | Yes |
4 | Google Ad > Website Visit | No |
5 | Newsletter > Webinar > Sales Follow-up Call > Newsletter | Yes |
4. Applying Path Transformation to Simplify Customer Journeys
After summarising the touchpoints, the next step is to apply a path transformation to reduce unnecessary repetition of touchpoints in the customer journey. Path transformations help streamline the data, making it easier to analyze and attribute credit effectively by collapsing redundant or repetitive touchpoints.
Example Journey:
Original Path:
Paid Search > Website Visit > Website Visit > Organic Search > Referral > Website Visit
Available Path Transformationss
- Unique: Treats all touchpoints as unique and retains the full path with no changes. Repeated touchpoints remain in the sequence. It is suitable when you have shorter lookback windows, lower marketing volume, or minimal retargeting efforts.
Transformed Path:
Paid Search > Website Visit > Website Visit > Organic Search > Referral > Website Visi
t
2. Exposure (Default): Removes immediately consecutive repeat touchpoints from the path. Non-consecutive repetitions remain.
It is useful as a default approach to simplify paths while retaining meaningful touchpoint sequences.
Transformed Path:
Paid Search > Website Visit > Organic Search > Referral > Website Visit
3. First: Keeps only the first occurrence of each touchpoint and removes all subsequent repetitions. It is ideal for scenarios focused on attribution for new products, brand awareness campaigns, or top-of-funnel analysis.
Transformed Path:
Paid Search > Website Visit > Organic Search > Referral
4. Frequency: Collapses the touchpoints into a count of their occurrences, starting from their first appearance in the sequence. It is best suited for situations involving heavy retargeting, follow-ups, and no frequency capping.
Transformed Path:
Paid Search (1) > Website Visit (3) > Organic Search (1) > Referral (1)
5. Recency: Considers the timing of touchpoints before conversion. Touchpoints are grouped into time buckets (e.g., weeks or days). Same touchpoints within a bucket are collapsed, while those in different buckets are treated as separate. It is useful for longer lookback periods (e.g., >30 days) and tiered marketing strategies.
Transformed Path:
Paid Search (Week 1) > Website Visit (Week 1) > Organic Search (Week 2) > Referral (Week 2)
For this post, I have chosen the Exposure transformation, which removes subsequent instances of the same touchpoint when they appear consecutively. Here’s what the final path summary table looks like:
Customer ID | Touchpoint | Converted |
---|---|---|
1 | Google Ad > Email > Email > Website Visit > Webinar > Sales Follow-up Call | No |
2 | Facebook Ad > Email > Website Visit | Yes |
3 | Organic Search > Website Visit | Yes |
4 | Google Ad > Website Visit | No |
5 | Newsletter > Webinar > Sales Follow-up Call > Newsletter | Yes |
In the next post, I will guide you through implementing the attribution model in Python.