Announcement Bar Pro
Rotating messages with live free-ship progress + countdown. Replaces Hextom.
Live preview
See it in action.
Fully interactive, drag, click, scroll inside the frame, toggle to mobile.
About this section
A premium announcement bar with rotating messages, live free-shipping progress (cart-aware via Cart AJAX), countdown timer, and optional dismiss-with-memory. Configure unlimited messages as theme blocks. Replaces Hextom Promotion Bar / Essential Announcement / similar $10â20/mo apps.
Install in 90 seconds
- 01
Create /sections/modblo-announcement-bar-pro.liquid.
- 02
Paste the section code and save.
- 03
Add `{% section 'modblo-announcement-bar-pro' %}` to the top of your theme.liquid (before the header).
- 04
In the theme editor, add Message blocks for each rotating announcement.
- 05
(Optional) Set a countdown deadline in ISO format and adjust the free-shipping threshold to match your shipping policy.
The code
This is the file you'll paste into your theme.
Unlock the section code
Announcement Bar Pro is a premium section. Get the full Liquid + scoped CSS paste-ready.
One-time purchase ¡ Lifetime updates ¡ You own the code
What you can customize
Every setting below shows up in the Shopify theme editor. Change them without touching code.
| Setting | Type | Default |
|---|---|---|
Rotation interval (seconds) interval | Slider | 5 |
Allow dismiss dismissible | Yes/No | false |
Show free-shipping progress show_ship | Yes/No | true |
Free shipping threshold ($) free_ship_threshold | Number | 75 |
Countdown deadline (ISO) deadline e.g. 2026-12-25T00:00:00. Leave blank to hide. | Text | , |
Countdown label deadline_label | Text | Sale ends in |
Background bg | Color picker | #0b0b0c |
Foreground fg | Color picker | #ffffff |
Link color link_color | Color picker | #a5b4fc |
Messages (theme blocks) blocks Add unlimited messages in the theme editor, each rotates in sequence. | blocks | , |
SEO and accessibility notes
- Messages render in DOM (not injected), fully crawlable for SEO.
- Free-shipping threshold computed live via /cart.js on load and on cart:updated event.
- Dismiss state persists in localStorage, no cookie / GDPR overhead.
- Real <button> for dismiss, real <a> for links, keyboard accessible.
Related
