Description
WebWerk Contact Chat Widget puts a small, modern chat-style button in the corner of your site. One tap and the visitor is talking to you on the channel they already use — WhatsApp, a phone call, email, SMS, Telegram, Facebook Messenger or any custom link.
It is deliberately lightweight: no jQuery on the front end, no external requests, no account, no cookies set by the plugin.
Built for cached sites
Most contact-button plugins decide server-side whether to show the widget on mobile or during business hours. Behind a full page cache (WP Rocket, LiteSpeed, Cloudflare APO, …) that decision gets frozen into the cached HTML and served to everyone. This plugin evaluates device visibility and your opening hours in the visitor’s browser, so a cached page still shows the right thing for every device and every time of day. URL targeting stays server-side, where a per-URL cache keeps it correct anyway.
Channels
Add as many channels as you need and mark one as primary. Supported types: WhatsApp, phone call, email, SMS, Telegram, Facebook Messenger and custom link. Your prefilled message is attached to WhatsApp, SMS, email and Telegram links where the target supports it.
Design & effects
- Floating button as the agent avatar, a built-in icon, your own uploaded image, or an icon with a text label
- Button shape: circle, rounded, square or speech bubble; adjustable size
- Attention animation (pulse, glow, bounce, shake, swing, heartbeat, wobble) — looping or replayed as a short burst on an interval
- Panel open animation and button hover effect
- Full colour controls and automatic dark mode (auto / light / dark)
- Custom CSS field
- Every animation is switched off automatically for visitors who set “reduce motion”
Privacy
The plugin builds plain contact links — it does not proxy messages through any service and sets no cookies. The optional GDPR consent notice shown before WhatsApp opens stores the visitor’s choice in their own browser (localStorage). The optional GA4 generate_lead event is only sent if Google Analytics is already loaded on the page.
Anywhere on the page
Besides the floating widget you can drop an inline button list into any content with the [wwccw_widget] shortcode or the Contact Chat Widget block:
[wwccw_widget title="Contact us" channels="whatsapp,phone,email"]
Pro version
A separate Pro plugin adds multiple agents and departments, per-channel and per-agent schedules, WooCommerce product buttons and a full analytics dashboard. The free version on WordPress.org is fully functional and needs no license key.
Features
- Multiple contact channels: WhatsApp, phone, email, SMS, Telegram, Messenger, custom link
- One channel can be marked primary and is shown first as the main button
- Modern floating chat-style panel with agent name, avatar and online status
- Configurable floating button: agent avatar, icon, custom image or icon + text label; circle / rounded / square / speech-bubble shape; adjustable size
- Motion effects: 7 button attention animations (continuous or timed replay), panel open animation and hover effect, all respecting reduced-motion preferences
- Cache-safe: desktop / mobile visibility and schedule are evaluated client-side
- Business-hours schedule with online / offline status text, optional “hide when offline”
- URL targeting with exact or prefix (trailing
*) matching - Position, side / bottom pixel offsets, show delay, auto-open
- Full colour controls plus automatic dark mode (auto / light / dark)
- Optional GDPR consent notice before opening WhatsApp
- Optional GA4
generate_leadevent on channel clicks (no cookies set by the plugin) - Custom CSS field
[wwccw_widget]shortcode and a matching block for inline button lists- Accessible: keyboard operable,
Escto close, focus handling, respects reduced motion - No jQuery on the front end, no external dependencies, no bundled images – the default avatar is an inline SVG
Screenshots
Blocks
This plugin provides 1 block.
- Contact Chat Widget
Installation
- Upload the plugin to
/wp-content/plugins/webwerk-contact-chat-widget, or install the ZIP from Plugins > Add New. - Activate the plugin.
- Open “WebWerk Chat Widget” in the admin menu.
- Add a channel, enter its value and mark it primary.
- Save.
FAQ-e
-
Does it work with caching plugins?
-
Yes. Device and schedule checks run in the browser, so a cached page shows the correct state for every visitor and time of day. URL targeting stays server-side because a page cache already varies by URL.
-
Do I need WhatsApp Business?
-
No. A normal WhatsApp number works.
-
No. It builds direct contact links. The optional GA4 event only reuses Google Analytics if it is already loaded on the page. The optional WhatsApp consent choice is stored in the visitor’s own browser (localStorage).
-
Yes. Use the
[wwccw_widget]shortcode or the “Contact Chat Widget” block. -
Can I change the colors and use dark mode?
-
Yes. Every surface has a colour control, and the panel switches to a dark palette automatically in auto or dark mode.
-
How do I set up Telegram or Messenger?
-
For Telegram enter your username (with or without
@) or a fullt.melink. For Messenger enter your page username or a fullm.melink. The plugin builds the correct link automatically. -
The animation is too much. Can I calm it down?
-
Set the button attention animation to “None”, or give the “replay every N seconds” field a value like 15 so the effect only plays a short burst now and then instead of looping. Visitors with “reduce motion” enabled never see any animation.
-
In which languages is the plugin available?
-
The interface ships with German, Spanish and French translations. Additional translations are welcome via translate.wordpress.org.
Reviews
Contributors & Developers
“WebWerk Contact Chat Widget” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “WebWerk Contact Chat Widget” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
0.2.0
- New: multi-channel model (WhatsApp, phone, email, SMS, Telegram, Messenger, custom link) with a primary channel
- New: cache-safe rendering – device and schedule checks moved to the browser
- New: automatic dark mode (auto / light / dark)
- New:
[wwccw_widget]shortcode and matching editor block for inline button lists - New: optional GDPR consent notice before opening WhatsApp
- New: optional GA4
generate_leadevent on channel clicks - New: floating button appearance – content (agent avatar, icon, custom image, icon + text label), shape (circle, rounded, square, speech bubble), built-in icon set and adjustable size
- New: motion effects – button attention animations (pulse, glow, bounce, shake, swing, heartbeat, wobble) with a “replay every N seconds” option, panel open animation (slide / fade / scale / none) and button hover effect (grow / lift / tilt / none); all disabled automatically under prefers-reduced-motion
- New: side / bottom pixel offsets and a custom CSS field
- New: online / offline status text and “hide when offline” option
- Improved: accessibility – keyboard support,
Escto close, focus handling, reduced-motion support - Improved: URL targeting now supports exact and prefix matching instead of loose substring matching
- Improved: front end no longer depends on jQuery
- Improved: the default avatar is now an inline SVG – the bundled 2.4 MB placeholder image was removed, so the plugin download is roughly ten times smaller
- Improved: German, Spanish and French translations updated for the new interface
- Compatibility: existing WhatsApp / email settings are migrated automatically on first load
0.1.2
- Added customizable widget colors
- Added header, widget, message and button color settings
- Added admin footer information about the Pro version
0.1.1
- Initial release






