Handbag Cole Reaction Shoulder Top Magnolia Brook Bag Messenger Kenneth Crossbody Handle Stony Kn1550 Iwdq5dnS Handbag Cole Reaction Shoulder Top Magnolia Brook Bag Messenger Kenneth Crossbody Handle Stony Kn1550 Iwdq5dnS

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
In Made Tuscan Man Bag Italy Leather Color Honey HzqfOz
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.

Frances Beaded Squash Multi Mary Handbag Clutch Blossom Crossbody dg4gtwpx
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
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?