Attribution
Overview
Attribution helps teams attribute conversion credit to the touch-points in a user-journey, whether it be just to the first or last touch which are single-touch attribution models or to multiple touchpoints using a multi-touch attribution model like U-shape or Linear.
Let’s take an example user journey:
- A user sees an ad for a product on Facebook
- The user clicks on the ad and is taken to the product page on the company's website
- The user adds the product to their cart and begins the checkout process
- The user abandons the checkout process
- The user receives a retargeting ad for the product on Instagram
- The user clicks on the ad and completes the purchase
In this example, there are two touchpoints that contribute to the successful conversion: the Facebook ad and the Instagram ad. Using an attribution model, we can assign different weights to these touchpoints to determine their relative importance in the conversion.
- Using a linear attribution model, we could assign a weight of 0.5 to each touchpoint, meaning that both the Facebook ad and the Instagram ad contributed equally to the conversion
- Using a J shaped attribution model, we could assign a weight of 0.75 to Facebook ad, and 0.25 to the Instagram ad
- Using last touch model, the complete conversion can be attributed to the Instagram ad
- Using first touch model, the complete conversion can be attributed to the Facebook ad
Usage
Step 1 - Add your conversion metric
Step 2 - Attribution makes sense only when distributing the conversion metric across segments. So head to the breakdown section and choose the Mixpanel computed property - Attributed by..
Step 3 - In the second layer that opens up, choose the property you want to break-down by (eg. UTM medium). You can also choose a custom property to breakdown here, for example marketing channel which generally is a combination of UTM medium, UTM source and referrer.
Step 4 - You have a working attribution model. By default, Mixpanel will assign the metric the Last touch model with a 30 day lookback window. To change the model, head to the metric section
Step 5 - If you want to include only certain channels or touchpoints in your attribution analysis, you can filter touchpoints from the breakdown overflow menu. A use-case for this is excluding organic touchpoints from attribution analysis.
👉🏽 NOTE: if you are running attribution predominantly on UTM_medium, UTM_source, UTM_campaign, make sure you’re tracking UTM parameters as event properties on every user touchpoint. If you use a Mixpanel js-sdk, we’ve updated our sdk to track utm parameters more effectively to support multi-touch attribution models.
Attribution Models
- First Touch - Gives 100% credit to the first touchpoint within the attribution lookback window
- Last Touch - Gives 100% credit to the last touchpoint within the attribution lookback window
- Linear - Gives equal credit to every touchpoint seen leading up to a conversion within the attribution lookback window
- Participation - Gives 100% credit to every unique touchpoint seen within attribution window. The total number of conversions is inflated compared to other attribution models. For example with 5 property values, each would receive 100% credit showing 5 conversions.
- Time-Decay - The weight of each channel depends on the amount of time that passed between the touch point initiation and the eventual conversion. This model follows an exponential decay with a 7 day half-life parameter.
- U-shaped - Gives 40% credit to the first touchpoint, 40% credit to the last touchpoint, and divides the remaining 20% to any touch points in between. With 2 touchpoints, the credit is normalized (50%, 50%). With 6 touch points the middle 4 touch points would share the 20% (40%, 5%, 5%, 5%, 5%, 40%).
- J-shaped - Gives 20% credit to the first touchpoint, 60% credit to the last touchpoint, and divides the remaining 20% to any touch points in between. With 2 touchpoints, the credit is normalized (25%, 75%). With 6 touch points the middle 4 touch points would share the 20% (20%, 5%, 5%, 5%, 5%, 60%).
- Inverse J-shaped - Gives 60% credit to the first touchpoint, 20% credit to the last touchpoint, and divides the remaining 20% to any touch points in between. With 2 touchpoints, the credit is normalized (75%, 25%). With 6 touch points the middle 4 touch points would share the 20% (60%, 5%, 5%, 5%, 5%, 20%).
- Custom - Customize the weightage to be given to the first and last touchpoint, and all other touchpoints in between based on your use-case.
Glossary
- User journey: Consists of touchpoints and the conversion event. It is possible for a conversion event to have no corresponding touchpoints (eg. utm parameters). In this case we consider it a ‘direct’ conversion
- Conversion: The primary event you’re interested in analyzing with multi-touch attribution models. Typically some final value generating interaction such as “Signup” or “Upgrade” or “Payment”.
- Touchpoint: These are actions (events) a user’s taken or exposed to along the journey before doing the conversion event. [Eg. does event A → B → C → D (conversion event) in a 7 day period; For a lookback window of 7 days, A, B, C are all considered touchpoints]
- Attributed by property: This is the property on a touchpoint event that we use for the attribution model. The canonical example is utm_source
- Lookback window: The time window where a user's events with this attribution property are counted towards the calculation. The window ends when the conversion metric happens.
Frequently Asked Questions
How does Mixpanel compute attribution under the hood?
Please watch this video to better understand.
What does attribution on ‘unique users’ mean?
We need one single conversion event which we can use to “qualify” a user unique.
For example: between May 1 and May 15, Jack made 3 purchases
- May 1: Purchase 1: Computer [came from instagram]
- May 7: Purchase 2: Laptop [came from instagram]
- May 10: Purchase 3: TV [came from facebook]
Now note, while 3 purchases have been made, only one unique user has been converted
How will attribution with uniques work? There will be 2 options depending on the use-case
- Option 1 : When running attribution on Jack, we want to consider Jack unique on May 10, his last qualifying conversion, and run a lookback window starting at this point and consider all attribution prior to it which influenced the 3 purchases.
- So Last Touch for Jack would be : Facebook
- When would this option be useful? In-ecomm companies when looking at cost of acquiring a user, you want to consider all the purchases until their last purchase
- Option 2: Consider Jack unique on May 1, his first qualifying conversion, and run a lookback before it.
- So Last Touch for Jack would be: Instagram
- When would this option be useful? For acquisition teams looking at getting a user to the experience the first time, you want to consider their first qualifying event
Some nuances to note
- In a time-series chart, the first and last qualifying conversion is within the chart interval. For example if you have a 6M chart with a monthly interval, you’re looking at first and last conversion within a month, NOT 6M
- In non-time series charts, the chart interval and the qualifying conversion interval are the same. If your chart is for 6M, the first and last conversion is also seen within the 6M period
What does filtering do in attribution?
Once attribution is computed, filtering narrows total conversion events to only include/exclude those with the associated attribution property.
To make this real, let’s take a scenario -
- Purchase 1:
- 15th Jan: Made purchase (visited via Linkedin ad)
- 10th Jan: visited via Google (Last Touch: Linkedin; All Sources: Linkedin, Google)
- Purchase 2:
- 18th Jan: Made Purchase (came directly)
- 12th Jan: visited via Facebook (Last Touch: Direct; All Sources: Direct, Facebook)
- Purchase 3:
- 20th Jan: Made Purchase (came via Google) (Last Touch: Google; All Sources: Google)
On 30th Jan, doing some attribution analysis
- Use-Case 1: I want to look at only Purchases that have come from a non Direct Channel?
- Answer: 2 - Purchases 1 & 3
- Use-Case 2: I want to look at how many Purchases have come via Last Touch Google?
- Answer: 1 - Purchase 3
- Use-Case 3: I want to look at how many purchases have come via Google? (can be any touch in the last 30 days)
- Answer: 2 - Purchases 1 & 3
NOTE: You can apply a filter on an attribution property only after an attribution breakdown has been applied. Read above for steps to turn on an attribution analysis
- Step 1: Turn on Attribution analysis by going to the breakdown section and choosing
Attributed by..
and propertyXYZ
- Step 2 (a): Once attribution model has been applied, go to the filter section and choose the computed property
Attributed by XXX
. You can apply an attribution filter only on the property used in the attribution breakdown - Step 2 (b): Once attribution model has been applied, click on the chart bar and filter/exclude the segments as needed
Was this page useful?