Guides → Seasonal campaign launch playbook — SGEN staging guide

Seasonal campaign launch with staged Draft pages

How to stage seasonal campaign pages as Draft and promote them to live on campaign day

Build seasonal campaign pages in SGEN while the campaign is still in preparation, stage them as Draft, and go live at a scheduled moment by flipping Status to Publish — all without scrambling to create content on the day itself.

This playbook is the standard pattern for launching time-bound marketing campaigns on an SGEN site. It uses Pages, Ecommerce Coupons, and Popups — the same features as the Black Friday recipe — in a pre-built, staged approach designed for teams that plan campaigns weeks in advance.

Total time: approximately two hours to build and stage a full campaign (page, coupon, optional popup), and five minutes to go live on campaign day by flipping three Status fields.

What is this for?

A seasonal campaign has a fixed start date, a fixed end date, and creative assets that must all go live at the same time — landing page, coupon code, and optional popup. If you build these assets on campaign day, you are racing against the clock and any mistake is immediately visible to customers.

The staged approach inverts this: all assets are built, reviewed, and approved as Draft in the days or weeks before launch. On campaign day, the team opens three admin pages and flips three Status fields to Publish. The campaign goes live in under five minutes with zero scrambling.

This pattern works for any time-bound campaign: spring sale, summer clearance, end-of-season event, holiday promotion, or new-season collection launch.

Good use cases

Acme Coffee Roasters winter collection launch. A new range of winter single-origin coffees launches on the first Monday of June. The landing page, coupon code WINTER20 for $20 off, and an entry popup are all built two weeks before launch day. The team reviews and approves the content the week before. On launch Monday, one admin logs in, opens the landing page, the coupon, and the popup in three separate tabs, and flips all three to Publish at 9 AM. The campaign is live within five minutes of the target time.

