Promo Bar shows a scheduled announcement bar across your site, with a button that sends guests straight into booking with your dates and discount already applied.
What it does #
When you run a sale or have something to announce, a seasonal discount, a last-minute opening, a minimum-stay drop, you need a way to put it in front of every visitor and send them somewhere that honors the offer. A hard-coded banner is a problem on a cached site: the cache serves the same page to everyone, including guests who already booked or already closed the bar.
Promo Bar is a site-wide bar you schedule once and leave running. You write the message and a button, set when it runs, and it appears at the top or bottom of every page during that window. It is built for cached sites: the bar decides whether to show in each visitor’s browser, so a cached page still hides it from someone who already dismissed it or booked.
A visitor sees a slim bar with your headline, optional subtext, and a button. The button can work two ways:
- An offer button opens a specific property with the dates and a coupon already applied, so the discounted rate the guest was promised is the rate they see.
- An awareness button opens a pre-filtered search, for example a destination and date range, with no specific discount attached.
If a campaign advertises a percentage discount, it must point at one property with a real coupon. The coupon is checked against your live rates the moment you save, and a discount that does not resolve to a real saving is rejected, so the bar can never promise a deal it cannot deliver. A campaign with no offer is awareness-only and links to search.
How to turn it on #
1. Switch on the tool #
In Conversion Kit, open the Promo Bar tab and switch the tool on.
2. Set your global defaults #
Under Global Defaults, set the behavior new campaigns start from: which edge the bar uses, how long a dismissed bar stays hidden, how long to suppress it after a booking, the reveal delay, and the caps on how often a visitor sees it. These apply to new campaigns and you can adjust them any time.
3. Create a campaign #
Click New campaign. Give it a name, write the Headline, optional Subtext, and CTA label. Choose the Edge (top or bottom) and a Priority. When more than one campaign is live at the same time, the higher priority takes the bar.
4. Schedule it #
Set the Timezone, then a Display start and Display end in that timezone. Set Status to Scheduled so it goes live during that window. Draft, paused, and archived campaigns never show on the site. Campaigns use fixed start and end dates for now; recurring weekly or monthly schedules come in a later release.
5. Add an offer (optional) #
Under Offer, set Rate enforcement to Coupon, then enter the Coupon code, the Advertised discount %, and the Bound property ID, which is the WordPress listing the coupon is validated against. Leave rate enforcement on None for an awareness-only bar that links to search.
6. Style it (optional) #
Leave styling off to use the theme default, a dark bar with white text. Or turn on Use custom colors to set the bar and button colors. Custom colors have to pass a contrast check so the text stays readable, and the editor shows a live preview.
Settings #
Global defaults #
| Setting | What it controls |
|---|---|
| Default edge | Whether new bars sit at the top or bottom of the page. |
| Default dismiss days | How long a bar stays hidden after a visitor closes it. Defaults to 7 days. |
| Converted suppression days | How long to hide the bar from a visitor after they book, capped at 180 days. Defaults to 180. |
| Default reveal delay | How many seconds to wait before showing the bar. Defaults to 0, meaning right away. |
| Per-session cap | How many times the bar can appear in one browsing session. Defaults to 1. |
| Global exposure cap | The most promo views one visitor sees per rolling 7 days, across every campaign. Defaults to 6. |
| Respect Global Privacy Control | Honors the browser’s GPC privacy signal and keeps targeting off for those visitors. On by default. |
Per campaign #
| Setting | What it controls |
|---|---|
| Name | Internal name for the campaign. |
| Headline, Subtext, CTA label | The bar’s message and button text. |
| Status | Draft, Scheduled, Paused, or Archived. Only Scheduled campaigns appear, and only during their window. |
| Edge | Top or bottom of the page for this campaign. |
| Priority | Which campaign takes the bar when more than one is live at once. The higher number shows. |
| Timezone, Display start, Display end | When the campaign runs, in the timezone you set. |
| Rate enforcement | None for an awareness bar, or Coupon to advertise a validated discount. |
| Coupon code, Advertised discount %, Bound property ID | The coupon, the discount it advertises, and the single property it is validated against. Required together when advertising a discount. |
| Custom colors | Optional bar and button colors. Must pass a readability contrast check. |
Tips #
- The campaign list shows live performance per campaign: views, click-through rate, dismissals, and assisted bookings, so you can see which promo is working.
- A bar that advertises a percentage discount must bind a coupon to one property, and the coupon is verified against your live rates when you save. If a save is rejected, check that the coupon code is valid for that property and produces a real discount.
- You can target a campaign by page type, device, or traffic source, so a promo can show only to visitors from a particular channel, for example.
- Promo Bar needs your theme to include the standard WordPress body-open location. If the bar does not appear, that is the first thing to check.
- Promo Bar stores a little information in each visitor’s browser to remember dismissals and frequency. The Privacy and storage section lists exactly what it stores, with a button to clear it for the current browser. For more on how the Conversion Kit handles guest data, see Conversion Kit: Under the Hood, and the HomeRunner Conversion Kit Overview for the full feature list.