Occasionally, a campaign might not trigger the effects you expect. Luckily, Talon.One’s campaign logic and troubleshooting tools make it easy to identify the issue’s origin, and quickly implement a fix.
This guide walks through the steps we take when debugging a campaign. Several of these features require a fundamental understanding of the Talon.One Integration and Management API. Several also require Admin access, as Talon.One is very cautious in giving users access to send requests to production environments. However, this should ultimately be usable for marketing users with a solid technical foundation and basic understanding of APIs.
Copy the Campaign into a Testing Application
If the campaign in question is in a production environment, you can easily duplicate the campaign into a sandbox or testing application.
Simply navigate to the campaign view of an application, and use the Copy button on the rightmost column for the campaign in question. Then, you can choose the application(s) to which you want to copy the campaign.
Check the obvious: Status, Budget, and Priority
Take a good look at the campaign setup, paying extra attention to the following fields:
- Status: the “is it plugged in?” check –– make sure the campaign is Active in the CampaignDashboard. You can access the Campaign Dashboard by selecting the campaign from the list of all campaigns in an Application.
- Budget: also on the Campaign Dashboard, ensure that any configured budget is within its limit. Note that a session which would exceed a campaign’s budget will not trigger effects in that campaign.
- Priority: if your campaign isn’t registering any effect, ensure that it is in the right spot in the Application’s Priority page. Make sure there isn’t another campaign with higher, exclusive priority blocking your campaign from firing.
If using Loyalty, Gift Cards, or Referrals, be sure to read through the appropriate help center guide to ensure you have the rules configured correctly.
Review Conditions & Effects
Take a close look at the setup of your rules. Check for typos in any validated attributes. Note that rules are evaluated in the order they are displayed in the campaign, so ensure rules and effects are all ordered correctly.
Additionally, review if the effects are logical. Talon.One effects are designed not to fire when the effect doesn't make sense – negative discounts, webhooks with blank payloads, et cetera.
Note also that if one effect in a rule fails, then the other effects in the same rule will also fail.
Check the Sessions and Events Tables
Each Application has two related and useful tables you may view from the left menu of the Application: Sessions and Events.
Every customer transaction in your integration takes place over a Customer Session. Sessions are typically composed of multiple Events, usually a few session update events, followed by one session close event. Note that some behaviors (like updating a coupon’s redemption counter) only occur or persist on session close. When testing, be sure to close the test session to observe the entire behavior.
The Sessions table includes a row for each individual Session ID. It can be expanded to open a page for an individual Session (see screenshot below), including its Events, Attributes, and Cart Items. The Sessions table can be filtered by Customer Id, Session Id, Session State, date, and Coupon or Referral Code.
Each Application also has its own Events table (see screenshot below), where you can likewise easily filter by session ID, coupon, campaign name, or customer integration ID to isolate the sessions you want to check. From here, you can likewise access the same page for an individual Session.
When debugging, it’s helpful to identify one specific session which did not perform as expected. If you do not already have one, the Sessions table is a great place to navigate through multiple sessions and find a helpful example. The Events table is helpful to quickly scan events from multiple sessions, viewing the triggered effects for each event.
Once you have identified an example session, you can carefully look at the session’s Attributes and Cart Items, and compare with what is used in the given campaign.
Check the Integration API Log (Admins Only)
Once you’ve found a session ID and checked the effects in the simplified Events table, it may be beneficial to search the API Logs for your deployment. In the API Log, you can search for a specific session by filtering the path, like customer_sessions/your_session_id.
In this view, you can view the full API request and response via the two tabs within a log entry.
Note that the full API Log is in the Dev Tools section and is therefore only available to Administrators.
Use the API Tester (Admins Only)
If you’ve carefully checked the campaign and sessions, it may be beneficial to send a test session to the campaign.
In the API Tester, you can easily mock up a customer session with the proper payload and attributes to trigger the desired effects.
Note that the API Tester is in the Dev Tools section and is therefore only available to Administrators.
Add a 'Coupon Code is Valid' Condition
If your campaign doesn’t have coupons, it can be very helpful to add a coupon and a ‘coupon code is valid’ condition check. This returns a Coupon Rejection Reason in the response, which can identify a more specific reason the campaign is not behaving as you expect.
Add a 'Create a Notification' Effect
If your campaign calculates a discount or loyalty points via a formula, but the calculated discount or points don’t seem quite right, it can be helpful to check each component of the formula.
A great trick to do so is to use the “Create a notification” effect, in which you can access the palette and select any Attribute or Cart Filter output to include in the body. Combine this with the API Tester to quickly check what’s ‘under the hood.’
Check the Audit Log (Admins Only)
If you are unable to recreate the issue and it has not been observed recently, it may be worth checking the history of the campaign’s rulesets. This way, you can see if any discrepancies were caused by a changed rule. You can do this most easily via the “Audit Log” in your Account settings:
Alternatively, you can export changes to a specific campaign by the List Campaign Rulesets endpoint in the Management API.