Acme Bakery spring season promotion. Acme Bakery runs a spring promotion every September. The same structure is reused each year: a landing page featuring seasonal products, a coupon for basket savings, and no popup (the Bakery's audience finds popups intrusive). The landing page from last year is duplicated and updated with new product photos and copy. The old coupon code is archived and a new one created. Campaign day is two clicks — both set to Publish.

Acme Wine Studio harvest season event. A combination of an event announcement and an online shop promotion. The landing page covers both: the harvest dinner event RSVP section and the seasonal wine range. The coupon applies to the online wine shop. The popup links to the landing page from every page of the site for the first week of the campaign. All three staged in Draft three weeks before launch.

Acme Coffee Roasters Valentine's Day gift sets. Gift set campaign with a two-week window. The landing page features gift bundle products. The coupon is quantity-limited (maximum 100 redemptions) to create scarcity. The popup targets the homepage only (not every page). All assets reviewed by the marketing lead and approved a week before go-live. On Valentine's week Monday, Status flipped to Publish in under five minutes.

Acme Studio end-of-financial-year clearance. Clearance campaign with a tight four-day window. The landing page lists discounted equipment. The coupon is a fixed dollar amount, not percentage, for margin predictability. No popup — instead, a Custom Codes sitewide banner announces the clearance dates. The banner is also staged as Inactive in Custom Codes and flipped to Active on day one.

What NOT to use this for

Do not use this for always-on promotions

This pattern is designed for campaigns with a defined start and end date. For always-on discounts (welcome discounts, loyalty codes, referral codes), create the coupon in Publish status and leave it active without a campaign page.

Do not launch a campaign without a deactivation plan

Every asset that goes live for a campaign must have a confirmed "turn it off" step. Before launch day, decide: who is responsible for deactivation, what time on the last day, and what the deactivation sequence is. The deactivation sequence is always: coupon to Draft, popup to Draft, landing page to Draft.

Do not build the campaign page inside an existing permanent page

Seasonal campaigns should live on dedicated URLs (/winter-2026, /spring-sale) so they can be set to Draft cleanly when the campaign ends without affecting other content.

Do not use the Percentage discount type for high-volume campaigns

The coupon form notes that the Percentage type has a known issue. Use Fixed cart discount for all campaign coupons.

Do not skip the pre-launch review step

Every campaign asset should be reviewed by at least one team member who did not build it. Typos in a coupon code, a broken image on the landing page, or wrong campaign dates are much harder to fix after customers have already seen the campaign.

How this connects to other features

Pages

— the campaign landing page is a standard SGEN Page set to Draft during preparation. Draft pages are not visible on the public site and return a 404 to direct URL access. The URL only becomes live when Status is set to Publish.

Ecommerce → Coupons

— the campaign discount coupon is created with Status: Draft and activated on go-live day. A Draft coupon cannot be redeemed at checkout. The coupon is flipped back to Draft when the campaign window closes.

Popups

— the optional announcement popup is created with Status: Draft and activated on go-live day. The popup fires on page load (first visit) for any visitor to the public site. Set to Draft when the campaign ends.

Custom Codes

— an alternative or addition to the popup. A sitewide banner Custom Code snippet can be built as Status: Inactive and flipped to Active on go-live day. Inactive snippets are not rendered on the public site.

Media

— campaign images (hero banners, product photos) must be uploaded to Media before building the landing page. Upload all campaign images during the build phase, not on launch day.

Analytics → Reports

— after the campaign ends, review traffic to the campaign page URL during the campaign window to measure reach and engagement.

Before you start

Campaign staging timeline (working back from go-live day):

  • You are signed in to SGEN as an Administrator.
  • The campaign creative assets are finalised before you open the admin: campaign name, campaign dates (start and end), discount amount or percentage, coupon code name, landing page headline, body copy, and product or offer highlights. Writing copy inside the admin editor is slower than pasting from a document.
  • All campaign images are uploaded to Media before building the landing page. This avoids an interruption on launch day to upload missing images.
  • The team has agreed on who is responsible for the go-live Status flip and the post-campaign deactivation. These two moments should not be done by different people without a handover note.

Where to go

The recipe touches three admin areas:

  1. Pages → Add New — build the campaign landing page as Draft (30 minutes)
  2. Ecommerce → Coupons → Add New — create the campaign coupon as Draft (10 minutes)
  3. Popups → Add New — build the announcement popup as Draft (10 minutes, optional)

Steps — Stage and launch a seasonal campaign

1. Build the campaign landing page as Draft

Open Pages → Add New. Set the page title to the campaign name: "Winter Collection 2026 — New Single-Origin Arrivals". Set the Slug to a clean, campaign-specific path: winter-2026. Do not reuse slugs from previous years — each campaign gets its own URL.

Write the landing page body with these sections:

Campaign headline — the campaign name styled as H1.

Dates and offer — the campaign window and what the discount is. "Available 1–31 June 2026. Use code WINTER20 for $20 off any order over $80."

Campaign highlights — three to five bullet points describing what's new or featured. Specific product names, not vague generics.

Call to action — a link to the shop or to the featured product collection.

Campaign coupon reminder — at the bottom of the page, repeat the code prominently. "Use code WINTER20 at checkout. Valid 1–31 June 2026."

Set Status to Draft when you finish building. The page is not visible on the public site while in Draft.

2. Create the campaign coupon as Draft

Open Ecommerce → Coupons → Add New. Fill in the coupon form:

  • Coupon Code — the campaign code, all caps, no spaces: WINTER20.
  • Discount TypeFixed cart discount. Do not use Percentage; the coupon form notes a known issue with the Percentage type.
  • Coupon Amount — the dollar amount: 20.
  • Minimum order amount — set a minimum if the discount only applies above a threshold, for example 80.
  • Usage limit per coupon — set a cap if the campaign has a redemption ceiling. Leave blank for unlimited.
  • Coupon Expiry Dateleave blank. The coupon form notes a known issue with the expiry date field. Deactivate the coupon manually by flipping Status to Draft at campaign end.
  • StatusDraft. A Draft coupon cannot be redeemed at checkout.

3. Build the announcement popup as Draft (optional)

Open Popups → Add New. Write the popup body in two lines: the campaign headline and the coupon code. Keep it minimal — the popup's job is to show the code, not to replace the landing page.

Set Status to Draft. A Draft popup does not fire on the public site.

The popup body for the winter collection:

<h2>Winter Collection is here — $20 off your order</h2>
<p>Use code <strong>WINTER20</strong> at checkout. Valid 1–31 June 2026.
<a href="/winter-2026">Shop the collection →</a></p>

4. Pre-launch review in private-browsing

At least three days before go-live, run a full review of all staged assets.

For the landing page: open the page edit form and read every line of copy. Confirm the campaign dates, the coupon code spelling, the dollar amounts, and every product name. Read it aloud — errors that your eye skips over are harder to miss when reading aloud.

For the coupon: open the coupon edit form and confirm Discount Type is Fixed cart discount, Amount is correct, the code spelling matches the landing page and popup exactly, and Status is Draft.

For the popup: confirm the coupon code in the popup body matches the coupon code exactly — character for character, including capitalisation.

Note any corrections needed and fix them before the review is complete. Create a checklist of sign-off items: "Landing page copy approved by [Name], [Date]", "Coupon code verified by [Name], [Date]", "Popup verified by [Name], [Date]".

5. Go live on campaign day

On campaign day, at the agreed go-live time, open three tabs in the admin:

  • Tab 1: Pages → Edit for the campaign landing page.
  • Tab 2: Ecommerce → Coupons → Edit for the campaign coupon.
  • Tab 3: Popups → Edit for the announcement popup (if using).

In each tab, change Status from Draft to Publish and save. Work through all three tabs in under two minutes.

After saving all three, open a fresh private-browsing window and confirm:

  1. The landing page URL is accessible (not a 404).
  2. The popup fires on the homepage.
  3. Add a product to the cart and apply the coupon code at checkout. Confirm the discount applies correctly.

This three-point check takes less than three minutes and catches any Status that did not save correctly.

6. Deactivate all campaign assets at campaign end

On the last day of the campaign, at the agreed close time, open the same three admin tabs and flip all three Status fields back to Draft (or Inactive for Custom Code snippets).

Work through the deactivation in this order: coupon first, popup second, landing page third.

After deactivating, open a fresh private-browsing window and confirm:

  • The campaign landing page returns a 404 or is no longer listed.
  • The popup does not fire on the homepage.
  • Adding the coupon code at checkout returns "invalid coupon" or "coupon not found".

What success looks like

Success looks like

At campaign go-live, all three assets are Status: Publish and verifiable in private-browsing. At campaign close, all three assets are Status: Draft and confirmed off in private-browsing. Specific checks at go-live:

  • Campaign page URL resolves to the correct page in a private-browsing window.
  • Popup fires on the homepage in a fresh private-browsing window.
  • Coupon code applies the correct discount at checkout in a private-browsing test cart.
  • All three checks completed within five minutes of the go-live Status flips.

What to do if it does not work

The landing page still shows a 404 after flipping Status to Publish

Confirm the save completed — re-open the page edit form and check that Status shows Publish. Hard-refresh the public page (Ctrl+Shift+R / Cmd+Shift+R) to bypass any browser cache.

The coupon code is invalid at checkout

Confirm the coupon Status is Publish in the Coupons list. Confirm the code spelling matches exactly what is on the landing page and popup. Confirm any minimum order amount on the coupon is met by the test cart total.

The popup is not firing after go-live

Confirm popup Status is Publish. Test in a completely fresh private-browsing window — the popup fires only on first visit per browser session. If you have visited the site in a non-private window today, that session state may suppress the popup.

A reviewer finds a typo in the landing page copy on launch day

Edit the page body while Status is Publish. The public page updates immediately on save. The page does not need to be set to Draft to make a text correction.

The coupon is still being redeemed after the campaign end

SGEN does not block redemptions automatically based on date. The only way to stop redemptions is to set the coupon Status to Draft. If the coupon is still Publish after the intended end date, set it to Draft immediately. Any carts already at the checkout page when you flip Status may still complete — this is expected behaviour.

On this page