{"id":366258,"date":"2026-09-13T11:27:48","date_gmt":"2026-09-13T11:27:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/floating-cta-number-rotation-click-tracking-digibrandbox\/"},"modified":"2026-09-13T11:27:34","modified_gmt":"2026-09-13T11:27:34","slug":"khushank-floating-contact-icons","status":"publish","type":"plugin","link":"https:\/\/ca.wordpress.org\/plugins\/khushank-floating-contact-icons\/","author":18021181,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.7.1","stable_tag":"1.7.1","tested":"7.1","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Khushank Floating Contact Icons","header_author":"Khushank Raj Mahawan","header_description":"Adds a floating set of contact\/CTA icons \u2014 including multi-number WhatsApp team rotation, Call, Instagram, LinkedIn, YouTube, X and a custom form link \u2014 with per-page targeting, scroll\/exit-intent triggers, and built-in click tracking\/analytics.","assets_banners_color":"265fdd","last_updated":"2026-09-13 11:27:34","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/www.linkedin.com\/in\/khushank-raj-mahawan-2801\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":52,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.7.1":{"tag":"1.7.1","author":"khushankrajmahawan","date":"2026-09-13 11:27:34","revision":3693596}},"upgrade_notice":{"1.7.1":"<p>Plugin renamed to &quot;Khushank Floating Contact Icons&quot;.<\/p>","1.7.0":"<p>Renamed (brand-first naming, DigiBrandBox reference removed) and short description shortened, per Plugin Directory review feedback.<\/p>","1.6.3":"<p>Fixes a text-domain mismatch across the plugin (caused by an incomplete rename) and shortens the plugin name.<\/p>","1.6.2":"<p>Plugin renamed to comply with WordPress.org&#039;s restricted-term policy; also clarifies that WhatsApp numbers need a country code.<\/p>","1.6":"<p>Adds optional Google Analytics\/GTM click tracking and fixes the icon graphics.<\/p>","1.5":"<p>Adds WhatsApp team rotation, per-page targeting and scroll\/exit-intent triggers.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3693596,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3693596,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3693596,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3693596,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.7.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3693596,"resolution":"1","location":"assets","locale":"","width":1280,"height":1870},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3693596,"resolution":"2","location":"assets","locale":"","width":1280,"height":720}},"screenshots":{"1":"Floating CTA settings screen in wp-admin.","2":"Example of the floating icon bar on the front end."}},"plugin_section":[],"plugin_tags":[60390,5375,1002,30237,280443],"plugin_category":[],"plugin_contributors":[280444],"plugin_business_model":[],"class_list":["post-366258","plugin","type-plugin","status-publish","hentry","plugin_tags-click-to-chat","plugin_tags-click-tracking","plugin_tags-exit-intent","plugin_tags-floating-button","plugin_tags-number-rotation","plugin_contributors-khushankrajmahawan","plugin_committers-khushankrajmahawan"],"banners":{"banner":"https:\/\/ps.w.org\/khushank-floating-contact-icons\/assets\/banner-772x250.png?rev=3693596","banner_2x":"https:\/\/ps.w.org\/khushank-floating-contact-icons\/assets\/banner-1544x500.png?rev=3693596","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/khushank-floating-contact-icons\/assets\/icon-128x128.png?rev=3693596","icon_2x":"https:\/\/ps.w.org\/khushank-floating-contact-icons\/assets\/icon-256x256.png?rev=3693596","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/khushank-floating-contact-icons\/assets\/screenshot-1.png?rev=3693596","caption":"Floating CTA settings screen in wp-admin."},{"src":"https:\/\/ps.w.org\/khushank-floating-contact-icons\/assets\/screenshot-2.png?rev=3693596","caption":"Example of the floating icon bar on the front end."}],"raw_content":"<!--section=description-->\n<p>This plugin adds a floating bar of contact icons to your site, so visitors can reach you on WhatsApp, phone, or your social profiles without hunting for a contact page.<\/p>\n\n<p><strong>Features<\/strong><\/p>\n\n<ul>\n<li>Choose which icons to show: WhatsApp, Call, Instagram, LinkedIn, YouTube, X (Twitter), or a custom form\/link URL.<\/li>\n<li><strong>WhatsApp team rotation<\/strong> \u2014 add more than one WhatsApp number and clicks are distributed round-robin across your team instead of always going to one person.<\/li>\n<li><strong>Per-page\/post targeting<\/strong> \u2014 show the bar everywhere, only on specific pages\/posts, or everywhere except specific pages\/posts.<\/li>\n<li><strong>Scroll and exit-intent triggers<\/strong> \u2014 show the bar immediately, only after the visitor scrolls down a configurable amount, or when their mouse is about to leave the page (with an automatic time-based fallback on touch devices, where exit-intent can't be detected).<\/li>\n<li>Control position (bottom right or center right), shape (circle or square), and icon\/bubble size \u2014 all from one settings screen, no code required.<\/li>\n<li>Built-in click analytics: see how many times each icon was clicked, right inside wp-admin, with no external tracking service or third-party script involved.<\/li>\n<li><strong>Optional Google Analytics \/ GTM click tracking<\/strong> \u2014 if you already have GA or Google Tag Manager on your site, turn on one checkbox and every icon click pushes a <code>floating_cta_click<\/code> event (with the icon name) into <code>window.dataLayer<\/code> \/ <code>gtag<\/code>, so you can build funnels, goals or GTM triggers around it. Off by default; the plugin never loads GA\/GTM itself.<\/li>\n<li>No page builder or theme dependency \u2014 works with any theme via <code>wp_footer<\/code>.<\/li>\n<li>No front-end JavaScript in the default \"show immediately\" mode with GA tracking off; a small script loads only when a scroll trigger, exit-intent trigger, or GA tracking is enabled.<\/li>\n<\/ul>\n\n<p>All settings are stored in your own WordPress database using the Settings API; nothing is sent to any external server by this plugin.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/khushank-floating-contact-icons<\/code>, or install the plugin directly through the WordPress plugins screen.<\/li>\n<li>Activate the plugin through the \"Plugins\" screen in WordPress.<\/li>\n<li>Go to the new \"Floating CTA\" menu item in wp-admin.<\/li>\n<li>Fill in the numbers\/URLs for the icons you want to show, choose appearance, display rules and a trigger.<\/li>\n<li>Save changes \u2014 the floating bar will appear on the front end based on your chosen rules.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20send%20any%20data%20to%20an%20external%20service%3F\"><h3>Does this plugin send any data to an external service?<\/h3><\/dt>\n<dd><p>No. All settings and click counts are stored only in your own WordPress database (via <code>wp_options<\/code>). The plugin does not call any third-party API.<\/p><\/dd>\n<dt id=\"how%20does%20whatsapp%20number%20rotation%20work%3F\"><h3>How does WhatsApp number rotation work?<\/h3><\/dt>\n<dd><p>If you enter more than one WhatsApp number (one per line), each click is routed to the next number in the list, round-robin, so leads\/messages are spread across your team instead of overloading one person.<\/p><\/dd>\n<dt id=\"why%20doesn%27t%20my%20whatsapp%20number%20work%3F\"><h3>Why doesn't my WhatsApp number work?<\/h3><\/dt>\n<dd><p>Always enter the full number with its country code and no leading zero (for example, an Indian mobile number should be entered as 919876543210 \u2014 the \"+\" is optional but the country code itself is required). Without the country code, WhatsApp will show an \"invalid phone number\" page instead of opening a chat, which can look like the number wasn't saved at all.<\/p><\/dd>\n<dt id=\"can%20i%20show%20the%20bar%20only%20on%20certain%20pages%3F\"><h3>Can I show the bar only on certain pages?<\/h3><\/dt>\n<dd><p>Yes \u2014 under Display Rules, set \"Show On\" to either \"Only the pages\/posts selected below\" or \"All pages except the ones selected below\", then pick the pages\/posts from the list.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20load%20any%20front-end%20javascript%20or%20css%20frameworks%3F\"><h3>Does the plugin load any front-end JavaScript or CSS frameworks?<\/h3><\/dt>\n<dd><p>Only a single small stylesheet is always loaded. A small JavaScript file is loaded only if you enable the scroll trigger, the exit-intent trigger, or Google Analytics\/GTM click tracking; the default \"show immediately\" mode with GA tracking off loads no JavaScript at all.<\/p><\/dd>\n<dt id=\"does%20the%20google%20analytics%20option%20install%20google%20analytics%20for%20me%3F\"><h3>Does the Google Analytics option install Google Analytics for me?<\/h3><\/dt>\n<dd><p>No. It only pushes a <code>floating_cta_click<\/code> event into <code>window.dataLayer<\/code> and calls <code>window.gtag<\/code> if that function already exists on the page. You need Google Analytics or Google Tag Manager already installed on your site (for example via Site Kit, MonsterInsights, or GTM4WP) for this to do anything.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.7.1<\/h4>\n\n<ul>\n<li>Shortened the name to \"Khushank Floating Contact Icons\" \u2014 still leads with the distinguishing personal identifier, but now also states plainly what the plugin does.<\/li>\n<\/ul>\n\n<h4>1.7.0<\/h4>\n\n<ul>\n<li>Renamed the plugin to put the distinguishing identifier at the start of the name, per WordPress.org's naming guidance, and removed the third-party \"DigiBrandBox\" brand\/URL entirely rather than go through domain-ownership verification \u2014 the plugin is now identified solely by its actual author.<\/li>\n<li>Shortened the readme short description to fit the Plugin Directory's 150-character limit.<\/li>\n<\/ul>\n\n<h4>1.6.3<\/h4>\n\n<ul>\n<li>Renamed the plugin again, shorter this time (\"Floating CTA Rotator &amp; Tracker \u2013 DigiBrandBox\"), and \u2014 critically \u2014 synced the <code>Text Domain<\/code> header, every translation string's text domain, the main plugin file name, and the plugin folder to match. The previous release changed the display name but left the old <code>Text Domain<\/code> in place, which Plugin Check correctly flagged as a mismatch throughout the file.<\/li>\n<\/ul>\n\n<h4>1.6.2<\/h4>\n\n<ul>\n<li>Renamed the plugin \u2014 the Plugin Directory does not allow the restricted term \"WhatsApp\" in a plugin's display name\/permalink (the plugin still integrates with WhatsApp, and the word is used normally throughout the description and settings screen).<\/li>\n<li>Added clearer in-admin guidance that WhatsApp numbers must include the country code (e.g. 919876543210), since a number without it produces an \"invalid phone number\" page on WhatsApp's side instead of a working chat link.<\/li>\n<\/ul>\n\n<h4>1.6.1<\/h4>\n\n<ul>\n<li>Set the official DigiBrandBox website as the Plugin URI.<\/li>\n<\/ul>\n\n<h4>1.6<\/h4>\n\n<ul>\n<li>Added optional Google Analytics \/ Google Tag Manager click tracking (opt-in checkbox under Integrations): pushes a <code>floating_cta_click<\/code> event with the icon name into <code>window.dataLayer<\/code> and calls <code>window.gtag<\/code> if present. The plugin still never loads GA\/GTM itself.<\/li>\n<li>Redrew all icon glyphs (WhatsApp, Call, Instagram, LinkedIn, YouTube, X) so they're recognizable, and added a previously-missing icon for the custom Form link.<\/li>\n<\/ul>\n\n<h4>1.5<\/h4>\n\n<ul>\n<li>Added WhatsApp team rotation: configure multiple numbers, clicks are distributed round-robin.<\/li>\n<li>Added per-page\/post display targeting (show everywhere, only on selected pages, or everywhere except selected pages).<\/li>\n<li>Added scroll and exit-intent display triggers, with a time-based fallback for touch devices.<\/li>\n<li>Reorganized the settings screen into Contact Links, Appearance and Display Rules sections.<\/li>\n<\/ul>\n\n<h4>1.4<\/h4>\n\n<ul>\n<li>Security fix: click-through redirects are now resolved entirely from the site's own stored settings instead of a request parameter, closing a potential open-redirect issue, and click links are nonce-protected.<\/li>\n<li>Renamed the plugin for Plugin Directory naming\/trademark compliance.<\/li>\n<li>Added a proper <code>Text Domain<\/code> and translator-ready strings throughout the admin screen.<\/li>\n<li>Per-field validation added to settings (whitelisted dropdown values, <code>esc_url_raw()<\/code> for link fields, digit-only sanitization for phone fields).<\/li>\n<li>Fixed a bug that rendered the floating bar twice on some themes.<\/li>\n<li>Added <code>uninstall.php<\/code> to clean up plugin options on deletion.<\/li>\n<li>Removed an unused, empty JavaScript file.<\/li>\n<\/ul>\n\n<h4>1.3<\/h4>\n\n<ul>\n<li>Internal version prior to Plugin Directory submission.<\/li>\n<\/ul>","raw_excerpt":"Floating contact bar with WhatsApp number rotation, per-page targeting, scroll\/exit-intent triggers, click analytics and optional GA\/GTM tracking.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/366258","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=366258"}],"author":[{"embeddable":true,"href":"https:\/\/ca.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/khushankrajmahawan"}],"wp:attachment":[{"href":"https:\/\/ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=366258"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=366258"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=366258"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=366258"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=366258"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=366258"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}