Build targeted promotional campaigns within minutes

Once your data is integrated, you can effortlessly build promotional workflows using the Promotion Engine without relying on custom development.


If someone…

A New user from Berlin with an .edu email
Anyone ordering via App
A Referred friend
Anyone with a Signup date Before 01.03.2017 at 09:40 am
A Female Recurring customer

…does this…

Buys 3 Jeans in Color Blue
Has an Order value
Above 500
Redeems a Valid coupon code
Cancels the Order process
Orders any item with Category Pizza
AND
Orders between 12:00 pm & 2:00 pm

…then that

Add 1 SKU 1412T to basket
Set a Discount value of 10 to Advocate account
Set a Discount percent of 10
Add 50 Loyalty points to Customer account
Send an Email with the text Thank you for your order!

How the Talon.One Promotion Engine works

Targeted. Customized. Powerful. Our Promotion Engine helps you build the most sophisticated promotional campaigns using your data.


1
1

Send any type of data to Talon.One

Feed your data into the Talon.One Promotion Engine through the API, like customer profiles, customer activities or 3rd party data.

2
2

Build and manage your promotions

Configure custom attributes and data to create targeted promotional workflows using our intelligent Rule Builder.

3
3

Deliver the right promotion at the right time

Enhance your customer engagement with rewards like discounts or loyalty points and trigger external effects, like emails or CRM updates.

Rule Builder Integrate rewards Powerful API

The API infrastructure of Talon.One

Our Promotion Engine receives data from your system, validates your promotion rules, then executes effects like discounts, coupon codes, loyalty points, payment updates, etc.


Analytics illustration
Customer Profiles illustration
Tablet illustration
Your business illustration
Basket illustration
Payment illustration
CRM illustration
Send data Receive effects
Coupon Discount Loyalty Referral Bundling
Define promotion rules
Learn more…

Send custom data via the Integration API and trigger effects when the Promotion Engine validates your rules. Automate your campaigns with the Management API without even using our UI.

Learn more…

Campaign workflows are carefully evaluated by the Promotion Engine. Customers who fulfill all your campaign’s criteria are rewarded with effects like discounts, coupon codes, loyalty points, gifts, etc.

Learn more…

Once data is integrated, Marketers can efficiently create promotion workflows using the Campaign Manager UI, without relying on developer resources.

Free on-site Integration Engineer

Development bottlenecks can be a problem in any company. That is why our Integration Engineers will manage the initial implementation on-site, as long as you need, at no cost!

A dynamic Promotion API

Our API scales to the unique demands of any business after a seamless integration.


For developers by developers

Our modern and easy-to-use API enables the setup of a powerful campaign logic in under 5 minutes.

Our Promotion SDKs are available in several languages so you can start programming instantly in your favorite language.

View Documentation
# Fill in the details of your Talon.One Application here
talon = TalonOne::Integration::Client.new :endpoint => 'https://mycompany.talon.one',
                                          :application_id => 213,
                                          :application_key => '5ea4583bfb81beef'

result.events.effects.each do |effect|
  if effect.function == "acceptCoupon"
    @talon_msg = "Coupon Accepted."
  elsif effect.function == "setDiscount"
    @sale.discount = effect.args[1].to_f/total.to_f
    @sale.save
  end
end
// Fill in the details of your Talon.One Application here
$t = new TalonOne();
$t->subdomain = "demo";
$t->applicationId = 1;
$t->applicationKey = "fefecafedeadbeef";

$t->processEffects($response,
                   array('acceptCoupon' => $acceptCoupon)
// Fill in the details of your Talon.One Application here
ApiClient t = api.getApiClient();
t.setApplicationId("18");
t.setApplicationKey("fefecafedeadbeef");
t.setBasePath("http://mycompany.talon.one");
t.setLenientDatetimeFormat(true);

for (int i=0; i<result.event.effects.length; i++) {
  Effect effect = result.event.effects[i];
  if (effect.function == "acceptCoupon") {
    handleAcceptCoupon(effect, effect.args[0]);
  } else if (effect.function == "acceptReferral") {
    handleAcceptReferral(effect, effect.args[0]);
  }
}
# Fill in the details of your Talon.One Application here
talon = TalonOne::Integration::Client.new :endpoint => 'https://mycompany.talon.one',
                                          :application_id => 213,
                                          :application_key => '5ea4583bfb81beef'

result = talon.update_customer_session "my_unique_session_id",
  "profileId" => "my_unique_profile_id",
  "attributes" => {
    "DestinationCity" => "Berlin"
  }
// Fill in the details of your Talon.One Application here
$t = new TalonOne();
$t->subdomain = "demo";
$t->applicationId = 1;
$t->applicationKey = "fefecafedeadbeef";

$response = $t->put("customer_sessions/testsession12345",
                    array('attributes' => array('DestinationCity' => 'Berlin'),
                                                'profileId'  => 'demo1234',
                                                'state'      => 'open'));
// Fill in the details of your Talon.One Application here
ApiClient t = api.getApiClient();
t.setApplicationId("18");
t.setApplicationKey("fefecafedeadbeef");
t.setBasePath("http://mycompany.talon.one");
t.setLenientDatetimeFormat(true);

NewCustomerProfile profile = new NewCustomerProfile();
profile.setCustomAttribute("DestinationCity", "Berlin");
# Fill in the details of your Talon.One Application here
talon = TalonOne::Integration::Client.new :endpoint => 'https://mycompany.talon.one',
                                          :application_id => 213,
                                          :application_key => '5ea4583bfb81beef'

result.events.effects.each do |effect|
  if effect.function == "acceptReferral"
    @talon_msg = "Referral Accepted."
  elsif effect.function == "setDiscount"
    @sale.discount = effect.args[1].to_f/total.to_f
    @sale.save
  end
end
// Fill in the details of your Talon.One Application here
$t = new TalonOne();
$t->subdomain = "demo";
$t->applicationId = 1;
$t->applicationKey = "fefecafedeadbeef";


$t->processEffects($response,
                   array('acceptReferral' => $acceptReferral)
// Fill in the details of your Talon.One Application here
ApiClient t = api.getApiClient();
t.setApplicationId("18");
t.setApplicationKey("fefecafedeadbeef");
t.setBasePath("http://mycompany.talon.one");
t.setLenientDatetimeFormat(true);

for (int i=0; i<result.event.effects.length; i++) {
  Effect effect = result.event.effects[i];
  if (effect.function == "acceptCoupon") {
    handleAcceptCoupon(effect, effect.args[0]);
  } else if (effect.function == "acceptReferral") {
    handleAcceptReferral(effect, effect.args[0]);
  }
}

Achieve world-class results using the Promotion Engine

Worldwide, businesses rely on Talon.One's Promotion Engine to deliver meaningful customer experiences, increase their customer base, reduce costs and grow revenue.


Lowered CAC by 25%

18% improvement in customer retention rate.

Increased revenue by 5%

150% improvement in customer purchase frequency.

Lowered spend by 25%

3x more fraudsters blocked while reaching more target customers.

Want to watch a quick live demo?