Plaid logo
Docs
ALL DOCS

Link

  • Overview
Libraries
  • Web
  • iOS
  • Android
  • React Native
  • Webview
Core Link flows
  • OAuth guide
  • Remember Me
  • Update mode
  • Preventing duplicate Items
  • Data Transparency Messaging migration
  • Link Token migration guide
  • Legacy public key integrations
Optimizing Link
  • Optimizing Link conversion
  • Measuring Link conversion
  • Pre-Link messaging
  • Customizing Link
  • Choosing when to initialize products
  • Embedded institution search
  • Returning user experience
  • Modular Link (UK/EU only)
Errors and troubleshooting
  • Troubleshooting
  • Handling an invalid Link Token
  • Institution status in Link
Plaid logo
Docs
Close search modal
Ask Bill!
Ask Bill!
Hi! I'm Bill! You can ask me all about the Plaid API. Try asking questions like:
    Note: Bill isn't perfect. He's just a robot platypus that reads our docs for fun. You should treat his answers with the same healthy skepticism you might treat any other answer on the internet. This chat may be logged for quality and training purposes. Please don't send Bill any PII -- he's scared of intimacy. All chats with Bill are subject to Plaid's Privacy Policy.
    Plaid.com
    Log in
    Get API Keys
    Open nav

    Measuring Link conversion

    Learn how to measure Link conversion

    You can view your Link conversion by viewing the Link > Analytics page in the Plaid Dashboard, or by setting up your own conversion tracking. Tracking conversion on your own is recommended if you want more detailed analytics than reported in the Dashboard (for example, to perform A/B testing on Link conversion) or to connect Link conversion to your company's analytics platform.

    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 number of unique link_session_ids. Alternatively, you can divide by the sum total of HANDOFF and EXIT events, but this method is less accurate, since an EXIT event will not fire if a user destroys Link by quitting the browser or closing the tab. The conversion rate 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.

    1OPEN
    2TRANSITION_VIEW
    3SELECT_INSTITUTION
    4TRANSITION_VIEW
    5SUBMIT_CREDENTIALS
    6TRANSITION_VIEW
    7HANDOFF
    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.

    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:

    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.

    1...
    2SELECT_INSTITUTION
    3TRANSITION_VIEW (view_name = OAUTH)
    4OPEN_OAUTH
    5TRANSITION_VIEW (view_name = CONNECTED)
    6HANDOFF
    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
    Discord
    Discord