Everything to know to use Talon.One efficiently.
How can I add custom attributes to coupons?
- Open Account > Dev Tools > Attributes > Create attribute.
- In Associated Entity, select Coupon. This makes the attribute a coupon attribute.
- You should enter the remainder of the necessary information and save your new attribute.
You can now use this attribute inside the Rule Engine to trigger effects based on the
attribute of your coupon.
How does Talon.One manage customer instances?
Each customer's data is isolated from others. Each customer has triple
redundant deployment instances of the Talon.One API and application server for data
On database-level, Talon.One uses twice redundant servers in warm-standby to ensure
high availability of the API.
For more information, see
Why doesn't Talon.One support Google Tag Manager?
Only using Talon.One via the browser isn't recommended for a few reasons:
- Requests from browsers can be falsified. Traffic from browsers cannot be trusted.
For instance, a customer can send a fake request to a game promotion claiming they are someone else.
- Your server manages actions such as discounts applied to orders and item prices.
Because server calls must be made, Talon.One cannot only be called via the browser.
However, avoid rewarding customers for behaviors they can fake.
Where can I find the requests sent to Talon.One?
In the Campaign Manager, open Account > Dev Tools > API Log, or open
What's the best practice regarding all opened sessions? Should these be destroyed?
You don't have to destroy any session.
The usual flow is:
- When a user enters a page/app, create a session using the
user-id as session identifier.
- At the end of the user's journey (creating a cart,
registration/login, checkout process), the user clicks on checkout. At this stage,
trigger a final
Update a Customer Session request containing:
For more information about states, see the Integration checklist.
How does Talon.One process cart contents?
For example, a user has 2 products in his cart: business carts and booklets.
The cart must be sent using the
cartItems array in the payload when you update a
Within this array, each item is an object with multiple attributes (built-in and custom
ones). In this case, let's assume the item category of
item A is
"category": "businesscards. The category of item B is
Now, you can create a condition based on the category, for example
if category equals booklets.
What is the recommended method to inform Talon.One that a coupon code has been used and is not longer valid?
If you use a coupon code, created or imported in Talon.one, close the session in which
the coupon code was used. Closing the session marks the coupon code as redeemed in Talon.One.
If you want to disable a coupon code without user interaction, open an
anonymous session containing the coupon code. After creating this session,
close the session to trigger the coupon redemption in the backend.
Is a new customer session required for every step of the customer during their journey?
No. Open a session when a user enters your site and close it after their journey is
complete. You can leave the session open if the user disconnects or leaves the page and
open the same session again after the user reconnects.
In other words, one journey (containing all user interactions) for one user must be represented as one session.
How are sessions handled after an anonymous user has logged in?
- When an anonymous user enters the page, create a session using the userID or an empty
string as the profile ID.
- After the user's logged in, change the profile ID in the
current session to the user's
The session is now connected to this logged-in user.
We recommend calling the Update a Customer Profile for every change in the user
profile to keep the user information stored in Talon.one updated.
Are coupon codes always unique, or can they be used multiple times across different campaigns?
The coupon codes are always unique in one application and can never be generated twice across different campaigns.
Should I transfer the same session payload for every call of
Update customer session?
No. Everything you once pass in a session stays in the session until you overwrite it with different values.
As long as you don't send empty parameters like:
“cartitems”: , parameters will not be overwritten.
What is the difference between the AdvocateProfile entity and the Profile entity?
If you have an active referral campaign you can use the advocate's profile entity to
get data from the advocate of the current user.
Is there a limit on the number of parallel opened sessions per customer profile?
No, There is no limit.
How many times is a webhook retried after receiving a timeout or a 500 error?
A webhook is retried 10 times.
Can you import existing coupons into Talon.One?
You can upload coupons into Talon.One over API using the coupon import
You cannot upload the codes in the frontend at this point.
Is the validation of coupon codes case sensitive?
You can set this during the application creation step.
It can be either: sensitive, insensitive-uppercase or insensitive-lowercase.
Is it possible to set a daily redemption limit of coupon codes?
You cannot create time-dependent budget limits at the moment.
Use the Management API in combination with a cronjob to increase the limit (+1000)
of a campaign at midnight.
Can I clear/delete all the data of a campaign or an application?
To delete a campaign:
- Click Apps and open the campaign to delete.
- Click Settings > Delete and click the Delete button.
To delete an application:
- Click Apps and select the application to delete.
- Click Settings > Delete and click Delete Application.
What timezone should I use in my API calls?
Certain properties in the API expect timestamps, like the
createdBefore property in
various GET endpoints. You can use any timezone. Talon.One will convert it to UTC