# Revise campaigns

> Revise an active campaign to make independently tested changes to its rules and settings without affecting the current rules and settings. You can revise , , and campaigns.

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

<FeatureAccessInfoBox>
You can revise a campaign only if campaign staging and revisions
is enabled for your Application.
</FeatureAccessInfoBox>

## Campaign revision summary

The campaign revision process allows you to make changes to an [active campaign][states]
without affecting its current [rules][rules] and [settings][settings].

By revising an active campaign, you independently modify its rules and settings, test your changes
to those rules, and apply them to the active campaign at a time you choose.

:::note
- Any changes you make to [coupons][coupons], [referrals][referrals], [stores][stores],
  and [achievements][achievements] apply to your active campaign immediately. Campaign
  revision does not affect these entities.
- Any changes you make to the stores linked to your campaign affect
  campaign evaluation immediately.
:::

### Campaign revision process

The campaign revision process contains the following steps:

1. [Create the revision](#create-the-revision).
   - Create a copy of the active campaign with all the current rules and settings,
     called the revision.

     You can make your changes to the rules and settings of the revision.
   - This step _does not affect_ the active campaign.
1. [Test the revision](#test-the-revision).
   - Test your changes to the rules in the revision in the same way
     you test a <StateLabel type="staged" name="Staged" /> campaign.
   - This step _does not affect_ the active campaign.
1. [Finalize the revision](#finalize-the-revision).
   - Apply your changes from the revision to the active campaign immediately.
   - Alternatively, set a schedule to apply the changes at a future time.
   - To make further changes, revise the campaign again.

## Create the revision

The revision is a copy of the active campaign whose rules and settings you can modify
without affecting the current rules and settings of the active campaign.

To create the revision:

1. Open a <StateLabel type="running" name="Running" />, <StateLabel type="scheduled" name="Scheduled" />,
   or <StateLabel type="expired" name="Expired" /> campaign.
1. In the **State** section of the [campaign dashboard][campaign-dashboard],
   click **Create Revision**.

Your active campaign now has a second state
called <StateLabel type="revised" name="Revised" />,
indicating that your campaign has an ongoing revision.
You can make any desired changes to the rules or campaign settings of the revision.

At any point, from the top of the page, switch between:

- <SwitcherActive className="icon" /> The active campaign:
  The campaign rules and settings can only be viewed.
- <SwitcherRevision className="icon" /> The revision:
  The campaign rules and settings can be modified.

## Test the revision

You can test your changes to the rules in the revision
in the same way you test <StateLabel type="staged" name="Staged" /> campaigns.
The triggered [effects][effects] are not retained and do not affect the active campaign.
See [Test a campaign][testing-campaigns].

:::note
To trigger the effects of a <StateLabel type="revised" name="Revised" /> campaign,
use a [testing API key][testing-key]. When a testing API key is present,
it is automatically used for authentication, and all the requests you make are [dry requests][dry-requests].

If you're unsure of which key your testing environment uses,
contact your development team.
:::

## Finalize the revision

By finalizing the revision, you apply its changes to the active campaign.
You can choose to finalize the revision immediately or schedule it for a future time.

To finalize the revision:

1. Open a <StateLabel type="running" name="Running" />, <StateLabel type="scheduled" name="Scheduled" />,
   or <StateLabel type="expired" name="Expired" /> campaign.
1. From the top of the page,
   switch to the revision <SwitcherRevision className="icon" />.
1. In the **State** section of the [campaign dashboard][campaign-dashboard],
   click **Finalize Revision**.
1. In the pop-up that appears,
   select when to apply the changes from the revision to the active campaign:
   - **Finalize revision immediately**: Applies the changes immediately.
   - **Schedule finalization**: Applies the changes at the selected future time.

     :::note
     The time you select cannot fall before the campaign [start date][schedule].
     :::

1. Click **Confirm**.

When the finalization occurs, the changes from your revision are applied to the active campaign
and the revision no longer appears.
To make further changes, [revise the campaign again](#create-the-revision).

If you schedule the finalization for a future time,
the campaign state changes from <StateLabel type="revised" name="Revised" />
to <StateLabel type="pending" name="Pending" />.
In this state, the revision can still be modified.

### Finalize the revision in multiple campaigns {#finalize-multiple-revisions}

You can finalize the revision in up to 50 <StateLabel type="revised" name="Revised" /> campaigns
in a single operation.

To finalize the revision in multiple campaigns:

1. On the <Campaigns className="icon" /> **Campaigns** page,
   click the <StateLabel type="revised" name="Revised" /> filter.
   See [Filter campaigns][filtering-campaigns].
1. Select one or more filtered campaigns, and click **Finalize**.
1. In the pop-up that appears,
   select when to apply the changes from the revision to the active campaign:
   - **Finalize revision immediately**: Applies the changes immediately.
   - **Schedule finalization**: Applies the changes at the selected future time.

     :::note
     The time you select cannot fall before the campaign [start date][schedule].
     :::

1. Click **Confirm**.

:::note
If you do not have permission to finalize revisions,
in the **State** section of the [campaign dashboard][campaign-dashboard],
click **Request Finalization**. In the pop-up that appears,
select an admin to notify via email and the finalization schedule.
:::

### Cancel the finalization

If you decide to cancel applying your changes from the revision,
you can cancel the finalization.

To cancel the finalization:

1. Open a <StateLabel type="pending" name="Pending" /> campaign.
1. From the top of the page, switch to the revision <SwitcherRevision className="icon" />.
1. In the **State** section of the [campaign dashboard][campaign-dashboard],
   click **Cancel Finalization**.

The campaign state returns to <StateLabel type="revised" name="Revised" />.

## Delete the revision

You can discard your changes entirely by deleting the revision. When you delete the revision,
the active campaign stays unchanged and unaffected.

To delete the revision:

1. Open a <StateLabel type="revised" name="Revised" /> campaign.
1. From the top of the page, switch to the revision <SwitcherRevision className="icon" />.
1. In the **State** section of the [campaign dashboard][campaign-dashboard],
   click <ExtV className="icon" /> > <Delete className="icon" /> **Delete Revision**.

The revision is deleted without any further confirmation.

## Related pages

- [Display campaigns](/docs/product/applications/display-campaigns.md)
- [Campaign insights](/docs/product/campaigns/analytics/campaign-insights.md)
- [Create templates](/docs/product/campaigns/templates/create-templates.md)
- [Campaign staging and revisions][general-settings]

[general-settings]: /docs/product/applications/manage-general-settings.md#campaign-staging-and-revisions
[campaign-dashboard]: /docs/product/campaigns/overview.md#the-campaign-dashboard
[schedule]: /docs/product/campaigns/settings/manage-campaign-schedule.md
[rules]: /docs/product/rules/overview.md
[settings]: /docs/product/campaigns/settings/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
[states]: /docs/product/campaigns/overview.md#campaign-states
[effects]: /docs/product/rules/effects/overview.md
[testing-key]: /docs/product/applications/manage-api-keys.md#create-a-testing-api-key
[testing-campaigns]: /docs/product/campaigns/create-and-manage-campaigns.md#test-a-campaign
[filtering-campaigns]: /docs/product/applications/display-campaigns.md#filter-campaigns
[dry-requests]: /docs/dev/integration-api/best-practices.md#dry-requests
[stores]: /docs/product/campaigns/settings/manage-campaign-stores.md
