Sticky CTA Button
v1.3.0
Pro
Pro
Pro
Pro
Sticky CTA Button
This manual covers the free plugin from wordpress.org and the Pro plugin from desk9design.com and CodeCanyon: global settings, CTA profiles with click actions, targeting, audience, schedule and A/B tests, statistics, inline buttons, import and export, licensing and updates. Pro-only parts are marked.
1. Overview
2. Requirements
3. Installation and upgrade from Free
4. Quick start
5. Global settings (the default profile)
6. CTA profiles (Pro)
7. Click actions (Pro)
8. Targeting and priority (Pro)
9. Audience and A/B tests (Pro)
10. Schedule (Pro)
11. Per-page override (Pro)
12. Statistics and privacy (Pro)
13. Inline buttons: block and shortcode (Pro)
14. Import and export (Pro)
15. License and updates (desk9design.com edition)
16. Staging and moving sites
17. Troubleshooting and FAQ
18. Uninstall
1. Overview
Sticky CTA Button shows floating call-to-action buttons that stay on screen while people read, and turns them into a full-width action bar on phones. The free plugin covers one button pair for the whole site. Pro adds CTA profiles: complete button sets with rules for where, when and to whom they show, eight click actions, click statistics, A/B tests, WooCommerce actions, inline placement and import/export.
Pro replaces Free. When you activate Pro, your free settings become the default profile and keep showing on every page without a matching profile. The Pro plugin is sold on desk9design.com with a license key and updates inside WordPress, and on CodeCanyon with updates through Envato. Sections that differ are marked.
| Free | Pro | |
|---|---|---|
| Buttons per set | 2 | up to 5 |
| Click actions | Open a link | 8: link, call, WhatsApp, email, scroll, coupon, add to cart, cart |
| CTA profiles with targeting | no | yes |
| Display triggers | always, after 100 px | plus scroll depth, delay, element, exit intent, hide at footer |
| Schedule, audience, A/B test | no | yes |
| Statistics | no | views, clicks, CTR, 30 days, no cookies |
| Dismiss button, animations, gradients, badges, tooltips, custom CSS | no | yes |
| Block and shortcode, import/export | no | yes |
| Admin | Settings > Sticky CTA | own menu “Sticky CTA Button” |
2. Requirements
| WordPress | 6.0 or newer (tested up to 7.1) |
| PHP | 7.4 or newer |
| WooCommerce | optional; only the two cart actions need it |
| Theme | none; works with any theme, block or classic |
| External services | none: no icon fonts, no jQuery on the front end, no third-party requests |
3. Installation and upgrade from Free
1
Download the Pro ZIP from your account (CodeCanyon: from your Envato downloads).
2
In your WordPress admin, go to Plugins > Add New > Upload Plugin, select sticky-cta-button-pro.zip and click Install Now, then Activate.
3
A new top-level menu Sticky CTA Button appears with Settings, CTA Profiles, Statistics, Import/Export and, on the desk9design.com edition, License.
Upgrading from the free plugin
Keep the free plugin active while you install Pro, then deactivate it. All your settings are kept and used by Pro automatically; they become your default profile. Nothing to export or import.
Warning: do not run both plugins at the same time. While the free plugin is active, Pro pauses itself and shows a notice. Deactivate Free, then delete it.
4. Quick start
1
Go to Sticky CTA Button > Settings and configure your site-wide buttons. This is the default profile shown wherever no other profile matches.
2
Create page-specific button sets under Sticky CTA Button > CTA Profiles: buttons, click actions, targeting rule, publish.
3
Watch the results under Sticky CTA Button > Statistics.
5. Global settings (the default profile)
The Settings page has five tabs. Everything here applies to the default profile and, unless a profile overrides it, to every profile’s layout.
| Tab | Options |
|---|---|
| Buttons | Primary and secondary button: text, icon (icon grid with No Icon, Own Image from the media library, emoji icons, single-color icons), link, target, background and text color, live preview. Back-to-top button with arrow icons. |
| Position & Layout | Eight positions, Display Behavior (see below), Hide at Footer, vertical or horizontal grouping, button order, offsets. |
| Mobile Bar | Enable, bar position top or bottom, bar background color (slightly translucent with blur), Bar Style (icon next to label, or icon above label like an app tab bar, best with 4-5 buttons), breakpoint 768, 1024 or 1280 px. The bar respects the iPhone safe area; back-to-top floats above it. |
| Styling | Rounded corners and radius, Attention Animation (none, pulse, bounce, shake) with repeat interval (off for visitors who prefer reduced motion), Dismiss Button with “Stay Hidden For” in days (localStorage, no cookies), Custom CSS. |
| Statistics | Collect Statistics on or off. See section 12. |
Display Behavior
| Always | the buttons are visible from the first pixel |
| Show after scrolling (100 px) | the classic behavior; on pages too short to scroll they appear immediately |
| Show at scroll depth (%) | for example after 25 percent of the page |
| Show after a time delay | for example 5 seconds after the page loads |
| Show after scrolling past an element | a CSS selector such as .hero; the buttons appear once the visitor scrolled past it |
| Show on exit intent | when the mouse moves toward the browser bar; touch devices fall back to 50 percent scroll depth |
Hide at Footer hides the buttons while the footer is on screen so they never cover footer content. Useful selectors for Custom CSS: .wp-sticky-cluster, .wp-sticky-cta, .wp-sticky-cta-1 to .wp-sticky-cta-5, .wp-sticky-back-to-top, .wp-sticky-badge.
6. CTA profiles (Pro)
A profile is a complete button set of its own: up to five buttons, each with text, icon, colors and click action, plus the rules that decide where the profile appears. Without a rule a profile stays inactive.
1
Go to Sticky CTA Button > CTA Profiles > Add New Profile and give it a name. The name is only visible to you, for example “Shop pages”.
2
Open Button 1, tick Enable this button and set text, icon, Click Action, Background Color, Gradient Color (optional), Text Color, Badge (up to four characters) and Tooltip on hover. Repeat for up to five buttons; they show in this order.
3
Set at least one rule in the Targeting box (section 8). Optional: Audience, A/B Test, Schedule.
4
Leave Use the global layout settings (recommended) ticked, or untick it to give this profile its own position, display behavior, dismiss button, animation, grouping, offsets and radius. Each profile also decides whether back-to-top shows with it.
5
Publish.
7. Click actions (Pro)
| Action | What it does |
|---|---|
| Open a link (URL) | A classic link, same or new window. The only action in the free plugin. |
| Call a phone number | Starts a call via tel:, ideal on phones. |
| Start a WhatsApp chat | Opens WhatsApp with your number and an optional prefilled message. Number in international format without + or spaces, for example 49123456789. |
| Write an email | Opens the visitor’s mail app with your address and an optional subject. |
| Scroll to a section (anchor) | Smoothly scrolls to an element ID on the page, for example #pricing. |
| Copy a coupon code | Copies the code to the clipboard and shows “Copied!” for a moment. |
| WooCommerce: add product to cart | Adds the current product page’s product, or a fixed product ID, to the cart and opens the cart. Shown only while WooCommerce is active. |
| WooCommerce: go to cart (with count badge) | Links to the cart; the badge shows the live item count. |
8. Targeting and priority (Pro)
A profile shows when any of its rules matches the current page:
| Entire website | everywhere, for a site-wide campaign profile |
| Special pages | front page, blog page, archives, search results, 404 |
| Post types | all pages, all posts, all products, and so on |
| Specific posts/pages | comma-separated IDs |
| URL patterns (one per line, * as wildcard) | for example /shop/* |
When several profiles match, the most specific one wins: page IDs beat URL patterns, which beat post types, which beat special pages, which beat “entire website”. If two profiles are equally specific, the lower Priority number wins.
Hiding buttons: tick Hide all buttons where this profile matches to use a profile as a “no buttons here” rule, for example on a checkout or landing page.
9. Audience and A/B tests (Pro)
| Audience | Options |
|---|---|
| Login status | everyone, logged-in users only (optionally specific roles), or logged-out visitors only |
| Device | all devices, mobile devices only, desktop only. Decided on the server; see the caching note. |
| Languages | comma-separated language codes, empty means all. Works with WPML, Polylang or the site language. |
A/B Test: pick a partner profile under “Show this variant to 50% of views instead”. Half of the views get the partner instead of this profile; the partner’s own rules are ignored. Compare views, clicks and CTR of both under Statistics, then keep the winner.
Note: full-page caching plugins cache one rendered page. Device targeting and the A/B split are decided on the server, so a cached page can pin one variant until the cache expires.
10. Schedule (Pro)
| Date range | for example a sale week; outside the range the profile is skipped |
| Weekdays | tick the days; no weekday checked means every day |
| Daily time window | for example 09:00 to 18:00 for a “Call now” button during business hours; windows across midnight such as 20:00 to 06:00 work too |
All times use your WordPress timezone from Settings > General. Outside the schedule, the next matching profile or the default profile shows instead. A caching plugin can delay a scheduled change until its cache expires.
11. Per-page override (Pro)
Every page and post has a small Sticky CTA Button box in the editor sidebar with three choices: Automatic (targeting rules), Hide buttons on this page, or a specific profile that shows on this page regardless of any rules.
12. Statistics and privacy (Pro)
Sticky CTA Button > Statistics shows the last 30 days per profile: views, clicks per button (1 to 5), back-to-top clicks, total clicks and the click-through rate (CTR). Inline buttons from the block or shortcode count the same way.
| What is stored | aggregated daily totals per profile and metric in a table on your own site: date, profile, metric, count. No IP addresses, no user agents, no visitor IDs. |
| Cookies | none. No consent-banner entry is needed for the statistics. |
| Administrators | logged-in administrators are never counted, so your own testing does not distort the numbers. |
| Switching off | Settings > Statistics > Collect Statistics. When off, the browser sends no events and the server rejects any. Existing data stays visible. |
| Third parties | nothing is sent anywhere. There is no Google Analytics or other integration. |
13. Inline buttons: block and shortcode (Pro)
Place a profile’s buttons inside your content, with the same look and the same statistics: add the CTA Buttons block and pick a profile, or use the shortcode with the profile ID from the profile list.
[scb_buttons profile="123"]
14. Import and export (Pro)
Sticky CTA Button > Import/Export downloads all profiles and the global settings as one JSON file with Download Export File. Use it as a backup or to copy a setup to another site.
Importing always creates new profiles and never touches existing ones. Tick Also overwrite the global settings with the imported ones if you want the global settings replaced too. A/B partner links are dropped on import; set them again on the new site.
15. License and updates (desk9design.com edition)
The Pro plugin from desk9design.com receives updates inside WordPress through your license key. Without an active license the plugin keeps working with every feature; only automatic updates in the WordPress dashboard are unavailable. The CodeCanyon edition has no License page and updates through Envato.
1
Copy the license key from your account on desk9design.com. It is also in your purchase email.
2
Open Sticky CTA Button > License, paste the key into License Key and click Activate License.
3
The Status shows Active on this site with “Valid until” and “Sites: x of y used”. Updates now appear under Dashboard > Updates like any other plugin.
Deactivate on this site frees the slot so you can use the key on another site. Update checks run every 12 hours and when you activate or deactivate; a just-published release can take up to that long to appear, and “Check again” on the Updates screen forces it.
Note: an update check sends the product slug, your license key, this site’s address and the installed version to desk9design.com. No visitor data is transmitted. An expired key stops updates, never the plugin; renew from your account to receive updates again.
16. Staging and moving sites
Development environments never count against your site limit. Anything on localhost, a .test, .local or .dev domain, or a subdomain starting with staging. or dev. activates as a free slot: same key, full functionality.
Licenses are not locked to a domain forever. Click Deactivate on this site on the old site, or deactivate it next to the subscription in your account, then activate the key on the new site. This takes under a minute and never requires a support ticket. Site swaps do not change your renewal date.
Profiles, settings and statistics live in the database and move with a normal site migration. To copy only the buttons to another site, use Import/Export.
17. Troubleshooting and FAQ
My profile does not appear
The buttons do not show up at all
Changes do not show for visitors
The WooCommerce buttons are missing
Can I run the free and the Pro version at the same time?
Update not showing
License says it ran out
Does the plugin load external fonts or scripts?
Is the plugin GDPR-friendly?
18. Uninstall
Before uninstalling the desk9design.com edition, click Deactivate on this site under Sticky CTA Button > License so the site slot frees up for another site.
Deleting the Pro plugin removes its settings unless the free plugin is still installed; then the settings stay for the free plugin to use. Profiles are stored as their own content type and stay in the database until you delete them under CTA Profiles. Export first if you might come back.
Changelog
| 1.3.0 | Statistics can be switched on and off in the settings (new Statistics tab). Enforced in the browser and on the server; existing data is kept. |
| 1.2.0 | The profile editor uses the same visual icon picker as the settings page. |
| 1.1.1 | Own top-level admin menu with Settings, CTA Profiles, Statistics, Import/Export and License. Fix: admin styles did not load on the settings screen. |
| 1.1.0 | Display triggers (scroll depth, delay, element, exit intent), hide at footer, dismiss button, attention animations, gradients, badges, tooltips, custom CSS, five buttons, mobile bar icon style, audience targeting, WooCommerce actions, A/B testing, block and shortcode, import/export. |
| 1.0.0 | Initial Pro release: CTA profiles with targeting, scheduling, click statistics, per-page override and all features of the free version. |