Introduction
The consent flow can be abandoned or otherwise exited at a number of stages. The following diagram shows the stages and corresponding abandonment and exit metrics.
Data Holders are not expected to report abandonments prior to the preIdentification phase. See CDR metrics and reporting by Data Holders, Abandonments.
Notes on the meaning of abandonment and exit metrics
-
preIdentification:
The number of authorisations (or amendments) where the user did not move past the 'Enter user identifier' stage (either due to entering it incorrectly, or abandoning for any other reason). -
preAuthentication:
The number of authorisations (or amendments) where the user moved past the 'Enter user identifer' stage (whether the user identifier was valid or not), but did not move past the 'Enter OTP' stage (either due to credential mismatch, or abandoning for any other reason). -
preAccountSelection:
The number of authorisations (or amendments) where the user moved (successfully) past the 'Enter OTP' stage, but did not move past the 'Select accounts' stage. -
preAuthorisation:
The number of authorisations (or amendments) where the user moved past (or skipped, if it was not presented) the 'Select accounts' stage, but did not select one of the primary 'Deny' or 'Authorise' options at the final stage. Refer to CX Guidelines for examples of links and buttons. -
rejected:
The number of authorisations (or amendments) where the user moved past (or skipped) the 'Select accounts' stage, and selected a primary 'Deny' option at the final stage. -
failedTokenExchange:
The number of authorisations (or amendments) where the user selected 'Authorise' at the final stage, but the ADR failed to - or was unable to - obtain a refresh or access token using the authorisation code.
AuthorisationMetricsV2 schema
The AuthorisationMetricsV2 schema captures these exits from the flow with the following fields:
- abandonedConsentFlowCount
- abandonmentsByStage
- preIdentification
- preAuthentication
- preAccountSelection
- preAuthorisation
- rejected
- failedTokenExchange
If there are no previous abandonments, rejections or failed token exchanges on the current day or on previous days, the AuthorisationMetricsV2 abandonments section has zeroes for all currentDay and previousDays counts, and looks like the following:
"abandonedConsentFlowCount":{
"currentDay":0,
"previousDays":[0]
},
"abandonmentsByStage":{
"preIdentification": {
"currentDay":0,
"previousDays":[0]
},
"preAuthentication":{
"currentDay":0,
"previousDays":[0]
},
"preAccountSelection":{
"currentDay":0,
"previousDays":[0]
},
"preAuthorisation":{
"currentDay":0,
"previousDays":[0]
},
"rejected":{
"currentDay":0,
"previousDays":[0]
},
"failedTokenExchange":{
"currentDay":0,
"previousDays":[0]
}
}
One stage counted per exit
When a consumer exits consent at some stage, the count for that stage increments, and the overall abandonments count increments.
Exit is furthest stage reached
The consumer is considered to have exited the consent flow at the furthest stage the consumer reached in the flow.
Amendment flows
Abandonments in an amendment flow are treated like any other abandonment, even though an amendment may skip a profile selection screen. The amendedAuthorisationCount field is incremented for a successful amendment.
Abandonment examples
Some examples demonstrate how exits from the consent flow are recorded.
In the following examples, to avoid repetition, parts of the abandonmentsByStages object that do not change are replaced with ellipses: ...
After abandoning at the preAuthorisation stage, the abandonedConsentFlowCount increments by 1, and the abandonmentsByStage, preAuthorisation stage increments by 1. These are the only changes.
"abandonedConsentFlowCount":{
"currentDay":1,
"previousDays":[0]
},
"abandonmentsByStage":{
...
"preAuthorisation":{
"currentDay":1,
"previousDays":[0]
}
},
...
Later that day a consumer explicitly rejects a consent. The abandonedConsentFlowCount increments by 1, and the abandonmentsByStage, rejected count increments by 1.
"abandonedConsentFlowCount":{
"currentDay":2,
"previousDays":[0]
},
"abandonmentsByStage":{
...
"preAuthorisation":{
"currentDay":1,
"previousDays":[0]
}
...
"rejected":{
"currentDay":1,
"previousDays":[0]
}
...
},
...
Then a consumer exits at the preIdentification stage. The abandonedConsentFlowCount increments by 1, and the abandonmentsByStage, preIdentification count increments by 1.
"abandonedConsentFlowCount":{
"currentDay":3,
"previousDays":[0]
},
"abandonmentsByStage":{
...
"preIdentification":{
"currentDay":1,
"previousDays":[0]
}
...
"preAuthorisation":{
"currentDay":1,
"previousDays":[0]
}
...
"rejected":{
"currentDay":1,
"previousDays":[0]
}
...
},
...
Comments
8 comments
The previousDays property is an array of NaturalNumber (although the data standards show '[object]'), so the examples should use '[0]' rather than '0'.
Please let me know if I should raise a change proposal to correct the data standards from '[object]' to '[NaturalNumber]'.
It would also be useful to know whether an empty array is permissible, since the sentence in the description for previousDays only mentions the maximum: 'A maximum of seven entries is required if available'. On the first day of operation after implementation there will be no value available for yesterday, so an empty array would be accurate.
Hi Rod Dalrymple,
Thanks for raising this. Will get if off to the team to be reviewed and answered.
Thanks,
Thanks Jarryd,
Please coordinate with Nils Berge as he advised that the suggested correction to this article ("previousDays":[0]) has been made and I raised a work request on the standards-staging repo for the ‘[NaturalNumber]’ data type (as he suggested):
• #348 - Change previousDays data type to ‘[NaturalNumber]’ in Get Metrics AuthorisationMetricsV2.abandonmentsByStage
https://github.com/ConsumerDataStandardsAustralia/standards-staging/issues/348
As a result, I'm happy to 'close' my original comment (if that's a thing).
...Rod
Thanks, we will do so!
Hi Jarryd,
We are in the process of implementing V5 and is facing some issues. For one particular scenario below, we are not able to capture the increments in the abandonment counts across all stages of the consent flow.
Scenario: customer is idle in the session for more than 2 mins then closes their window or browser after that.
Issue: the abandonment count is not incremented by 1 in the above scenario.
We just want to ask the question if this scenario is supposed to be counted and reported in V5.
If customer hits the "cancel" button or closes the window/browser within 2 minutes of becoming idle, that is captured.
This was raised and answered in the CDR Support Portal. The answer provided by the Data Standards Body:
Thanks,
Is there a document containing the detailed CDR requirements including the Abandonment workflow diagram which has been posted on this help page (and the calculation details for metrics as shown in page Calculating average TPS and peak TPS – Consumer Data Standards Australia (zendesk.com))? The Consumer Data Standards Page AuthorisationMetricsV2 – Consumer Data Standards (consumerdatastandardsaustralia.github.io) does not contain this level of detail.
HI Joumana Taleb,
The specifications for Get Metrics are published as part of the Data Standards: https://consumerdatastandardsaustralia.github.io/standards/#cdr-admin-api_get-metrics
The above information is guidance provided to support the implementation of the Data Standards.
Thanks,
Please sign in to leave a comment.