Schedule an announcement bar with an end date

The sale ended Sunday.
The banner didn’t.

Most built-in announcement bars have no end date. Shopify’s theme bar, Squarespace’s bar and a Wix header strip all stay up until somebody remembers to switch them off. To have one end on time, use a scheduled change where your platform has one, a plugin with a schedule, or a few lines of code that check the date before the bar is shown. Here is each platform, that code for free, and how Builderify announcements expire on their own.

Announcement bar Live Until Sun 23:59, then gone

By the Builderify team

01 Live, with a real end 02 The deadline arrives 03 Gone, and nobody logged in
01 / Why end dates

Why an announcement bar
needs an end date.

An announcement is news, and news has a date on it. The bar at the top of your site is the first thing every visitor reads, so whatever it says has to still be true.

01

It teaches visitors to skip it

A strip that never changes turns into furniture. The week you finally post something that matters, nobody reads it, because it has said the same thing since spring.

02

It promises what you stopped offering

A discount code that no longer works at checkout is a support email at best and an abandoned basket at worst. The visitor did exactly what your site told them to.

03

It can mislead

A deadline that quietly rolls on is false urgency. In the EU, falsely claiming an offer is only available for a very limited time is banned outright. More on that in section 05.

How long common announcements should stay up

Decide the end when you write the announcement, not when you notice it is stale. These are the end points we would set.

Announcement Take it down Wording with the end in it
Flash or weekend sale The minute the sale ends “20% off everything, ends Sunday 23:59 CET”
Holiday shipping cut-off At the last order date “Order by 18 December for delivery before Christmas”
Holiday opening hours The day you reopen “Closed 24 to 26 December, back on the 27th”
Planned maintenance When the work is finished “Checkout offline Sunday 02:00 to 04:00 UTC”
A launch or new feature Two to four weeks later “New: gift cards, in any amount”
A policy or price change About 30 days after it applies “From 1 November, returns are free for 60 days”
02 / By platform

How to schedule an announcement bar
on Shopify, Squarespace, Wix and the rest.

The short answer: only Shopify has a built-in way to end one on a date, and even there it is not a setting on the bar itself. Everywhere else it is a plugin, an app, or a few lines of code.

Announcement bars and end dates on each website platform
Platform Built-in bar Built-in end date Easiest way to end it on time
Shopify Yes, up to 12 announcements in one bar Through Rollouts (Basic plan and up) A Rollouts event with an end date
Squarespace Yes, one bar (Core, Plus, Advanced) No The free code, through code injection
Wix No; Wix suggests a strip in the header No The free code, through Custom Code
WordPress Not in WordPress itself No A bar plugin with scheduling, or the free code
Webflow No; you build the bar No The free code, in Footer code
Any site with Builderify Yes, a Topbar, plus announcements in the widget Announcements expire on their own Give announcements a lifespan
Shopify

Schedule the announcement bar with a Rollouts event

  1. 1 In your Shopify admin, go to Markets › Rollouts, click Create rollout and choose Event.
  2. 2 Under Changes, click Add changes › Edit theme, change the announcement bar to your sale message and apply.
  3. 3 Set a start date, then Set end date. Shopify shows what happens at the end before you save: the theme rolls back.

Rollouts arrived on 31 March 2026 for the Basic plan and up. The bar itself still has no date setting, so the rollback restores whatever the bar said before.

Squarespace

There is no end date, so switch it off or swap it for code

  1. 1 The built-in bar is on or off. It stays up until you turn it off yourself on the day.
  2. 2 For a bar that ends on time, leave the built-in one off and paste the generated code under Pages › Website tools › Code injection › Footer.
  3. 3 Code injection needs the Core, Plus or Advanced plan, the same plans that have the bar.

Squarespace’s own help notes that saving a change to the bar makes it reappear for visitors who had closed it. Fixing a typo brings it back for everyone.

Wix

Build the bar as a header strip, or add it with custom code

  1. 1 Wix’s instructions for a site-wide banner are a strip attached to your header, which has no schedule.
  2. 2 For one that ends on time, go to Settings › Custom Code › Add Custom Code, paste the generated code, and choose All pages and Body – end.
  3. 3 Custom code needs the site to be published with a connected domain.

