Use-case

This integration guide helps marketplaces stop referral abuse, spam, scams, chargebacks, and other types of fraud. Send the following events for all users when applicable:

Sending Data to Sift

Send User Activity
Send Key User Events
User creates an account
  • When a user creates an account, send a $create_account event with custom fields to capture differences between users, such as:
    • 'promo_code' : 'SpringPromo'
    • 'num_reviews' : 0
    • 'num_services_purchased' : 0
    • 'num_campaigns_started' : 0
    • 'num_listings' : 0
  • When a user updates their account information send an $update_account event.
User content
  • When a user creates content, send a $create_content event
      Custom field ideas: (update counters capturing key activity metrics of users here)
    • 'num_campaigns_started' : 0 (value before this campaign)
    • 'num_listings' : 4 (value before this listing)
  • When a user updates their content, send an $update_content event.
  • When the status of a piece of content changes, e.g. from draft to active, send a $content_status event if the user hasn't made other changes (as then you'd send an $update_content).
  • When other users flag the content as potentially bad, send a $flag_content event.
User buys an item or service
  • When a user buys an item or service, send a $create_order event.
      Custom field ideas: (update counters capturing key activity metrics of users here)
    • 'percent_discount' : 48
    • 'total_auction_bids' : 14
    • 'amount_after_credit' : 12.43 (how much the user spent after promos and credits, if different order $amount)
    • 'num_poster_reviews' : 2
    • 'num_services_purchased' : 4 (value prior to this purchase)
    • 'num_reviews' : 9
  • If a user can update their order, say with a new shipping address, send an $update_order event.
      Custom field ideas:
    • 'address_changed' : True
When you interact with a payment gateway
  • Send a $transaction event for each payment gateway interaction, as well as each other payment method accepted for the order (e.g. gift card).
  • When a payment gateway informs you of a chargeback, send a $chargeback event and a fraud label.
Additional Events

The following events can be sent to capture a more complete picture of users when applicable: $create_content (review), $create_content (message), $login.

Referral Fraud

If you offer a referral promotion, do the following. When user B signs up using user A's referral:

  • Send '$referrer_user_id' : 'A' in the code '$create_account' event for user B.
  • Send a referral_redeemed custom event for user A with the following fields:
    • '$type' : 'referral_redeemed'
    • '$api_key' : 'your_rest_api_key'
    • '$user_id' : 'A'
    • 'referred_user' : 'B'
    • 'num_referrals_redeemed' : 3 (value including this redemption)

You'll also want to take advantage of our promotion object that can be sent with $create_account, $create_order, and $add_promotion.

Send Business Decisions

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.

Set up your Business Decisions

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:

  • Ban Account (Block Category Decision)
  • Cancel Order (Block Category Decision)
  • Flag for Additional Review (Watch Category Decision)
  • Approve User (Accept Category Decision)

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.

Get Started with Sift Scores

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.

Build Your Business Logic With Sift Scores

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. In Marketplaces, this typically includes $create_order for payment_abuse, $create_account for promo_abuse and account_abuse, and $create_content for content_abuse.

The two ways to use Sift Scores:

  • Create a Sift Workflow: Sift Workflows give you a powerful way to automate your Decisions without having to write business logic on your side. Workflows let you set up rules that gets evaluated whenever specified events occur. These rules enable you to route users to different outcomes based on Sift Score and other attributes of the user and transaction (eg User is from Canada, Order is greater than $500, and Sift Score is greater than 80). With Sift Workflows, you also get Sift Review Queues for fast, easy investigation so you won’t have to build your own queues. To learn more, see our Workflows documentation.
  • Build application logic in your system: You can synchronously request the Sift score of a user with any event you send to Sift. This score will take into consideration all data you’ve sent to Sift including the event you just sent. Sift Scores should only be requested at the key events where fraud or abuse occurs (eg ask for score when sending a Create Order event) To learn more, see our API documentation

Any questions? We're happy to talk it through.