Development

How to measure your conversion rate for 2-Factor Authentication

Our Conversion Tracking service allows you to measure conversion rate ratios between every step within a desired processes like 2FA, Social Invites, sign-ups - the list is endless

April 20 2015

Increased number of online enterprises and Internet companies are using 2-Factor Authentication (2FA) for user verification. The flow is simple, fast and has only 2 steps, much like the name suggests:

  1. Sending one-time PIN codes to user's mobile phone
  2. PIN confirmation entered by user

Ok, it has two steps which makes it fast and easy, but how do we actually measure its effectiveness?

Again, it's done in a very straightforward and simple manner, you just need to use our Conversion Tracking API within the 2FA process. Our Conversion Tracking service allows you to measure conversion rate ratios between every step within a desired processes like 2FA, Social Invites, sign-ups... the list is endless.

Below are the 4 easy steps which describe how to implement and use Conversion Tracking API within 2FA.

In order to use Infobip Conversion Tracking API, you’ll have to be authorised. All you need to do is to encode your username and password in the base64.

Infobip Conversion Tracking API

 

Step 1: Configure the process

Firstly, you’ll need to define the process you will be tracking conversion rate for. In our example the process is 2FA.

POST 1/conversion-rate/process HTTP/1.1
Host: oneapi.infobip.com
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Content-Type: application/json
{
  "name":"2FA Conversion rate",
  "description":"Process for measuring 2FA conversion rate"
}

A response which indicates that everything is ok with your request will be immediately sent to you:



HTTP/1.1 200 OK
Content-Type: application/json

{
 "key": "47A3614FB229EBEA88ED45E72BB07D3E",
 "name": "2FA Conversion rate",
 "timeAdded": "2015-04-19T07:21:57.934+0100",
 "processType": "USER_DEFINED",
 "description": "Process for measuring 2FA conversion rate"
}

Step 2: Configure tags

After you have defined the process you want to track, you must create steps (tags) for which to measure the conversion rate for (i.e. START_TAG and END_TAG). For 2FA the steps would be 'PIN sent' and 'PIN confirmed'.

1. START = PIN sent
POST /conversion-rate/process/47A3614FB229EBEA88ED45E72BB07D3E/tag HTTP/1.1
Host: oneapi.infobip.com
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Content-Type: application/json

{
    "name": "START",
    "description": "PIN sent",
    "processTagType": "START_TAG"
}

A response which indicates that everything is ok with your request will be immediately sent to you:


HTTP/1.1 200 OK
Content-Type: application/json

{
     "key": "742CEC5DEF6025218E5A0407B029D02D",
     "name": "START",
     "description": "PIN sent",
     "processTagType": "START_TAG"
}
2. END = PIN confirmed
POST /conversion-rate/process/47A3614FB229EBEA88ED45E72BB07D3E/tag HTTP/1.1
Host: oneapi.infobip.com
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Content-Type: application/json

{
    "name": "END",
    "description": "PIN confirmed",
    "processTagType": "END_TAG"
}

A response which indicates that everything is ok with your request will be immediately sent to you:

HTTP/1.1 200 OK
Content-Type: application/json

{
     "key": "AC175A3A7D4AE68FE358C053630ED926",
     "name": "END",
     "description": "PIN confirmed ",
     "processTagType": "END_TAG"
}  

Step 3: Log events

Now you are ready to start tracking the conversion rate. All you need to do is add the below-listed API calls in the right place; when sending and confirming the PIN:

1. SEND PIN over SMS
POST 1/conversion-rate/process/47A3614FB229EBEA88ED45E72BB07D3E/log HTTP/1.1
Host: oneapi.infobip.com
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Content-Type: application/json

{
    "processLogKey": "7c32d5fc-6870-4c33-8222-44d477b0671c", -- your own log identifier
    "processTagKey": "742CEC5DEF6025218E5A0407B029D02D",
    "countryCode": "US",
    "osType": "ANDROID"
}

A response which indicates that everything is ok with your request will be immediately sent to you:


HTTP/1.1 200 OK
Content-Type: application/json

{
     "processKey": "47A3614FB229EBEA88ED45E72BB07D3E",
     "accountKey": "3C3EFB2D307CA4FEFB2B5282E51E36EE",
     "key": "7c32d5fc-6870-4c33-8222-44d477b0671c",
     "tag": null,
     "processTagKey": "742CEC5DEF6025218E5A0407B029D02D",
     "timeAdded": "2015-04-20T15:52:50.443+0200",
     "countryCode": "US",
     "osType": "ANDROID",
     "addCount": 1
}   
2. PIN CONFIRMED
POST 1/conversion-rate/process/47A3614FB229EBEA88ED45E72BB07D3E/log HTTP/1.1
Host: oneapi.infobip.com
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Content-Type: application/json

{
    "processLogKey": "7c32d5fc-6870-4c33-8222-44d477b0671c", --your own log identifier
    "processTagKey": "AC175A3A7D4AE68FE358C053630ED926",
    "countryCode": "US",
    "osType": "ANDROID"
}

A response which indicates that everything is ok with your request will be immediately sent to you:


HTTP/1.1 200 OK
Content-Type: application/json

{
     "processKey": "47A3614FB229EBEA88ED45E72BB07D3E",
     "accountKey": "3C3EFB2D307CA4FEFB2B5282E51E36EE",
     "key": "7c32d5fc-6870-4c33-8222-44d477b0671c",
     "tag": null,
     "processTagKey": "AC175A3A7D4AE68FE358C053630ED926",
     "timeAdded": "2015-04-20T15:54:59.443+0200",
     "countryCode": "US",
     "osType": "ANDROID",
     "addCount": 1
}

Step 4: Check conversion rate

Now you can check the conversion rate of your 2FA process, to see if you're nearing that coveted 100%.

GET 1/conversion-rate/process/AC175A3A7D4AE68FE358C053630ED926/statistics/conversion-rate HTTP/1.1
Host: oneapi.infobip.com
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Content-Type: application/json

A response which indicates that everything is ok with your request will be immediately sent to you:

HTTP/1.1 200 OK
Content-Type: application/json

{
 "conversionRates": [
   {
     "startTimeFrame": {
       "from": "2015-04-19T02:00:00.000+0200",
       "to": "2015-04-21T02:00:00.000+0200"
     },
     "endTimeFrame": null,
     "conversionRateStats": {
       "startCount": 1,
       "endCount": 1,
       "conversionRate": 1
     }
   }
 ],
 "granulation": "DAY"
}

There are several implementation flows available for both 2FA and conversion rate API you can use. For example, we can handle the entire 2FA logic, from PIN generation to verifying and tracking conversion rates automatically. Other options for quick and easy implementation include having just one API call for the entire process. Find out more about additional features and different implementation possibilities for Conversion tracking API and sending PIN codes.