{"id":362317,"date":"2026-09-06T19:58:49","date_gmt":"2026-09-06T19:58:49","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/chatlytics\/"},"modified":"2026-09-06T19:58:11","modified_gmt":"2026-09-06T19:58:11","slug":"zignites-chat-button-analytics","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/zignites-chat-button-analytics\/","author":23459206,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1","requires":"6.3","requires_php":"7.4","requires_plugins":null,"header_name":"Zignites Chat Button Analytics","header_author":"Zignites","header_description":"Click analytics for your chat button, stored in your own database. Route visitors to a different WhatsApp number per page, post or category.","assets_banners_color":"f7fcfa","last_updated":"2026-09-06 19:58:11","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/zignites.com\/plugins\/zignites-chat-button-analytics","header_author_uri":"https:\/\/zignites.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":55,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"zeeshansardar08","date":"2026-09-06 19:58:11","revision":3683906}},"upgrade_notice":{"1.0.0":"<p>First public release of Zignites Chat Button Analytics.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3683902,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3683902,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3683902,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3683902,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3683902,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"zcba\/chat-button":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"zcba\/chat-button","title":"Chat Button","category":"widgets","icon":"format-chat","description":"Place the chat button inline, using the same number routing as the floating button.","keywords":["chat","whatsapp","contact","button"],"textdomain":"zignites-chat-button-analytics","supports":{"html":false,"reusable":true,"multiple":true},"attributes":{"label":{"type":"string","default":""},"number":{"type":"string","default":""},"align":{"type":"string","default":""}},"editorScript":"zcba-chat-button-block","editorStyle":"zcba-chat-button-block-editor","style":"zcba-public"}},"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.jpg":{"filename":"screenshot-1.jpg","revision":3683902,"resolution":"1","location":"assets","locale":"","width":1553,"height":2161},"screenshot-2.jpg":{"filename":"screenshot-2.jpg","revision":3683902,"resolution":"2","location":"assets","locale":"","width":1553,"height":1337},"screenshot-3.jpg":{"filename":"screenshot-3.jpg","revision":3683902,"resolution":"3","location":"assets","locale":"","width":1553,"height":2950},"screenshot-4.jpg":{"filename":"screenshot-4.jpg","revision":3683902,"resolution":"4","location":"assets","locale":"","width":1553,"height":688}},"screenshots":{"1":"The Analytics screen: clicks per day, top pages, device split and per-rule reporting.","2":"Routing rules, with search-backed targets for pages, posts and categories.","3":"Settings: button design, display rules and the privacy controls.","4":"The floating button on the frontend."}},"plugin_section":[],"plugin_tags":[232,17125,60390,5375,3160],"plugin_category":[36],"plugin_contributors":[257217],"plugin_business_model":[],"class_list":["post-362317","plugin","type-plugin","status-publish","hentry","plugin_tags-analytics","plugin_tags-chat-button","plugin_tags-click-to-chat","plugin_tags-click-tracking","plugin_tags-whatsapp","plugin_category-analytics","plugin_contributors-zeeshansardar08","plugin_committers-zeeshansardar08"],"banners":{"banner":"https:\/\/ps.w.org\/zignites-chat-button-analytics\/assets\/banner-772x250.png?rev=3683902","banner_2x":"https:\/\/ps.w.org\/zignites-chat-button-analytics\/assets\/banner-1544x500.png?rev=3683902","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/zignites-chat-button-analytics\/assets\/icon.svg?rev=3683902","icon":"https:\/\/ps.w.org\/zignites-chat-button-analytics\/assets\/icon.svg?rev=3683902","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/zignites-chat-button-analytics\/assets\/screenshot-1.jpg?rev=3683902","caption":"The Analytics screen: clicks per day, top pages, device split and per-rule reporting."},{"src":"https:\/\/ps.w.org\/zignites-chat-button-analytics\/assets\/screenshot-2.jpg?rev=3683902","caption":"Routing rules, with search-backed targets for pages, posts and categories."},{"src":"https:\/\/ps.w.org\/zignites-chat-button-analytics\/assets\/screenshot-3.jpg?rev=3683902","caption":"Settings: button design, display rules and the privacy controls."},{"src":"https:\/\/ps.w.org\/zignites-chat-button-analytics\/assets\/screenshot-4.jpg?rev=3683902","caption":"The floating button on the frontend."}],"raw_content":"<!--section=description-->\n<p>Every click on the button is written to a table in your own database and read back inside wp-admin: clicks per day, your busiest pages, mobile against desktop, and which routing rule sent each click. There is no account to open and no external service holding the numbers. The plugin makes no third-party HTTP calls at all, so nothing leaves your server and there is nothing to configure in Google Analytics.<\/p>\n\n<p>Routing is part of the free plugin rather than an upgrade. Send visitors to a different WhatsApp number depending on the page, the post or the category they are reading, with a default fallback for everything else. Privacy is handled the same way: no cookies are set, no IP address is ever stored, you choose how long click records are kept, a scheduled daily task clears out anything older than that, and suggested privacy policy text is registered with the WordPress privacy tools for you.<\/p>\n\n<p>The button itself is a floating click-to-chat button you can put on either side of the screen, or place inline with a shortcode or a block.<\/p>\n\n<p><strong>Know whether the button is working<\/strong><\/p>\n\n<ul>\n<li>Clicks per day with a trend for the last 7, 30 or 90 days, or a custom range<\/li>\n<li>Your most clicked pages, named by post title<\/li>\n<li>Mobile against desktop split<\/li>\n<li>Clicks broken down per routing rule, so you can see which rule earns its place<\/li>\n<li>CSV export of any range<\/li>\n<\/ul>\n\n<p><strong>Send visitors to the right person<\/strong><\/p>\n\n<ul>\n<li>Route to different WhatsApp numbers by page, post or category<\/li>\n<li>Rules are checked in a fixed order: page, then post, then category, then your default fallback<\/li>\n<li>Targets are picked with a search box, so the settings screen stays fast on a large site<\/li>\n<\/ul>\n\n<p><strong>Put the button where you want it<\/strong><\/p>\n\n<ul>\n<li>A floating button on either side, with an adjustable distance from the bottom<\/li>\n<li>A <code>[zcba_button]<\/code> shortcode for placing it inline in your content<\/li>\n<li>A Chat Button block for the editor<\/li>\n<li>Show or hide it by post type, by specific page or post ID, and on mobile or desktop only<\/li>\n<li>Pre-filled message templates with <code>{page_title}<\/code>, <code>{url}<\/code> and <code>{site_name}<\/code><\/li>\n<\/ul>\n\n<p><strong>Privacy that holds up<\/strong><\/p>\n\n<p>Click analytics are off until you turn them on. When they are on, the plugin stores the page URL, the click time, a mobile or desktop label, and which rule was used. That is the whole list.<\/p>\n\n<ul>\n<li>No IP addresses stored<\/li>\n<li>No cookies set. A click timestamp is kept in sessionStorage so a double click is not counted twice, and it goes when the tab closes<\/li>\n<li>No external requests, no remote assets, no tracking pixels<\/li>\n<li>A retention setting with a daily cleanup, and a one-click wipe<\/li>\n<li>Suggested privacy policy text registered with the WordPress privacy tools<\/li>\n<\/ul>\n\n<p><strong>Built by Zignites<\/strong><\/p>\n\n<p>Zignites Chat Button Analytics is built and maintained by <a href=\"https:\/\/zignites.com\/plugins\/zignites-chat-button-analytics\">Zignites<\/a>, where we build WordPress tools for small teams.<\/p>\n\n<p>This is an independent plugin. It is not affiliated with, endorsed by or sponsored by WhatsApp LLC or Meta Platforms, Inc. WhatsApp is a trademark of Meta Platforms, Inc. The plugin builds standard <code>wa.me<\/code> links, which is a public feature of the WhatsApp service.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/zignites-chat-button-analytics<\/code> directory, or install it through the WordPress Plugins screen.<\/li>\n<li>Activate the plugin through the <code>Plugins<\/code> screen in WordPress.<\/li>\n<li>Open <code>Chat Button<\/code> from the WordPress admin menu.<\/li>\n<li>Enter your WhatsApp number in international format, for example <code>15551234567<\/code>.<\/li>\n<li>Set your default message and button design.<\/li>\n<li>Turn on click analytics under Privacy &amp; Analytics if you want the reporting.<\/li>\n<li>Visit your site to confirm the button appears.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20format%20should%20the%20whatsapp%20number%20use%3F\"><h3>What format should the WhatsApp number use?<\/h3><\/dt>\n<dd><p>The international format used by <code>wa.me<\/code>, for example <code>15551234567<\/code>. Spaces, plus signs and punctuation are stripped before saving.<\/p><\/dd>\n<dt id=\"do%20i%20need%20a%20google%20analytics%20account%3F\"><h3>Do I need a Google Analytics account?<\/h3><\/dt>\n<dd><p>No. That is the point of the plugin. Clicks are stored in a table on your own site and reported in wp-admin.<\/p><\/dd>\n<dt id=\"does%20the%20tracking%20survive%20a%20caching%20plugin%3F\"><h3>Does the tracking survive a caching plugin?<\/h3><\/dt>\n<dd><p>Yes. Clicks are sent to a REST endpoint that carries no nonce, so nothing in the cached HTML can go stale. Device visibility is handled with a CSS breakpoint for the same reason, rather than detecting the device when the page is rendered.<\/p><\/dd>\n<dt id=\"what%20exactly%20is%20stored%20for%20each%20click%3F\"><h3>What exactly is stored for each click?<\/h3><\/dt>\n<dd><p>The page URL, the time, <code>mobile<\/code> or <code>desktop<\/code>, the post ID when the click happened on a single post or page, and the routing rule that supplied the number. No IP address, no cookie, no user agent, no personal data.<\/p><\/dd>\n<dt id=\"why%20do%20campaign%20parameters%20disappear%20from%20the%20top%20pages%20report%3F\"><h3>Why do campaign parameters disappear from the top pages report?<\/h3><\/dt>\n<dd><p>So one page is one row. Otherwise a page shared through five campaigns shows up five times and the report tells you nothing useful. Only known tracking parameters are dropped, things like <code>utm_source<\/code>, <code>fbclid<\/code> and <code>gclid<\/code>. Everything else in the query string is kept, so the report still works on a site using plain permalinks where <code>?page_id=12<\/code> is the only thing identifying the page.<\/p><\/dd>\n<dt id=\"how%20do%20routing%20rules%20work%3F\"><h3>How do routing rules work?<\/h3><\/dt>\n<dd><p>Rules are evaluated in this order:<\/p>\n\n<ol>\n<li>Page<\/li>\n<li>Post<\/li>\n<li>Category<\/li>\n<li>Default fallback<\/li>\n<\/ol>\n\n<p>The first matching rule wins. If nothing matches, the plugin uses the default fallback rule, then your main number.<\/p><\/dd>\n<dt id=\"can%20i%20place%20the%20button%20inside%20a%20post%20instead%20of%20floating%20it%3F\"><h3>Can I place the button inside a post instead of floating it?<\/h3><\/dt>\n<dd><p>Yes, with the <code>[zcba_button]<\/code> shortcode or the Chat Button block. Both reuse the same routing rules. The shortcode accepts <code>text<\/code>, <code>number<\/code> and <code>align<\/code>, for example <code>[zcba_button text=\"Ask us\" align=\"center\"]<\/code>.<\/p><\/dd>\n<dt id=\"can%20i%20move%20the%20button%20so%20it%20does%20not%20collide%20with%20another%20chat%20widget%3F\"><h3>Can I move the button so it does not collide with another chat widget?<\/h3><\/dt>\n<dd><p>Set the distance from the bottom under Button Design. If the two still overlap, the stacking order is filterable:<\/p>\n\n<pre><code>add_filter( 'zcba_button_z_index', function () { return 100; } );\n<\/code><\/pre><\/dd>\n<dt id=\"does%20it%20load%20assets%20on%20every%20page%3F\"><h3>Does it load assets on every page?<\/h3><\/dt>\n<dd><p>No. Frontend CSS loads only where a button will actually render, and the tracking script only when analytics are on. Admin styles load only on the plugin's own screens.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20data%20if%20i%20delete%20the%20plugin%3F\"><h3>What happens to my data if I delete the plugin?<\/h3><\/dt>\n<dd><p>The settings, the clicks table, the scheduled cleanup and the plugin's transients are all removed on uninstall, on single sites and across a multisite network.<\/p><\/dd>\n<dt id=\"where%20do%20i%20get%20help%20or%20report%20a%20bug%3F\"><h3>Where do I get help or report a bug?<\/h3><\/dt>\n<dd><p>Use the support forum here. It is the fastest way to reach us and it leaves the answer where the next person with the same question will find it. Setup guides and screenshots are at <a href=\"https:\/\/zignites.com\/plugins\/zignites-chat-button-analytics\">zignites.com\/plugins\/zignites-chat-button-analytics<\/a>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<p>First public release of Zignites Chat Button Analytics.<\/p>\n\n<ul>\n<li>Floating click-to-chat button with configurable text, color, side, delay and distance from the bottom<\/li>\n<li><code>[zcba_button]<\/code> shortcode and a Chat Button block for placing the button inline<\/li>\n<li>Display rules for post types, specific page and post IDs, and mobile or desktop only<\/li>\n<li>Routing rules for pages, posts and categories with a default fallback, using search-backed target selection<\/li>\n<li>Smart message variables for page title, URL and site name<\/li>\n<li>Optional click analytics with a date range picker, daily trend, top pages, device split, per-rule reporting and CSV export<\/li>\n<li>Click tracking over a REST endpoint so it keeps working behind a full page cache<\/li>\n<li>Per-visitor duplicate suppression and rate limiting, with no cookies and no stored IP addresses<\/li>\n<li>Retention setting with a daily cleanup task and a manual clear action<\/li>\n<li>Registered privacy policy content, and full data removal on uninstall including multisite<\/li>\n<\/ul>","raw_excerpt":"Click analytics for your chat button, stored in your own database. Route visitors to a different WhatsApp number per page, post or category.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/362317","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=362317"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/zeeshansardar08"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=362317"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=362317"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=362317"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=362317"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=362317"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=362317"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}