Secure your business from login to chargeback
Stop fraud, break down data silos, and lower friction with Sift.
- Achieve up to 285% ROI
- Increase user acceptance rates up to 99%
- Drop time spent on manual review up to 80%
This is a guide for companies that offer an online wallet which users can deposit funds into to buy other types of currencies or send money to individuals and businesses.
'account_state' : e.g. 'standard'
'sms_verification_status' : '$pending'
'credit_verification_status' : '$pending'
'account_state' : e.g. 'standard', 'advanced'
'sms_verification_status' : '$success', '$failure'
'credit_verification_status' : '$success', '$failure'
'promo_code_applied' : true
'account_balance' : 100000000
(send after any changes to a user's balance)'deposit_channel' : e.g 'web', 'bank', 'in-store', etc.
'deposit_point_id' : e.g. 'store_114523', 'bank_549809'
'num_deposit_locations_used' : 2
(if a user has used two different deposit locations)$payment_method
to the information for the card/bank account where the money is being moved from.$payment_method
to the information for the card/bank account where the money is being moved to. When user A
transfers money into user B
's wallet, send the following two
custom events:
send_money
'$user_id' : 'A'
'send_amount' : e.g. 25
for 25 microBitcoin'recipient_user_id' : 'B'
'account_balance_amount' : 75
(amount after the transfer)'account_balance_currency_code' : 'BTC'
receive_money
'$user_id' : 'B'
'receive_amount' : e.g. 25
for 25 microBitcoin'sender_user_id' : 'A'
'account_balance_amount' : 225
(amount after the transfer)'account_balance_currency_code' : 'BTC'
$transaction
events'$amount'
field of the $transaction
event accepts values in micros, where $49.23 is
49230000. More examples, including handling BTC, are shown
here.$currency_code
to capture the currency being used for the payment.btc_balance_amount
and
cash_balance_amount
. Send account_balance_currency_code
to capture what currency the
wallet stores.'$transaction_status' : '$success' / '$failure'
'$transaction_status' : '$pending'
.
When you receive notification that the customer completed the payment (i.e. bank notifies you the deposit
succeed or failed) send another $transaction
evnet with the same '$transaction_id'
value as
the pending $transaction
and set '$transaction_status' : '$success' / '$failure'
The following events can be sent to capture a more complete picture of users when applicable: $login, $logout.
Whenever your automated systems or analysts take action, send those actions into Sift as Decision events. Actions range from positive (eg Approve Order), to neutral (Flag Account), to negative (Ban User). The key thing is that you should send all Actions you take to Sift, not just your negative actions.
In order to send Decision events you'll first have to create the specific Decisions your business takes in the Sift Console. While we start all accounts out with a few generic Decisions, Decisions are fully customizable so you can create a Decision for every action that your business takes. Some examples of Decisions are:
See the Decisions tutorial for more context.
During your integration, you should send the Decisions that your business is currently making through any internal fraud engines or Manual Review processes to the Sift Decisions API. If you currently do not have in-house fraud logic or a manual review process, work with Sift to setup your initial Workflows within Sift's platform.
When you are initially integrating with Sift, your scores will be based on whatever data you’ve sent us. So if it is a brand new integration with no backfilled data, Sift will need a week or two of data to learn your unique fraud patterns. One of the key strengths of the Sift platform is that it consistently learns as you send more and more data to it. You should see a substantial increase in accuracy of your scores during these first weeks as you send more Decisions and User Events.
During this stage, you should be assessing your Sift Scores in the Sift Console and determining which actions you want to take for different score ranges. Since all businesses are different, finding your unique score thresholds that achieve your business goals is key.
To reduce the amount of time required in this initial learning phase, you can send a historical backfill so that Sift can learn about your user's fraud patterns.
Now that you sending both user events and business decisions to Sift, you’re ready to start using Sift scores in your business logic. At this point, you’ll have an understanding how scores correlate to different levels of risk. Based on the user’s risk score, you’ll set up different outcomes within your application (eg users with low score are automatically approved).
To build this logic, you'll want to evaluate a user's Sift Score at the key events where bad users can hurt your business or good users can have a more frictionless experience.
The two ways to use Sift Scores:
Any questions? We're happy to talk it through.
Stop fraud, break down data silos, and lower friction with Sift.