Plaid logo
Docs
ALL DOCS

Link

  • Overview
Libraries
  • Web
  • iOS
  • Android
  • React Native
  • Webview
Core Link flows
  • OAuth guide
  • Update mode
  • Preventing duplicate Items
  • Data Transparency Messaging migration
  • Account Select v2 migration guide
  • Link Token migration guide
  • Legacy public key integrations
Optimizing Link
  • Optimizing Link conversion
  • Measuring Link conversion
  • Pre-Link messaging
  • Customizing Link
  • Choosing when to inititalize products
  • Returning user experience
  • Modular Link (UK/EU only)
Errors and troubleshooting
  • Troubleshooting
  • Handling an invalid Link Token
  • Institution status in Link
Plaid logo
Docs
Plaid.com
Get API keys
Open nav

Measuring Link conversion

Learn how to measure Link conversion

Measuring Link conversion

For almost every action your user takes within the Link flow, the onEvent callback will fire, allowing you to track their progress through Link. The most important events are HANDOFF, which indicates that the user has linked an Item, and EXIT, which indicates that the user has exited without linking an account. Your overall conversion rate is measured as the number of HANDOFF events divided by the sum total of HANDOFF and EXIT events. This metric can be used to evaluate A/B tests around conversion or to measure the conversion impact of changes you implement. You can also obtain insight into at what point a user abandoned Link by tracking the metadata.status field within onExit.

Copy
1OPEN
2TRANSITION_VIEW
3SELECT_INSTITUTION
4TRANSITION_VIEW
5SUBMIT_CREDENTIALS
6TRANSITION_VIEW
7HANDOFF
Copy
1OPEN
2TRANSITION_VIEW
3SELECT_INSTITUTION
4TRANSITION_VIEW
5SUBMIT_CREDENTIALS
6TRANSITION_VIEW
7ERROR
8TRANSITION_VIEW
9SUBMIT_CREDENTIALS
10TRANSITION_VIEW
11ERROR
12TRANSITION_VIEW
13EXIT

As of July 2022, Link no longer issues the SUBMIT_CREDENTIALS event when a user authenticates with an institution that requires OAuth. Link issues the OPEN_OAUTH event when a user chooses to be redirected to the institution’s OAuth portal. It is recommended to track this event instead of SUBMIT_CREDENTIALS.

Copy
1OPEN (view_name = CONSENT)
2TRANSITION_VIEW (view_name = SELECT_INSTITUTION)
3SELECT_INSTITUTION
4TRANSITION_VIEW (view_name = OAUTH)
5OPEN_OAUTH
6...
7(The user completes the OAuth flow at their bank)
8...
9TRANSITION_VIEW (view_name = CONNECTED)
10HANDOFF

Though users can go through multiple authentication flow types, you can track user conversion in one funnel by joining the OPEN_OAUTH or SUBMIT_CREDENTIALS events:

Copy
1OPEN
2TRANSITION_VIEW (view_name = SELECT_INSTITUTION)
3SELECT_INSTITUTION (view_name = OAUTH <or> CREDENTIAL)
4SUBMIT_CREDENTIALS <or> OPEN_OAUTH
5TRANSITION_VIEW (view_name = CONNECTED)
6HANDOFF

To measure conversion through the OAuth and credentials-based flows separately, filter institutions based on the TRANSITION_VIEW event after the SELECT_INSTITUTION event.

Copy
1...
2SELECT_INSTITUTION
3TRANSITION_VIEW (view_name = OAUTH)
4OPEN_OAUTH
5TRANSITION_VIEW (view_name = CONNECTED)
6HANDOFF
Copy
1...
2SELECT_INSTITUTION
3TRANSITION_VIEW (view_name = CREDENTIAL)
4SUBMIT_CREDENTIALS
5TRANSITION_VIEW (view_name = MFA, mfa_type = code)
6SUBMIT_MFA (mfa_type = code)
7TRANSITION_VIEW (view_name = CONNECTED)
8HANDOFF

You can also capture the institution_name field, provided by the onEvent callback, to track which institutions your users are attempting to link.

Analyzing conversion data

Many customers use third-party analytics platforms to analyze conversion data, which can allow you to easily view data by platform or institution. Lower conversion on a specific platform or institution may indicate an implementation problem. For example, lower conversion on mobile for OAuth-supporting institutions may indicate an issue with the handling of OAuth redirects or failure to implement app-to-app.

We recommend tracking conversion data over time to measure the impact of changes to your Link integration.

Next steps

Once you're measuring Link conversion, make sure you're maximizing it. For tips, see Optimizing Link conversion.

Was this helpful?
Developer community
GitHub
GitHub
Stack Overflow
Stack Overflow
YouTube
YouTube
Twitter
Twitter
Discord
Discord