# Manage general settings

> Manage the general settings of your Application. These settings are applied to all the campaigns you create and manage in the Application.

> For the complete documentation index, see [llms.txt](https://docs.talon.one/llms.txt).

<FeatureAccessInfoBox>
Only users with full access
to a given Application can use the General settings section.
</FeatureAccessInfoBox>

## Code case sensitivity

When [creating an Application](/docs/product/applications/create-and-manage-applications.md), you
can choose to take the case of the codes into account when your customers
enter coupon codes, and how these are stored in the database. If necessary, you can edit
your Application's code case sensitivity later.

:::important
Editing code case sensitivity after creating the Application makes the
codes in your database that are not in the newly selected case unredeemable. The way codes
have been stored cannot be modified.
:::

:::note Example
If you created your Application with **Case insensitive - Lowercase**, all
your codes are stored in lowercase.

When you change the code case sensitivity to uppercase,
codes created before the case change can only be redeemed if they are entered in
lowercase, regardless of how rules refer to them and of the new code case sensitivity
option.
:::

### Edit code case sensitivity

1. On the left-side menu of your Application, click <Settings className="icon"/> **Settings** \> **General Settings**.
1. Select your preferred option:

   - **Case insensitive, stored in uppercase (recommended)** for codes to be stored in
     uppercase and the Rule Engine to ignore the case when customers type the codes.
   - **Case insensitive, stored in lowercase** for codes to be stored in lowercase and
     the Rule Engine to ignore the case when customers type the codes.
   - **Case sensitive** for codes to be stored and evaluated as they are provided to Talon.One.

  :::note
  If your Application type is *live*, click **Update Application name** in
  the pop-up that appears to confirm this action.
  :::

## Cascading discounts

Use cascading discounts to build campaigns that factor in discounts given by
other campaigns in a single session and block discounts from exceeding the session total.

You can set the order and mode by which the Rule Engine evaluates your campaigns
in the
<Priority className="icon" /> [Campaign Evaluation](/docs/product/applications/manage-campaign-evaluation.md)
section of the Application.

### Considerations

Cascading discounts are enabled by default for new Applications.

This feature is not applied retroactively. Any rules created before cascading discounts
were enabled are not affected, so you must recreate any rules that require this feature.

When cascading discounts are enabled, the following [built-in attributes](/docs/product/account/dev-tools/manage-attributes.md#built-in-and-custom-attributes) are available in all the campaigns in the Application:

- <Attribute name="Discounted Cart Items Total (Current Session)" type="builtin" />
- <Attribute name="Discounted Additional Costs Total (Current Session)" type="builtin" />
- <Attribute name="Discounted Price of Item (Item)" type="builtin" />
- <Attribute name="Discounted Session Total (Current Session)" type="builtin" />

:::note
You can use any of the cascading discount-specific attributes when building your
rules, regardless of the discount calculation behavior selected. The discount calculation
behavior refers to the discount scope set by default for your Application, but it can be
overridden in the Rule Builder.
:::

### Example

If you have two campaigns running, one providing a $10 discount and the
second offering a 20% discount in a given session update where cascading discounts apply,
the following happens:

1. The first campaign applies a $10 discount on a $100 session total.
1. The second campaign applies a 20% discount on the newly discounted session total of $90.

### Manage cascading discounts

Select whether discount effects should apply to cart items, additional costs, or both.

To manage cascading discounts:

1. On the left-side menu of your Application, click <Settings className="icon"/> **Settings** \> **General Settings**.
1. In **Cascading Discounts**, choose which of the following the [Discount Session Total][discEffects]
   and [Discount Individual Items][discEffects] effects should apply to:

   - **Cart items only (default)**
   - **Cart items and additional costs**
   - **Additional costs only**

:::note
Enabling this feature prevents discounts from exceeding the session total. To allow
discounts to exceed the session total, disable it.
:::

## Partial discounts and rewards

### Partial discounts

When you [create a discount effect](/docs/product/rules/effects/use-effects.md#use-discount-effects),
you can allow a lower discount to be issued if the remaining budget is insufficient to issue
the full discount.

For example, if there is a discount effect applying a $20 discount when the conditions of the
rule are met but the remaining campaign budget is $10, a partial discount will be applied and
your customer will receive a $10 discount.

If you use the [Discount individual items](/docs/product/rules/effects/use-effects.md#discount-individual-items)
effect in your rules and this feature is enabled, the rule passes even if the
budget is insufficient to apply the full discount to every eligible cart item. In this case,
one of the items in the list receives a lower discount and some items may receive no discount.

Similarly, when the number of discount effects is limited by a defined campaign budget,
effects are applied partially. The campaign returns as many effects as the [usage counter][budgets] allows.

### Partial rewards

When you [create an incentive effect to add loyalty points](/docs/product/rules/effects/use-effects.md#use-incentives-effects),
you can allow a lower amount of points to be awarded if the remaining budget is insufficient
to award the full reward.

For example, if there is an incentive effect awarding 100 loyalty points when the conditions of
the rule are met but the remaining campaign budget is 40, a partial reward will be awarded
and your customer will receive 40 loyalty points.

### Enable partial discounts and rewards

To enable partial discounts and rewards:

1. On the left-side menu of your Application, click <Settings className="icon"/> **Settings** \> **General Settings**.
1. Enable **Partial discounts and rewards**.

:::note
The option selected in the **General settings** section refers to the default behavior of your
Application, but it can be overridden in the Rule Builder when creating [discount effects](/docs/product/rules/effects/use-effects.md#use-discount-effects)
and [loyalty effects](/docs/product/rules/effects/use-effects.md#use-incentives-effects).
:::

## Campaign staging and revisions

This campaign feature allows you to do the following:

- Stage your campaigns for testing before activation. See [Test a campaign][test-campaign].
- Revise your [active campaigns][campaign states] to apply independently tested changes.
  See [Revise campaigns][revise-campaign].

### Considerations

If you enable this feature, you can expect the following changes to your Application:

- Additional [campaign states][campaign states] are
  introduced: <StateLabel type="staged" name="Staged" />, <StateLabel type="revised" name="Revised" />,
  and <StateLabel type="pending" name="Pending" />.
- You need an [Integration API key](/docs/product/applications/manage-api-keys.md)
  specifically [for testing][testing-key] to test <StateLabel type="staged" name="Staged" />
  and <StateLabel type="revised" name="Revised" /> campaigns.
  - The requests you send to test these campaigns must be [dry requests][dry].
    See [Integration API key types][IAPI key types].
- You can no longer edit the [rules][rules] and [settings][settings]
  of <StateLabel type="scheduled" name="Scheduled" />, <StateLabel type="running" name="Running" />,
  and <StateLabel type="expired" name="Expired" /> campaigns.

  - To make changes, [revise the campaign][revise-campaign].
  - You can still create and manage [coupons][coupons], [referrals][referrals],
    [stores][stores], and [achievements][achievements].

- [Campaign insights][insights] are not available for <StateLabel type="revised" name="Revised" /> campaigns.

### Enable campaign staging and revisions

:::caution
After enabling campaign staging and revisions, you can no longer do the following:

- Disable the feature.
- Unarchive and edit <StateLabel type="archived" name="Archived" /> campaigns.
- Use the [Update campaign][update-campaign] endpoint and certain rule-related endpoints.

We highly recommend you contact our [support team](mailto:support@talon.one)
to understand how enabling this feature affects your integration.
:::

To enable campaign staging and revisions:

1. On the left-side menu of your Application, click <Settings className="icon"/> **Settings** \> **General Settings**.
1. Scroll down the page and select **Campaign staging and revisions**.

## Related pages

- [Cart item flattening](/docs/product/rules/cart-item-flattening.md)
- [Cart item filters](/docs/product/rules/cart-item-filters/overview.md)

[campaign states]: /docs/product/campaigns/overview.md#campaign-states
[update-campaign]: /management-api#tag/Campaigns/operation/updateCampaign
[revise-campaign]: /docs/product/campaigns/revise-campaigns.md
[test-campaign]: /docs/product/campaigns/create-and-manage-campaigns.md#test-a-campaign
[testing-key]: /docs/product/applications/manage-api-keys.md#create-a-testing-api-key
[rules]: /docs/product/rules/overview.md
[coupons]: /docs/product/campaigns/coupons/coupon-page-overview.md
[referrals]: /docs/product/campaigns/referrals/referral-overview.md
[achievements]: /docs/product/achievements/overview.md
[settings]: /docs/product/campaigns/settings/overview.md
[insights]: /docs/product/campaigns/analytics/campaign-insights.md
[budgets]: /docs/product/applications/display-customer-profiles.md#budgets
[discEffects]: /docs/product/rules/effects/available-effects.md#discount-effects
[dry]: /docs/dev/integration-api/best-practices.md#dry-requests
[IAPI key types]: /docs/product/applications/manage-api-keys.md#integration-api-key-types
[stores]: /docs/product/campaigns/settings/manage-campaign-stores.md
