Saito Navi gathers several customer engagement modules for WooCommerce
behind a single floating button (gear icon, corner of the screen):
- Cookie consent — GDPR banner, Google Consent Mode V2, preferences
modal, logo auto-detected from the site identity if no URL is set.
- Accessibility — language switcher (WPML-compatible, falls back to
GTranslate if WPML is absent), text size, high contrast, enlarged
cursor, underlined links.
- Sticky add-to-cart — a panel that follows the visitor on the
WooCommerce product page, works with simple and variable products, a
keyboard-accessible swatch selector, compatible with WCBoost Variation
Swatches, and a custom CSS selector setting for themes not covered by
the built-in fallback chain.
- Stories — up to 4 video bubbles per product (YouTube or an
uploaded MP4), a dedicated tab on the WooCommerce product page, a
desktop panel with a pure-CSS phone mockup (no external image), and a
mobile full-screen stories-style view. Displayed by default after the
product gallery, or wherever you like via the [navi_stories]
shortcode.
Built from the ground up to welcome new modules without touching the
core: each module registers itself and talks to the central button
through a generic event, and no module knows about the others.
Everything is configurable from the Back Office (Navi menu): colors,
corner radius, button position, and for each module its own “Show on
desktop” / “Show on mobile” setting.
Sibling of Navi for PrestaShop
— same name, same spirit (one hub rather than independent widgets), two
separate implementations adapted to each ecosystem.
External services and embedded content
- Google Consent Mode V2: the Cookie consent module pushes the
visitor’s choices into window.dataLayer (the standard Google Tag
Manager/gtag.js mechanism). The plugin itself never sends any request
to a Google server — the site must already have gtag.js/GTM in place
for this signal to be used.
- YouTube (“no-cookie” mode): the Stories module displays configured
videos via youtube-nocookie.com in an iframe, only on product pages
where a YouTube story has been configured by the site administrator.
See the YouTube privacy policy.
- YouTube thumbnails: when an administrator sets a YouTube story
without a custom preview, the plugin makes a server-side HEAD request
(3s timeout, no data sent beyond the request itself, no account or API
key involved) to img.youtube.com to check whether the HD thumbnail
(maxresdefault.jpg) exists for that video, falling back to a lower
resolution (hqdefault.jpg) if it doesn’t — this avoids storing a
broken image URL for videos (mostly YouTube Shorts) that only have the
lower-resolution thumbnail. This request only happens when a product is
saved with a YouTube story configured, never on a visitor’s page load.