If you also built a strip by hand, delete it, or the two bars will stack on top of each other.

WordPress

Use a plugin that schedules, or paste the code

  1. 1 WordPress has no announcement bar of its own; it comes from your theme or a plugin.
  2. 2 Several free notification-bar plugins take a start and an end date, among them HashBar and Announcer.
  3. 3 Prefer no extra plugin? Paste the generated code with whichever header-and-footer code tool you already use.

Check that a plugin’s schedule uses your site’s timezone, not the server’s, before trusting it with a midnight deadline.

Webflow

Add the code to the site’s footer

  1. 1 Webflow has no ready-made announcement bar, and nothing that hides an element after a date.
  2. 2 Go to Site settings › Custom code, paste the generated code into Footer code, save and publish.
  3. 3 Site-wide custom code needs a paid Site plan, or a paid Workspace.

If you designed a bar in the Designer instead, give it an ID and have the script remove that element after the end date.

Builderify

Announcements with a lifespan, on any of the above

  1. 1 Add the Builderify script tag to your site once.
  2. 2 Post the news as a notification and give it a lifespan: it takes itself down that many days after you posted it.
  3. 3 Or run a Topbar across the top of every page, and switch it off from the dashboard when the sale ends, with no theme edit.

Works the same on every platform above. Section 04 has the details and what it costs.

03 / Free code

Free code for a banner
that removes itself on a date.

Write the message, set when it ends, copy the code. Before the bar is drawn, the script compares the visitor’s clock with your end time, timezone included, so it disappears at the same moment worldwide. No account, no library, nothing to install.

Banner generator Runs in your browser

Pick the offset that applies on the end date: if the clocks change before then, it is not the one you are on today.

Paste before </body>
<!-- Announcement bar: removes itself after 2026-10-04 23:59 (UTC+00:00) -->
<script>
(function () {
  var starts = Date.parse('2026-10-03T00:00:00+00:00');
  var ends = Date.parse('2026-10-04T23:59:00+00:00');
  var now = Date.now();
  if (now < starts || now >= ends) return;

  function show() {
    var bar = document.createElement('div');
    bar.setAttribute('role', 'region');
    bar.setAttribute('aria-label', 'Announcement');
    bar.style.cssText = 'background:#111827;color:#ffffff;text-align:center;padding:10px 16px;font:500 14px/1.4 system-ui,sans-serif';
    bar.appendChild(document.createTextNode("Autumn sale: 20% off everything until Sunday night. "));
    var link = document.createElement('a');
    link.href = "/sale";
    link.textContent = "Shop the sale";
    link.style.cssText = 'color:inherit;text-decoration:underline';
    bar.appendChild(link);
    document.body.insertBefore(bar, document.body.firstChild);
  }

  if (document.body) show();
  else document.addEventListener('DOMContentLoaded', show);
})();
</script>

Where to paste the code

Shopify

Online Store › Themes › … › Edit code. Open layout/theme.liquid and paste the code just before </body>, then save. Edit a duplicate theme first if you want to test it.

Squarespace

Pages › Website tools › Code injection. Paste it into Footer and save. Code injection is available on the Core, Plus and Advanced plans.

Wix

Settings › Custom Code › Add Custom Code. Paste it, choose All pages and Body – end, and apply. The site has to be published with a connected domain.

Webflow

Site settings › Custom code. Paste it into Footer code, save, and publish. Site-wide custom code needs a paid Site plan or a paid Workspace.

WordPress

Add it with a header-and-footer code plugin, in the footer or body section, or paste it before </body> in your theme’s footer template, ideally in a child theme so an update does not remove it.

Any HTML site

Paste it just before </body>: in your shared footer include if you have one, otherwise on every page the bar should appear on.

  • It runs in the visitor’s browser

    The end time carries its timezone, so the bar disappears at the same moment for everyone. A visitor whose own clock is badly wrong sees it end early or late by the same amount.

  • The code stays until you delete it

    After the end date it does nothing at all, but tidy it away when you post the next one, so old sales are not sitting in your theme.

  • Fixed headers may cover it

    The bar is added at the very top of the page and pushes ordinary content down. A header pinned with position: fixed does not move, and can sit over it.

