Skip to main content

Troubleshooting campaigns

Sometimes, a campaign might not trigger the effects you expect. Here are a few ways you can use to troubleshoot your campaigns. Most of these tips assume you have admin access.

Rule troubleshooting

Checking the status, budget, and evaluation

Ensure the following properties of your campaign are correct:

  • Status: Ensure the campaign is Active in the Campaigns entry of your Application.
  • Budget: Ensure that any configured budget is within its limit. A session which would exceed a campaign's budget will not trigger effects in that campaign.
  • Evaluation: If your campaign isn't registering any effect, ensure that it is in the right evaluation group in the Application's Campaign Evaluation page. Ensure there isn't another campaign in a group with an exclusive evaluation mode blocking your campaign from running.

Reviewing conditions and effects

Check the setup of your rules:

  1. Check for typos in any validated attributes.
  2. Rules are evaluated in the order they are displayed in the campaign, so ensure rules and effects are in the right sequence.
  3. Review if the effects are logical. Effects do not fire when the effect doesn't make sense. For example: negative discounts, webhooks with blank payloads...
important

If one effect in a rule fails, then the other effects in the same rule will also fail.

Adding a Coupon Code is Valid condition

If your campaign doesn't have coupons, it can be helpful to add a coupon and a coupon code is valid condition.

This returns a Coupon Rejection Reason in the response, which can identify a more specific reason the campaign is not behaving as you expect.

Adding a Create a Notification effect

Use the Create a notification effect and use it to display any attribute or cart filter value.

Checking if the API key is valid

Ensure that the API key of your Application has not yet expired. Click Settings > Developers settings in the Application's left-side menu.

In the API Keys section, check the status of all the API keys of the Application. If none of them is active, generate a new one and run your campaign again to check if the problem has been resolved.

Copying the campaign into a Testing Application

If the campaign to troubleshoot is in a production environment, you can duplicate the campaign into a sandbox or testing Application:

  1. Open your Application.
  2. Click Campaigns in the left menu.
  3. Click in the Copy column.
  4. Choose the Application(s) to which you want to copy the campaign.
  5. Ensure that there is a valid API key for the target Application.

Using the API Tester

Send a test session to the campaign using the API tester. You can also use Postman or any other API platform if you prefer.

Checking the sessions and events pages

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.

When debugging, identify one specific session that did not perform as expected. If you do not already have one, use the Sessions view to navigate through multiple sessions and find a valuable example.

After you have identified an example session, look at the session's attributes and cart items, and compare with what is used in the given campaign.

To display a session's effects:

  1. Open the Application of your choice.
  2. On the left-side menu, click Sessions.
  3. Click the session of your choice and display the triggered effects.

Use the Events view to scan events from multiple sessions and display the triggered effects for each event.

To display an Application's events:

  1. Open the Application of your choice.
  2. On the left-side menu, click Events.
note

Some behaviors (like updating a coupon's redemption counter) only occur or persist on session close. When testing, ensure to close the test session to observe the entire behavior.

Checking the logs

Checking the audit logs

If you are unable to recreate the issue and it has not been observed recently, check the history of the campaign's rules. This way, you can see if any discrepancies were caused by a changed rule.

You can do this by checking the audit logs.

You can export changes to a specific campaign by the List campaign Rulesets endpoint in the Management API.

Checking the Integration API log

After you've found a session ID and checked the effects in the Events table, search the Integration API logs for your deployment. In the logs, 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.