# Manage campaign budgets

> Budgets allow you to control the total monetary spending in your campaigns by restricting the benefits they give as you run different promotions. Budgets are useful as a security measure to avoid overspending, prevent fraud, and control the behavior of your campaigns.

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

You can [add budgets](#add-a-budget) for a given campaign
in <Settings className="icon" /> **Settings** >  **Budgets**.
Alternatively, set default budgets for all new campaigns created in your Application
by adding [default budgets](#default-budgets) for a given Application.

:::important
This feature does not work retroactively. You can track campaign behavior
and limit spending only after a budget is created.
:::

## Budget types

There are different budget types to match the restriction you need. They can
refer to the entire campaign or to different entities, like coupons or referrals.

You can create coupon and referral budgets only if
the [coupon and referral features](/docs/product/campaigns/settings/manage-campaign-features.md)
are enabled in your campaign. You can create store budgets only if your
Application contains [stores](/docs/product/applications/display-stores.md).

{

 <colgroup>
   <col span="1" style={{width:20+"%"}}/>
   <col span="1" style={{width:35+"%"}}/>
   <col span="1" style={{width:45+"%"}}/>
  </colgroup>
  
    
    Budget type
    Description
    Example
    
  
  
    
      
          <CampaignBudget className="icon" /> Campaign Budgets
      
      
        
          Applied to the entire campaign.
        
        
          These budgets can be tracked in the Performance &amp; Budget section of your campaign dashboard.
        
        
          <Admonition type="tip">Add a campaign budget to campaigns whose effects can lead to unintended overspending.</Admonition>
        
      
      
        
          You can define the total amount you want to spend on a certain campaign, including discounts provided as referrals, giveaways, coupons and loyalty points.
        
      
    
   
      
          <CouponBudget className="icon" /> Coupon Budgets
      
      
        
          Applied to each coupon code.
        
      
      
        
          You can define how much discount and other benefits a single coupon can provide. For example, you can set how many discount effects each coupon code can trigger.
        
        
          Important: If you create a coupon budget for a campaign and any
          effect in the campaign impacts the budget, ensure that the session includes
          a coupon code by the time you close it. If
          the session doesn't include a coupon code, the rule containing the budget-impacting
          effect will fail regardless of whether the conditions are met.
        
        
          For example, if you create a discount budget that refers to coupons
          and a rule in the campaign contains a discount effect, the rule will always fail
          if the session does not include a coupon code when you close it.
        
      
    
    
      
          <ProfileBudget className="icon" /> Profile Budgets
      
      
        
          Applied to each customer profile in a given campaign.
        
        
          These budgets can be tracked in the customer profile, in the Budgets tab.
          
      
      
        
          You can limit how much discount and how many coupons, referrals, giveaways and loyalty points a single customer can obtain in a given campaign.&nbsp;
        
      
    
    
      
          <ReferralBudget className="icon" /> Referral Budgets
      
      
        
          Applied to each referral code.
        
      
      
        
          You can limit how much discount and other benefits a single referral code can provide.
        
        
          Important: If you create a referral budget for a campaign and any
          effect in the campaign impacts the budget, ensure that the session includes
          a referral code by the time you close it. If
          the session doesn't include a referral code, the rule containing the budget-impacting
          effect will fail regardless of whether the conditions are met.
        
        
          For example, if you create a discount budget that refers to referrals
          and a rule in the campaign contains a discount effect, the rule will always fail
          if the session does not include a referral code when you close it.
        
      
    
    
      <SessionBudget className="icon" /> Session Budgets
      
        Applied to each customer session.
        
          <Admonition type="note">You cannot make session budgets recurring.</Admonition>
        
      
      
        
          You can limit how much discount and other benefits to issue in a single customer session.
        
        
          Important: Any limit that you set resets after every session update.
        
      
    
    
      <StoreBudget className="icon" /> Store Budgets
      
        
        Applied to individual stores in a campaign.
        
        
          <Admonition type="note">If you delete a store 
          from your Application, or disconnect a store from a campaign, any budget
          you've set for the store is deleted too.</Admonition>
        
      
      
        
          You can limit the total amount an individual store can spend within a campaign.
        
        
          Budgets can be set individually for multiple stores linked 
          to a campaign. You can either set budgets manually or upload a CSV file
          containing store budgets if over 50 stores are linked.
        
      
    
    
      
          <UniqueIdentifierBudget className="icon" /> Unique Identifier Budgets
      
      
        
          Applied to each unique identifier.&nbsp;
        
        
          <Admonition type="tip">Use identifiers to prevent fraud.</Admonition>.
        
      
      
        
          You can limit how much discount and how many coupons, referrals, giveaways and loyalty
          points can be issued for a unique identifier such as an IP address. This helps you
          prevent customers from obtaining more discounts by creating several profiles.
        
        
          Important: If you create a unique identifier budget for a campaign and any
          effect in the campaign impacts the budget, ensure that the session includes
          an identifier by the time you close it. If
          the session doesn't include an identifier, the rule containing the budget-impacting
          effect will fail regardless of whether the conditions are met.
        
        
          For example, if you create a discount budget that refers to a unique identifier
          and a rule in the campaign contains a discount effect, the rule will always fail
          if the session does not include an identifier when you close it.
        
      
    
  

}

## Default budgets

Default budgets are useful for ensuring that your campaigns are limited
without having to set budgets individually for each campaign.
You can [add budgets](#add-a-budget) for all new campaigns in a given Application
in <Settings className="icon" /> **Settings** > **Default Budgets**.

:::important
- The limits from a default budget apply
  only to campaigns created after the default budget is set up.
- The limits set in campaign budgets override the limits set in default budgets.

  For example, if you create a default **Campaign budget** to limit **Coupon creations**,
  you can override this default budget after [creating a campaign][create campaign]
  in the campaign's budgets.
- You cannot create a default **Store budget** for your Application.
:::

## Limits

When you [add a budget](#add-a-budget), for each [budget type](#budget-types),
you can define the following limits:

- [Discounts](#discount-limits)
- [Referrals](#referral-limits)
- [Coupons](#coupon-limits)
- [Loyalty programs](#loyalty-limits)
- [Giveaways](#giveaway-limits)
- [Others](#other-limits)

You can set limits for coupons, referrals, loyalty programs, and giveaways only if
the [respective features](/docs/product/campaigns/settings/manage-campaign-features.md)
are enabled in your campaign.

Talon.One updates the limit counters for all budgets except session budgets after a
[session is closed](/docs/dev/concepts/entities/customer-sessions#customer-session-states).

See all the [available effects](/docs/product/rules/effects/available-effects.md)
in promotion rules.

### Effect of reached limits

Reached limits reflect in
the [Integration API](/docs/dev/integration-api/overview.md).
A reached limit generates a failure effect with a special rejection reason
for coupon and referral effects that you can check in the integration layer.
See the full list of API effects in
the [Developer docs](/docs/dev/integration-api/api-effects.md#interpret-the-different-effect-types).

If any [Rule Builder][rule] effect cannot be applied because of a reached limit, the entire rule fails.
This means:
- The rule is still evaluated in subsequent requests. It is not automatically excluded.
- Any other rules in the campaign whose conditions are met can still trigger their effects.

:::note
- Budgets are checked by the Rule Engine [when evaluating the effects](/docs/product/applications/evaluation-order-for-rules-and-filters.md#evaluate-effects)
that impact them. If a campaign's conditions are met but its
[budget limits](/docs/product/campaigns/settings/manage-campaign-budgets) have been
reached, the campaign does not trigger an effect and evaluation moves on to the next
campaign.
- When multiple budgets target the same API effect, the most restrictive budget limit is enforced.**Examples:**
  - If a campaign budget allows for a total discount of €1000 and a coupon budget allows for a total discount of €1200, coupons are rejected when the €1000 limit is reached.
  - If a profile budget allows six redemptions, but a specific coupon only allows two redemptions per profile, the coupon is rejected on its third use.
:::

### Discount limits

{

 <colgroup>
   <col span="1" style={{width:20+"%"}}/>
   <col span="1" style={{width:60+"%"}}/>
   <col span="1" style={{width:20+"%"}}/>
  </colgroup>
  
    
    Limit
    Description
    Budget type
    
  
  
    
      
          Discount total
      
      
        
          Set the maximum amount that can be discounted.&nbsp;
        
        
          For example, you can use this limit within a Campaign budget to set a total discount of $100,000 to be awarded in any way possible.
        
      
      
        
          Campaign
          Profile
          Unique identifier
          Coupon
          Referral
          Session
          Store
        
      
    
    
      
          Discount effects
      
      
        
          Set the maximum number of discount effects (including per-item discounts) that can be triggered.&nbsp;
        
        
          After this limit is reached, other effects in different rules can still be triggered if limits that may affect them have not yet been reached. All other effects in rules where there is a Discount effect fail to trigger.&nbsp;
        
      
      
      
          Campaign
          Profile
          Unique identifier
          Coupon
          Referral
          Session
        
      
    
  

}

### Referral limits

{

 <colgroup>
   <col span="1" style={{width:20+"%"}}/>
   <col span="1" style={{width:60+"%"}}/>
   <col span="1" style={{width:20+"%"}}/>
  </colgroup>
  
    
    Limit
    Description
    Budget type
    
  
  
    
      
          Referral redemptions
      
      
        
          Set the maximum number of referral code redemptions that can take place.
        
      
      
       
          Campaign
          Profile
          Unique identifier
          Coupon
          Session
        
      
    
    
      
          Referral creations
      
      
        
          Set the maximum number of referrals that can be created.
        
      
      
       
          Campaign
          Profile
          Unique identifier
          Coupon
          Referral
        
      
    
  

}

:::tip
Limit referral redemptions for individual referral codes when you
[create a referral code as an effect](/docs/product/rules/effects/use-effects.md#create-a-referral-code) or
on the [**Referrals**](/docs/product/campaigns/referrals/referral-overview.md) page after
you've created the codes.
:::

### Coupon limits

{

 <colgroup>
   <col span="1" style={{width:20+"%"}}/>
   <col span="1" style={{width:60+"%"}}/>
   <col span="1" style={{width:20+"%"}}/>
  </colgroup>
  
    
    Limit
    Description
    Budget type
    
  
  
    
      
          Coupon redemptions
      
      
        
          Set the maximum number of coupon code redemptions that can take place.
        
      
      
        
          Campaign
          Profile
          Unique identifier
          Referral
          Session
        
      
    
    
      
          Coupon creations
      
      
        
          Set the maximum number of coupon codes that can be created.
        
      
      
        
          Campaign
          Profile
          Unique identifier
          Coupon
          Referral
        
      
    
  

}

:::tip
- Limit coupon redemptions for individual coupon codes when you
  [create a coupon code as an effect](/docs/product/rules/effects/use-effects.md#create-a-coupon-code) or
  on the [**Coupons**](/docs/product/campaigns/coupons/coupon-page-overview.md) page after
  you've created the codes.

- You can set a discount limit for a coupon code in the following ways:
  - Create a [Create coupon code](/docs/product/rules/effects/use-effects.md#create-a-coupon-code)
    effect and select the **Campaign default settings (Use coupon budget limit)** or
    **Set a limit** options. The **Campaign default settings (Use coupon budget limit)**
    option only appears if your budget limits [Discount total](/docs/product/campaigns/settings/manage-campaign-budgets#discount-limits).
  - Create a [gift card](/docs/product/campaigns/coupons/create-coupons.md#generate-a-gift-card).
:::

### Loyalty limits

{

 <colgroup>
   <col span="1" style={{width:20+"%"}}/>
   <col span="1" style={{width:60+"%"}}/>
   <col span="1" style={{width:20+"%"}}/>
  </colgroup>
  
    
    Limit
    Description
    Budget type
    
  
  
    
      
          Loyalty points total
      
      
        
          Set the maximum number of loyalty points that can be collected by customers.
        
      
      
        
          Campaign
          Profile
          Unique identifier
          Coupon
          Referral
          Session
        
      
    
    
      
          Add loyalty points effect
      
      
        
          Set the maximum number of Add loyalty points effects that can be triggered.
        
        
          After this limit is reached, other effects in different rules can still be triggered if limits that may affect them have not yet been reached. All other effects in rules where there is an Add loyalty points effect fail to trigger.&nbsp;
        
      
      
       
          Campaign
          Profile
          Unique identifier
          Coupon
          Referral
          Session
        
      
    
    
      
          Loyalty points redeemed
      
      
        
          Set the maximum number of loyalty points that can be redeemed by customers.
        
      
      
      
          Campaign
          Profile
          Unique identifier
          Coupon
          Referral
          Session
        
      
    
    
      
          Redeem loyalty points effect
      
      
        
          Set the maximum number of Redeem loyalty points effects that can be triggered.
        
        
          After this limit is reached, other effects in different rules can still be triggered if limits that may affect them have not yet been reached. All other effects in rules where there is a Redeem loyalty points effect fail to trigger.&nbsp;
        
      
      
      
          Campaign
          Profile
          Unique identifier
          Coupon
          Referral
          Session
        
      
    
  

}

### Giveaway limits

{

 <colgroup>
   <col span="1" style={{width:20+"%"}}/>
   <col span="1" style={{width:60+"%"}}/>
   <col span="1" style={{width:20+"%"}}/>
  </colgroup>

    
    Limit
    Description
    Budget type
    
  
  
    
      
          Award giveaways
      
      
        
          Set the maximum number of giveaways that can be awarded.
        
      
      
        
          Campaign
          Profile
          Unique identifier
          Coupon
          Referral
          Session
        
      
    
  

}

### Other limits

{

 <colgroup>
   <col span="1" style={{width:20+"%"}}/>
   <col span="1" style={{width:60+"%"}}/>
   <col span="1" style={{width:20+"%"}}/>
  </colgroup>

    
    Limit
    Description
    Budget type
    
  
  
    
      
          Add free item effect
      
      
        
          Set the maximum number of Add free item effects that can be triggered.
        
      
      
        
          Campaign
          Profile
          Unique identifier
          Coupon
          Referral
          Session
        
      
    
    
      
          Custom effects
      
      
        
          Set the maximum number of custom effects that can be triggered.
        
        <Admonition type="note">
          
            Custom effects triggered on open sessions are taken into consideration.
          
        </Admonition>
      
      
        
          Campaign
          Profile
          Unique identifier
          Coupon
          Referral
          Session
        
      
    
    
      
          Webhook triggers
      
      
        
          Set the maximum number of webhooks that can be triggered.
        
      
      
        
          Campaign
          Profile
          Unique identifier
          Coupon
          Referral
        
      
    
  

}

## Recurrence

When you [add a budget](#add-a-budget), you can make it a recurring budget depending on the [budget type](#budget-types).
For example, you can create campaigns with daily discount limits or set the number of
coupons that each customer can redeem per week.

Regardless of when you launch your campaigns, the reset time for recurring budgets follows
calendar dates in your Application's time zone setting.

You can create one budget for each of the following recurrence options:

 <colgroup>
   <col span="1" style={{width:40+"%"}}/>
   <col span="1" style={{width:60+"%"}}/>
  </colgroup>

    
    Recurrence option
    Reset time
    
  
  
    
      No recurrence
      Does not reset after the budget is fully used.
    
    
      Every year
      January 1 at <code>00:00</code> hours.
    
    
      Every month
      The first day of each month at <code>00:00</code> hours.
    
    
      Every week
      On Mondays at <code>00:00</code> hours.
    
    
      Every day
      Every day at <code>00:00</code> hours.
    
  

## Use cases

You can use budgets to restrict the following benefits:

- Coupon redemptions within a campaign.

  Create a **Campaign budget** and limit **Coupon redemptions**.

- The number of coupons that each customer can redeem.

  Create a **Profile budget** and limit **Coupon redemptions**.

- The maximum amount that can be discounted per coupon.

  Create a **Coupon budget** and limit **Discount total**.

- The number of times a discount effect can be triggered for each coupon.

  Create a **Coupon budget** and limit **Discount effects**.

- The number of times a discount effect can be triggered for each referral.

  Create a **Referral budget** and limit **Discount effects**.

- The number of loyalty points each customer can collect.

  Create a **Profile budget** and limit **Loyalty points total**.

- The maximum amount an individual store can spend in a campaign.

  Create a **Store budget** and limit **Discount total**.

- The number of giveaways provided for a given IP address.

  Create a **Unique identifier budget** and limit **Award giveaways**.

## Add a budget

You can add a budget at any point, but its limits are not applied retroactively
to campaigns without a budget.

To add a budget:

1. On the left-side menu of your campaign, click <Settings className="icon"/> **Settings** > **Budgets**.
1. For the [budget type](#budget-types) you need, click <Add className="icon"/> **Add**.
1. For **Limit**, select [the limit](#limits) you want to apply.
1. In **Value**, type the maximum value of your budget.
1. In **Recurrence**, choose when the budget [resets](#recurrence).
   By default, **No recurrence** is selected.
1. For **Store budgets** only: In the **Store budgets** section, add stores and set a
   budget for each store.
1. Click **Create Budget**.

:::note
To add a default budget, on the left-side menu of your Application,
click <Settings className="icon"/> **Settings** > **Default Budgets**
and follow the rest of the steps listed above.
:::

## Edit a budget

You can modify the maximum value of a budget at any time. Modifying this value does _not_ affect
the [usage counter][counter].

To edit a budget:

1. On the left-side menu of your campaign, click <Settings className="icon"/> **Settings** > **Budgets**.
1. To the right of the budget you want to edit, click <Edit className="icon" />.
1. In **Value**, edit the maximum value of the budget.
1. Click **Save**.

:::note
To edit a default budget, on the left-side menu of your Application,
click <Settings className="icon"/> **Settings** > **Default Budgets**
and follow the rest of the steps listed above.
:::

## Delete a budget

Deleting a budget permanently removes any applied budget restrictions
and clears the [usage counter][counter].

To delete a budget:

1. On the left-side menu of your campaign, click <Settings className="icon"/> **Settings** > **Budgets**.
1. To the right of the budget you want to delete, click <Delete className="icon" />.
1. In the confirmation pop-up, click <Delete className="icon" /> **Delete Budget**.

:::note
To delete a default budget, on the left-side menu of your Application,
click <Settings className="icon"/> **Settings** > **Default Budgets**
and follow the rest of the steps listed above.
:::

## Related pages

- [Manage campaigns](/docs/product/campaigns/create-and-manage-campaigns.md)
- [Available effects in promotion rules](/docs/product/rules/effects/available-effects.md)
- [Evaluation order for rules and cart item filters](/docs/product/applications/evaluation-order-for-rules-and-filters.md)
- [Manage campaign stores](/docs/product/campaigns/settings/manage-campaign-stores.md)
- Tutorials:
  - [Create a gift card campaign](/docs/product/tutorials/coupons/giftcard.md)
  - [Use custom identifiers to prevent fraud](/docs/dev/tutorials/use-identifiers.md#other-ways-to-prevent-fraud)
  - [Cancel a session with campaign budgets](/docs/dev/tutorials/roll-back-effects.md)

[counter]: /docs/product/applications/display-customer-profiles.md#budgets
[rule]: /docs/product/rules/overview.md
[create campaign]: /docs/product/campaigns/create-and-manage-campaigns.md