04 / With Builderify

Self-expiring announcements,
on any website, with Builderify.

One script tag in your site’s <head>, on WordPress, Shopify, Wix, Squarespace, Webflow, Framer or plain HTML, and the news goes out from a dashboard instead of your theme. There are two ways to show it.

01
Expires by itself

Notifications

A title, a sentence or two, and an optional link with your own label, shown inside the Builderify widget on every page. Set a lifespan of 7, 14, 30 or 90 days, or any number up to 365, and each announcement takes itself down that many days after you posted it. Anything within three days of expiring is flagged in your list, so you can extend it first.

Best for news that should simply not outstay its welcome: launches, opening hours, policy changes. See the announcement widget.

02
The bar across the top

Topbar

A bar pinned across the top of every page that pushes your page down, and moves a fixed or sticky header down with it instead of covering it. Add several announcements and rotate them every 1 to 10 seconds, format them with bold, italics, highlights and links, and pick its two colours. When the sale is over, one switch takes it off every page at once.

Visitors who close it keep it closed, and you can show it by device, to new or returning visitors, by referrer and on chosen pages. It is one of the overlays in the popup builder.

5 credits
per notification you publish
10 credits
per 1,000 page loads with the widget on them
250 free
credits every month, with no monthly fee

If you outgrow the free credits, one-time packs start at $9 and never expire. The full rate card is on the pricing page, and both features sit in the website widget alongside live chat, bookings and the rest of the 19 modules.

05 / Getting it right

Announcement bar mistakes
that outlive the sale.

The habit

“Ends soon”, with no date.

Do this instead

Put the real end in the words: ends Sunday 23:59 CET. Visitors can plan around a date, and a date makes it obvious to you when the bar has gone stale.

The habit

Leaving it up until somebody notices.

Do this instead

Give every announcement its end when you write it, using the table in section 01. The scheduled end is the part that does the remembering.

The habit

Extending a “final” deadline, quietly.

Do this instead

In the EU, “falsely stating that a product will only be available for a very limited time” is on the list of practices banned in all circumstances (Unfair Commercial Practices Directive, Annex I, point 7). If an offer really is extended, say so in the bar. This is not legal advice for your case.

The habit

Fixing a typo in the Squarespace bar after launch.

Do this instead

Saving any change to Squarespace’s bar makes it reappear for visitors who had already closed it. Get the wording right before it goes live.

The habit

Writing a paragraph.

Do this instead

Keep it to one line on a phone, with the detail behind the link. Check it in the generator’s phone preview before you copy the code.

Questions

Announcement bars with end dates, before you ask.

Not on the announcement bar itself: the theme setting has no start or end date. Since March 2026 Shopify Rollouts can do it on the Basic plan and above. Create an Event under Markets, then Rollouts, edit the announcement bar inside it and set an end date, and the theme change is rolled back when the event ends. An app or a short script are the other ways.

No. Squarespace's announcement bar is on or off, and it stays on until you switch it off yourself. If you want it to end on a date, leave the built-in bar off and add a short script through code injection, which is available on the Core, Plus and Advanced plans.

Give the banner an end time that includes its timezone, and have a small script compare it with the current time before the banner is shown. Once the end time has passed, the banner is simply never added to the page. The generator in this guide writes that script for you, and it works on any site that lets you add custom code.

In the EU, falsely stating that an offer is available only for a very limited time is one of the practices banned in all circumstances under the Unfair Commercial Practices Directive, Annex I, point 7. That is not legal advice for your situation, but a deadline that is real, and a banner that comes down when it passes, is the simplest way to stay well clear of it.

Yes. Builderify Notifications carry a lifespan of 7, 14, 30 or 90 days, or any number of days up to 365, counted from the day each one was posted, and they take themselves down when it runs out. Each notification you publish costs 5 credits from the 250 free credits every account gets each month, and there is no monthly fee.

Stop losing the visitors
you already paid for.

More leads from the traffic you already have, and follow-up that sends itself. Free to start. No card, no monthly fee.