Promotion Sandbox Testing Tool
The Promotion Sandbox is a testing environment built into AccuArk that lets you simulate how the promotion engine evaluates a cart without processing a real transaction. Before activating a new promotion, you can use the Sandbox to verify that it triggers correctly, that the discount amount is calculated as expected, that stacking rules behave properly, and that no unintended interactions occur with other active promotions. This guide covers every feature of the Sandbox and explains how to use it effectively.
Opening the Sandbox
To access the Promotion Sandbox:
- Open the Marketing module from the main navigation.
- Click Promotion Sandbox in the Marketing submenu.
The Sandbox opens in a dedicated screen with a simulated cart on the left and a results panel on the right. No real invoices, transactions, or inventory changes are created during Sandbox testing — everything is purely simulated.
Purpose
The Sandbox exists to eliminate surprises. When you create a new promotion, there are many variables that affect whether it triggers and how much discount it gives: the items in the cart, the customer segment, the location, the time of day, stacking rules, mutual exclusions, usage limits, and more. Testing each combination in a live POS environment would require creating real transactions and potentially giving away real discounts.
The Sandbox solves this by running the exact same promotion engine logic used at the POS, but against a virtual cart that you build manually. The results show you exactly what would happen if that cart were processed at the register, without any real-world consequences.
Building a Test Cart
The left side of the Sandbox screen provides controls for building a simulated cart. Follow these steps to set up your test scenario:
Step 1: Select Items from Inventory
Use the item search field to find and add items to the simulated cart. You can search by item name, SKU, or barcode. Click an item in the search results to add it to the cart.
The cart displays each item with its name, SKU, unit price, and quantity. The subtotal updates automatically as items are added.
Add all the items that represent the scenario you want to test. For example, if you are testing a BOGO promotion on shirts, add two or more shirts to the cart. If you are testing a tiered discount that requires a $100 minimum, add enough items to exceed that threshold.
Step 2: Set Quantities
After adding items, adjust the quantity for each item using the quantity field next to the item name. The subtotal recalculates automatically.
Quantity matters for promotions that have minimum purchase requirements. For example, a "Buy 3 Get 1 Free" BOGO requires at least three units of the qualifying item. Testing with only two units should correctly show that the promotion does not apply.
Step 3: Select a Customer (Optional)
To test promotions that target specific customer segments or first-time customers, select a customer from the customer search field. The Sandbox loads the customer's profile, including their segment membership, purchase history, and loyalty status.
If no customer is selected, the Sandbox simulates an anonymous transaction. This is useful for verifying that customer-targeted promotions correctly exclude anonymous transactions.
Testing with a customer is essential for:
- Segment-targeted promotions — Verify that the promotion only applies when the customer belongs to the correct segment.
- First-time customer promotions — Verify that the promotion applies for a customer with no prior purchases and does not apply for a returning customer.
- Per-customer usage limits — Verify that the promotion correctly blocks a customer who has already reached their usage limit.
Step 4: Select the Location
Choose the POS location from the location dropdown. This simulates running the transaction at a specific store or branch.
Location selection is important for promotions that are scoped to specific locations. A promotion configured to apply only at the "Downtown Store" should not trigger when the Sandbox location is set to "Airport Kiosk." Testing across different locations confirms that the location scoping is working correctly.
Step 5: Set the Date and Time
The Sandbox allows you to override the current date and time to simulate transactions at different points in time. This is critical for testing:
- Happy hour promotions — Set the time to fall within the happy hour window and verify the promotion triggers. Then set the time outside the window and verify it does not.
- Flash sale promotions — Set the date and time to fall within the flash sale period and confirm the discount applies.
- Expired promotions — Set the date past the promotion's end date and verify it is correctly excluded.
- Future promotions — Set the date to the promotion's start date and verify it activates at the right time.
The date and time override applies only within the Sandbox — it does not affect the system clock or any real transactions.
Running the Simulation
Once the test cart is configured, click the Evaluate button to run the promotion engine against the simulated cart. The engine performs the exact same evaluation process that runs at the live POS:
- Loads all active promotions.
- Checks eligibility (date range, location, customer segment, usage limits).
- Sorts by priority.
- Evaluates each promotion against the cart items and subtotal.
- Applies stacking rules (caps, exclusions, combination restrictions).
- Calculates the resulting discounts.
The evaluation typically completes in under one second. The results appear in the right panel immediately after the evaluation finishes.
Reading the Results
The results panel provides a detailed breakdown of the evaluation outcome, organized into four sections:
Applied Promotions
This section lists every promotion that matched the cart and was approved by the stacking rules. For each applied promotion, the results show:
- The promotion name and type.
- The discount amount calculated for this cart.
- Whether it was applied at the invoice level or the item level.
- The priority number that determined its evaluation order.
This is the primary section to check when verifying a new promotion. If your new promotion appears here with the expected discount amount, it is working correctly for this test scenario.
Discount Breakdown
The discount breakdown shows the total discount organized by source:
- Total invoice discount — The sum of all invoice-level promotion discounts.
- Total item discounts — The sum of all item-level promotion discounts.
- Coupon effect — The discount that would result from a coupon code (if you entered one in the Sandbox).
- Loyalty effect — The discount that would result from loyalty point redemption (if you configured loyalty redemption in the test).
This breakdown mirrors the discount summary that would appear on a real invoice, giving you a preview of what the cashier and customer would see.
Stacking Decisions
This section is unique to the Sandbox and provides insight into the stacking engine's decision-making process. It shows:
- Which promotions were blocked by stacking rules and the specific reason for each block.
- If the maximum promotions per invoice limit was hit, which promotions were cut and which were kept (based on priority order).
- If a discount cap was applied, the original uncapped total and the capped total, along with how the reduction was distributed.
- If a combination restriction prevented a promotion from stacking with a manual discount, coupon, or loyalty redemption.
Stacking decisions are critical for understanding why a promotion did not apply even though its conditions were met. If your new promotion is being blocked, this section tells you exactly which stacking rule is responsible.
Exclusions Hit
This section shows which mutual exclusion pairs were triggered during the evaluation. If two promotions are configured as mutually exclusive and both were eligible, this section shows:
- The two promotion names involved in the exclusion.
- Which one was kept (the higher-priority promotion).
- Which one was excluded.
Reviewing exclusions helps you verify that your mutual exclusion configuration is working as intended and that the correct promotion wins when two exclusive promotions compete.
Testing Before Go-Live
The most important practice when creating new promotions is to always test in the Sandbox before setting the promotion's status to Active. Here is the recommended workflow:
- Create the promotion in Draft status.
- Open the Promotion Sandbox.
- Build a test cart that represents the ideal scenario where the promotion should trigger.
- Run the evaluation and verify the promotion appears in the Applied Promotions section with the correct discount.
- Modify the test cart to represent scenarios where the promotion should not trigger (wrong items, wrong customer, wrong time, etc.) and verify it is correctly excluded.
- Test edge cases (see below).
- Once all tests pass, change the promotion status from Draft to Active.
This workflow prevents unexpected discounts from hitting real transactions. A promotion that accidentally applies too broadly or gives a larger discount than intended can cost the business real money before anyone notices the problem.
Tips: Test Edge Cases
Beyond the happy path, test these edge cases to ensure your promotion is bulletproof:
- Empty cart — Run the evaluation with no items. No promotions should apply. This verifies that all promotions have proper item or subtotal requirements.
- Minimum-spend thresholds — Set the cart subtotal to exactly one cent below the minimum spend requirement. The promotion should not apply. Then add one more cent and verify it does.
- Expired dates — Set the Sandbox date to one day after the promotion's end date. The promotion should not apply.
- Wrong location — Select a location that is not in the promotion's scope. The promotion should not apply.
- Wrong customer segment — Select a customer who does not belong to the targeted segment. The promotion should not apply.
- Usage limit reached — If the promotion has a per-customer limit and the selected customer has already reached it, the promotion should not apply.
- Stacking conflicts — Add items that qualify for multiple promotions simultaneously and verify the stacking rules produce the expected outcome.
- Maximum discount cap — Build a cart where the combined discounts would exceed the cap, and verify the cap is enforced correctly.
Testing edge cases catches configuration errors that would otherwise only be discovered during live transactions.
What to Read Next
- Marketing Best Practices and Tips — General recommendations for designing, testing, and managing promotions effectively.
- Stacking Rules and Discount Caps — Understand the stacking configuration that the Sandbox evaluates.
- How Promotions Apply Automatically at the POS — Learn how the same engine runs in real time during live transactions.