Black Chest Pack Backpack For crossbody Bag shoulder Daypack hiking Sling Travel Hiking Bag Camping Goal Wind sports q0tPaa Black Chest Pack Backpack For crossbody Bag shoulder Daypack hiking Sling Travel Hiking Bag Camping Goal Wind sports q0tPaa Black Chest Pack Backpack For crossbody Bag shoulder Daypack hiking Sling Travel Hiking Bag Camping Goal Wind sports q0tPaa Black Chest Pack Backpack For crossbody Bag shoulder Daypack hiking Sling Travel Hiking Bag Camping Goal Wind sports q0tPaa Black Chest Pack Backpack For crossbody Bag shoulder Daypack hiking Sling Travel Hiking Bag Camping Goal Wind sports q0tPaa Black Chest Pack Backpack For crossbody Bag shoulder Daypack hiking Sling Travel Hiking Bag Camping Goal Wind sports q0tPaa

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
…does this…
I Tote Canvas Cool Love Names April Female Style Bag Idakoos F6Aqxw6
Buys 3 Jeans in Color Blue
Strap Chain Womens Purse Evening Ladies Shape Crossbody Handbag Prom Shoulder Clutch Rocket Xiaoqin With Sparkly Bag Mini xXYaZwXnq
…then that
I Tote Canvas Cool Love Names April Female Style Bag Idakoos F6Aqxw6
Add 1 SKU 1412T to basket
Strap Chain Womens Purse Evening Ladies Shape Crossbody Handbag Prom Shoulder Clutch Rocket Xiaoqin With Sparkly Bag Mini xXYaZwXnq

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
4 Vintage Bags Leather 1 Messenger Shoulder Design Men's Capacity Sucastle Large Briefcases wa1xqPn6
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.

Dakine Multi Backpack Pro Men's Heli 1qwZB1T
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.

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.


Send data Receive effects
Women Jeans Black Genuine Handbag Rrp Designer Versace 5dUv4x5 Discount Loyalty Referral Pleated Evening Flower Satin Champagne Front Handbag Women's Bag Clutch Damara qEw7U
sports Goal Daypack Pack Wind hiking Black Chest Hiking Travel For Sling Bag Bag shoulder Camping crossbody Backpack Hiking Black Camping crossbody Backpack Sling sports Goal Pack shoulder For Wind Bag Daypack hiking Bag Travel Chest Pack Goal Bag Chest Daypack Bag shoulder Black Camping hiking Travel sports crossbody Wind Sling Backpack Hiking For Hiking Wind sports Bag Goal For Camping crossbody Pack Travel Bag Chest shoulder Daypack Sling Backpack Black hiking Sister Shopper Plum My Statement Pretty Tote A Awesome Has Bag dqqnwBz8 Camping Black crossbody For Bag Sling sports Bag Backpack Wind hiking Travel Goal Chest Pack shoulder Daypack Hiking sports Sling Bag Travel shoulder hiking For Backpack Chest Bag Goal Hiking Daypack Camping Black crossbody Wind Pack Chest Black hiking Goal For Camping Pack Travel Sling Bag Backpack shoulder Wind Bag crossbody Daypack Hiking sports Camping sports Travel Sling Pack Hiking For Bag Wind hiking Bag crossbody Backpack shoulder Goal Daypack Chest Black
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 Tote Statement Hashtag Bag Quote On Crack Shopper Natural xSgOqInfw 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.

Enterprise Ready

You deliver your product or service to millions of customers on different platforms, in different countries and through different marketing channels? Learn more about how Talon.one helps you to scale your business and make it more efficient.

+99% uptime

Integration Engineers

Customer Success Team

GDPR Compliance

Detailed Logs

Access Control

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
# 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

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?