When calculating conversion for a funnel in which users can complete the steps more than once, Amplitude will bucket each user based on the values tied to the first occurrence of each event.
How this first touch is determined can depend on how you use the Holding Constant and Broken Down By functions in your funnels. Understanding these implications is vital in drawing accurate conclusions from your analyses.
First-touch attribution scenarios
Let's assume a hypothetical funnel in which we want to track registrations broken down by the landing page each user sees. In the first scenario, we will hold constant by
session_id. This means users must complete both steps of the conversion process—in this case,
view landing page and
complete registration—in the same session in order for Amplitude to count them as converted.
Scenario 1: Funnels using both the Holding Constant and the Broken Down By functions.
In these cases, Amplitude bases conversion on the earliest entry within the session. For example:
- A user sees Landing Page A and completes registration within the same session. That user's session counts as converted, and the conversion is attributed to Landing Page A.
- A user sees Landing Page A, then Landing Page B in the same session, but converts only after seeing Landing Page B. Since that user saw Landing Page A first, the conversion within the session would be attributed to Landing Page A.
- A user sees Landing Page A, then Landing Page B in different sessions. That user does not convert in the session where they saw Landing Page A. But that same user does convert in the session where they saw Landing Page B. Amplitude will count the Landing Page A session as not converted, and the Landing Page B session as converted.
NOTE: When holding constant by session ID, your chart will display the number of user sessions that included a conversion, and not the number of users to convert.
Scenario 2: Funnels using the Broken Down By function, but not the Holding Constant function.
In these cases, Amplitude bases conversion on the earliest entry within the lookback window.
Users are grouped by how they entered the funnel (i.e. the first landing page they saw within the lookback window), and they convert if they trigger the final event within the duration of the conversion window. For example:
- A user sees Landing Page A and completes registration within the conversion window. That user counts as converted, and the conversion is attributed to Landing Page A.
- A user sees Landing Page A, then Landing Page B. That user completes registration within the conversion window for Landing Page A. That user counts as converted, and the conversion is attributed to Landing Page A, since they saw that one first.
- A user sees Landing Pages A, then Landing Page B, but does not convert. That user counts as not converted, and this negatively affects Landing Page A's performance, because they saw that one first. This visit does not count against Landing Page B's performance.
The logic of unique user counts in funnel analyses
When counting by unique users, the baseline conditions for conversion are:
- A user must be eligible for inclusion into the funnel: i.e. they cannot be filtered out from consideration, via the user segmentation panel. Any filters set in the segmentation module only apply at the time that the user triggered the first funnel event.
- A user must enter the funnel during the time window specified.
- A user must complete all steps of the funnel within the stated conversion window to count as converted in the final funnel step. Otherwise, the user will be counted based on how far they progressed through the funnel.
Further, when Amplitude is counting by uniques, it will only count the earliest, longest conversion for each unique user:
- Here, "longest" means Amplitude counts the most complete conversion, i.e. the completion of the most required steps within the funnel.
- "Earliest" means Amplitude considers the first converting sequence chronologically, if there is more than one.
In other words, Amplitude first checks for a user's "most complete" conversion. If it finds multiple conversions meeting that definition, it selects the first one and counts that as when conversion occurred.
When using Broken Down By, Amplitude continues to use the longest/earliest logic to bucket users in accordance with the property that was present at their point of funnel entry. You can also hold constant by session, as described in Scenario 1 above, to have Amplitude look for the longest/earliest converting sequence within the same user session. When doing so, the unit of measurement changes to unique user and session ID pairings.
However, when counting by event totals, the earliest/longest logic does not apply. Instead, Amplitude considers all conversion paths taken or attempted, rather than just the earliest/longest path per user. The paths are then attributed to the property for the event in the step it was broken down by.