No limitations in creating complex promotions

Once your data is integrated into the Promotion Engine, you can easily build complex rules for your campaigns 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 Talon.One works

Effective. 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 data to Talon.One through the powerful API, like customer profiles, customer activities and company or 3rd party data.

2
2

Build and manage your promotions

Create campaigns, define complex rules and customize their workflows using our drag and drop interface

3
3

Send the right reward at the right time

Send promotions like discounts or loyalty points to users based on their behavioral interactions. You can even trigger effects from any 3rd party system, like email or CRM system.

Rule Builder Integrate rewards Powerful API

The technical infrastructure of Talon.One

Our engine receives data from your system, validates your promotion rules, then sends back 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
Define promotion rules
Learn more…

Send custom data via the API and trigger effects when the Promotion Engine validates your rules. You can even automate campaigns using the Management API without the need of our UI.

Learn more…

Your campaign rules are checked by the Promotion Engine. If a customer qualifies for your campaign and all the rules match, they are rewarded with effects like discounts, coupon codes, loyalty points, etc.

Learn more…

Marketers can easily set up campaigns and create promotion workflows using the Campaign Manager UI once their data is integrated, without relying on any developers.

Free on-site Integration Engineer

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

Our flexible promotion API scales to your demands

We define success in how little promotion code you have to write. Quickly integrate our simple, modern APIs that are built for scaling companies with high availability.


For developers by developers

Our API-first approach means you will always have a modern and easy-to-use API that enables the setup of a powerful campaign logic in under 5 minutes.

We support several languages so you can simply start programming 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 with targeted promotional workflows

Worldwide, businesses rely on Talon.One's Promotion Engine to engage and maximize their audience, 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?