Skip to content

campaign operations

End a campaign on schedule

Learn how to end a campaign on schedule with a safe Juniper & Trail example, shopper impact, options, and recovery checks. The normal scheduled end runs the full configured revert path, clears campaign storefront data, and records completion. Confirm price restoration and discount-node cleanup before considering the campaign closed.

Before you begin

  • Review campaign completeness and product preview
  • Confirm authorization and theme status
  • Know the restore consequences of the chosen discount route

Confirm the shop, current status, and intended consequence before changing anything. Use read-only status, preview, or history evidence first.

Step-by-step setup

End a campaign on schedule shown in the Badgy admin, with numbered callouts for the controls and verification points described below.
Annotated Juniper & Trail example
  1. Use the summary cards to check live, scheduled, and sale-product totals.

  2. Inspect the active campaign and use its view, edit, revert, or end actions.

  3. Check theme embed, badge, banner, background-job, and countdown health.

  4. Search and filter past campaigns before opening their records.

  1. Open an Active campaign for the intended shop and confirm the current record and status.
  2. Use the normal End action when the campaign should perform its full revert; confirm the warning/preflight scope.
  3. Read the inline summary, warning, or preflight before submitting; do not repeat a command while background work is running.
  4. Verify prices, labels, storefront metafields, discount node, and recurring expansion outcome as applicable.
  5. Confirm the resulting status and History/audit evidence, then spot-check Shopify or the storefront when the action has external effects.

The normal scheduled end runs the full configured revert path, clears campaign storefront data, and records completion. Confirm price restoration and discount-node cleanup before considering the campaign closed.

Juniper & Trail example

Juniper & Trail uses end a campaign on schedule on its controlled Weekend Trail Kit campaign, then checks phase status, History, and two representative storefront products. The documentation fixture uses realistic products, inventory states, variants, collections, and protected exclusions so the preview exercises the same decisions as a merchant catalog.

What shoppers will see

During activation or revert, storefront components can settle at different moments; use status rather than repeated clicks to determine completion. Check the relevant result from product through cart where applicable. For shopper-facing work, compare desktop and mobile and verify both an eligible and an ineligible item.

Common mistakes and troubleshooting

  • Acting on the wrong shop. Confirm the Shopify store and campaign before following End a campaign on schedule.
  • Trusting a stale preview. Refresh after catalog, schedule, discount, theme, locale, or market changes.
  • Repeating a background command. Read status and History first; retry only when Badgy presents a recoverable failure.
  • Skipping the consequence check. Confirm what changes for shoppers and what the end or restore path will do.

If the status reports revoked authorization, reconnect Shopify before retrying. If the result still differs from the preview, preserve the campaign ID and approximate time, then open support from this identified shop. Never send customer data, access tokens, or full catalog exports in feedback.

Options reference

| Option | Use it when | Consequence | | --- | --- | --- | | Scheduled end | Reach configured end | Worker runs full revert | | Manual normal end | Open-ended campaign should finish | Full revert path | | Early revert | Urgent presentation stop | Different direct-price consequence |

Badgy behavior in this guide is reviewed against the repository's shipped UI, service rules, and feature design documents. Shopify-owned theme, Markets, Flow, billing, and discount behavior can also depend on the store's Shopify configuration; consult the Shopify Help Center for that platform configuration.

Was this guide helpful?