Skip to main content

Gambling, Wagering, Sports

This guide is for companies operating gambling or wagering businesses. It shows how Talon.One can be used to provide loyalty programs and discounts. There are two steps to using Talon.One:

  1. Notify Talon.One's API of assorted customer activities.
  2. Handle the effects returned by the API.

The decision of which effects to return for a given customer activity is controlled by the Talon.One Rule Engine.

1. Send activity notifications

We recommend you start with the SDKs. After the SDK has been installed & configured you will use the following API calls:

Below we show example API calls for different customer activities: views bets, update sharp attribute, and entering a promotional code.

1.1. User views a bet

Track a custom viewedBets event with a teams attribute whenever a user views the bet overview:

talon.trackEventV2("customerId1234", "viewedBets", { teams: "989213HZAHAF|631543KOLFDBY|098786AWQRCZ|" })

This allows campaigns to offer promotions specific to the team and bets the user is currently viewing. For example, a response may contain the following effect:

["offerDiscount", "Place a bet on Dortmund winning vs. Bayern Munich and get 10$ extra credit! "]

1.2. User becomes a sharp bettor

Send a profile update when the user becomes a sharp bettor:

talon.updateCustomerProfileV2(, {
attributes: {
sharp: true

This allows campaigns in the Rule Engine to trigger effects based on custom attributes like the percentage of bets a user wins. For example, we can create a campaign that adds a higher quote when a user bets on a specific team with a specific quote value higher than 2.0 and with team attribute of "989213HZAHAF":

["set", "Session", "Attributes", "SpecialQuote", "89as98dxy6Hhg|Dortmund Special|2.84"]

1.3. User enters a promo code

Send a session update whenever a user enters a promo code:

talon.updateCustomerSession("session-1234", { coupon: 'Champions League Final' })

The Rule Engine will validate the code, and return an acceptCoupon effect (and any other effects that were triggered), or a rejectCoupon effect indicating that the coupon was not valid.

Successful validation:

["acceptCoupon", "Champions League Final"]
["setDiscount", "$20 Extra into your credit wallet", 20]

Unsuccessful validation:

["rejectCoupon", "Champions League Final"]

2. Handling effects

The Rule Engine will send back discounts and other actions to take in the form of effects. These are handled in your integration by registering effect handlers:

talon.handleEffect('setDiscount', function (context, label, amount) {
context.order.addOrReplaceDiscount(label, amount)

3. References

  • See Handling effects for more information on the types of effects the Rule Engine might return and their arguments.
  • See Data Model overview for more information on what information you can use in your campaigns to conditionally trigger effects.