Title: Floating CTA &#8211; Sticky Product Bar for Affiliate &amp; Review Sites
Author: Polymetric Labs
Published: <strong>మే 21, 2026</strong>
Last modified: సెప్టెంబర్ 2, 2026

---

Search plugins

![](https://ps.w.org/floatingcta/assets/banner-772x250.png?rev=3547195)

![](https://ps.w.org/floatingcta/assets/icon-256x256.png?rev=3548480)

# Floating CTA – Sticky Product Bar for Affiliate & Review Sites

 By [Polymetric Labs](https://profiles.wordpress.org/polymetric/)

[Download](https://downloads.wordpress.org/plugin/floatingcta.2.2.1.zip)

 * [Details](https://te.wordpress.org/plugins/floatingcta/#description)
 * [Reviews](https://te.wordpress.org/plugins/floatingcta/#reviews)
 *  [Installation](https://te.wordpress.org/plugins/floatingcta/#installation)
 * [Development](https://te.wordpress.org/plugins/floatingcta/#developers)

 [Support](https://wordpress.org/support/plugin/floatingcta/)

## Description

**Floating CTA** adds a clean, conversion-focused sticky CTA bar to the bottom of
your posts. Built specifically for Amazon affiliate publishers and product review
sites.

Unlike generic notification bar plugins, Floating CTA is purpose-built for product
recommendations. No locked controls in the core bar, no demo data, no upsell wall
on essential features.

Each bar includes:

 * **Product title** – the name of whatever you’re recommending
 * **Star rating** – visual 0-5 star display (supports half stars)
 * **Price display** – current price with optional strikethrough old price
 * **Buy Now button** – fully customizable text (Check Price, Buy Now, View Deal)
   and affiliate URL
 * **Product image** – optional thumbnail from your media library

#### What’s included in the free version

 * **Live preview** – see the bar rendered right below the fields in the meta box
   as you fill them in. No save, no reload.
 * **Five color settings** – bar background, button, button hover, button text, 
   and title color, configurable from Settings > Floating CTA > Colors.
 * **Product schema** – Schema.org Product with a nested editorial Review (rating
   + author) emitted automatically, with built-in conflict avoidance so sites running
   Yoast / Rank Math / AIOSEO never get duplicate Product schema.
 * **Per-post control** – enable, configure, and override every field individually
   on each post.
 * **Dismissible** – visitors can close the bar for the current page view, or remember
   the dismissal for a set number of days.
 * **Settings export/import** – back up or copy your configuration as JSON from 
   Settings > Floating CTA > General.

#### Why Floating CTA?

Most “sticky bar” plugins are built for email signups, announcements, and cookie
notices. Floating CTA is built for one thing: getting more clicks on your affiliate
links.

 * **Lightweight** – vanilla JavaScript, no jQuery, no React. ~7KB total frontend
   footprint (CSS + JS).
 * **Server-rendered** – the bar is in the HTML on page load. No flicker, no layout
   shift, no waiting on JS to inject it, no fighting your cache.
 * **Accessible** – proper ARIA labels, keyboard navigable, screen reader friendly.
 * **Mobile optimized** – responsive layout that adapts to any screen size.
 * **Affiliate-friendly** – built-in `rel="nofollow sponsored"` support.
 * **No cross-promotion** – no dashboard widgets, no popups, no affiliate links 
   pushing you toward some other plugin.

#### Floating CTA vs notification bar plugins

 * Notification bars are a text line and a button. Floating CTA has dedicated fields
   for product title, image, star rating, and price – the shape a review post actually
   needs.
 * Schema. Floating CTA emits Product + Review JSON-LD for what you’re recommending.
   Notification bars emit nothing.
 * Weight. Floating CTA runs ~7KB, no jQuery, no React. Notification bar plugins
   built around a Customizer app routinely ship 10x that.
 * Rendering. Floating CTA’s bar is server-rendered and in the page HTML from the
   first paint. Bars injected by JavaScript after the page loads flicker in and 
   can shift your layout.
 * Affiliate handling. Built-in `nofollow sponsored` rel, UTM auto-append (Pro),
   and per-post click tracking (Pro) – the controls an affiliate link actually needs,
   not a generic “add link” field.
 * No nagware. One dismissible review-request notice, and that’s it. No modules 
   pushing an unrelated product with affiliate links baked in.

#### How It Works

 1. Install and activate the plugin.
 2. Edit any post and find the “Floating CTA” meta box.
 3. Check “Enable,” fill in the product details, and publish.
 4. A floating bar appears at the bottom of that post.

That’s it. No page builders, no shortcode soup, no 47-step configuration wizard.

#### Floating CTA Pro

Need more control? [Floating CTA Pro](https://floatingcta.com/pro/) adds:

 * **Five more colors** – price, old price, subtitle, star rating, dismiss icon
 * **Per-post color overrides** – different colors for different posts
 * **Button styles and custom CSS** – full styling control
 * **Top or bottom bar position** – global default plus per-post override
 * **Display rules** – show after scroll %, time delay, device targeting, category
   targeting
 * **Schedule and countdown** – set a per-post start and end time for the bar, with
   an optional “deal ends” countdown chip next to the price
 * **A/B button text** – test up to 3 button-label variants per post, with clicks
   tracked separately per variant
 * **Mobile button text override** – a different button label on mobile, per post
   or as a global default
 * **Custom post type support** – works on pages, WooCommerce products, and any 
   CPT
 * **Click tracking** – per-post click counts with an admin dashboard, including
   a clicks-by-day chart
 * **UTM auto-append** – tag outbound affiliate URLs automatically
 * **GA4 events** – send click events to Google Analytics
 * **Schema controls** – disable schema per-post, or force-emit alongside other 
   SEO plugins
 * **Second CTA button and click-to-copy coupon code** – per-post extras

Launch offer: 50% off Floating CTA Pro with the code **LAUNCH50** at checkout. Pro
is a separate paid plugin sold at floatingcta.com; the free plugin here keeps working
on its own either way.

[Learn more at floatingcta.com >](https://floatingcta.com/?utm_source=wporg&utm_medium=readme)

## Screenshots

[⌊The floating bar on a product review post (desktop)⌉⌊The floating bar on a product
review post (desktop)⌉[

The floating bar on a product review post (desktop)

[⌊The floating bar on mobile⌉⌊The floating bar on mobile⌉[

The floating bar on mobile

[⌊Per-post configuration in the meta box⌉⌊Per-post configuration in the meta box⌉[

Per-post configuration in the meta box

[⌊Global settings page⌉⌊Global settings page⌉[

Global settings page

[⌊Live preview in the post editor⌉⌊Live preview in the post editor⌉[

Live preview in the post editor

## Installation

 1. Upload the `floatingcta` folder to `/wp-content/plugins/`.
 2. Activate through the Plugins menu in WordPress.
 3. Go to **Settings > Floating CTA** to configure defaults.
 4. Edit any post and use the Floating CTA meta box to enable per post.

## FAQ

### Does it work with my theme?

Yes. Floating CTA uses standard WordPress hooks and minimal CSS that works with 
any properly coded theme. The bar is fixed-positioned and doesn’t interfere with
your theme’s layout.

### Does it slow down my site?

No. The total frontend footprint is approximately 7KB (CSS + JS combined) – no jQuery,
no React. Scripts only load on posts where the bar is enabled, and the bar itself
is rendered server-side, so it’s in the page HTML on first paint with no flicker
or layout shift.

### How is this different from a notification bar plugin?

Notification bar plugins are built for announcements and email signups – a text 
line and a button. Floating CTA is built for product recommendations: dedicated 
fields for title, image, star rating, and price, plus Product schema and affiliate-
friendly link handling. Use a notification bar for a site-wide announcement. Use
Floating CTA for “here’s the product this post is about.”

### Does it work with WooCommerce / on pages?

The free version works on posts only. [Floating CTA Pro](https://floatingcta.com/pro/)
adds support for pages, WooCommerce products, and any custom post type.

### Does it add schema markup?

Yes. The free version emits Schema.org Product with a nested editorial Review (rating
and author) based on the data you enter for each bar. It skips itself when another
plugin (Yoast, Rank Math, AIOSEO) already wrote a Product schema for the page, so
you never get duplicate entities. [Floating CTA Pro](https://floatingcta.com/pro/)
adds per-post disable and force-emit toggles for advanced control.

### Can I schedule a bar or show a countdown?

That’s a [Floating CTA Pro](https://floatingcta.com/pro/) feature. Set a start and
end time per post, and the bar shows only in that window. You can also add an optional
countdown chip next to the price for time-limited deals.

### Can visitors dismiss it for good?

Yes. By default, dismissing the bar hides it for the current page view only. In 
Settings > Floating CTA > General you can switch to “remember for N days,” which
stores the dismissal in the visitor’s browser (localStorage, keyed to the post) –
no cookies, and it keeps working with page caching.

### Does it work with page caching?

Yes. The bar is rendered server-side into the cached HTML, so every visitor gets
it. Dismiss state – whether it’s per-page-view or remembered for N days – lives 
entirely in the visitor’s browser, not in a cookie or a server-side session, so 
it never gets cached or served to the wrong visitor.

### Is my data sent anywhere?

No. Floating CTA doesn’t make any external requests, doesn’t load third-party scripts,
and doesn’t run any tracking or analytics of its own. Everything – settings, per-
post fields, dismiss state – stays on your site or in the visitor’s browser. [Floating CTA Pro](https://floatingcta.com/pro/)
click tracking, when enabled, stores click counts in your own database; nothing 
leaves your site unless you turn on the optional GA4 event integration.

## Reviews

![](https://secure.gravatar.com/avatar/2e6b7d5c61dd145365ecc4c22d006e3edc46026b5cf0665fbb9e9b4aa1dc4e37?
s=60&d=retro&r=g)

### 󠀁[Really helps CTR & conversions on review sites](https://wordpress.org/support/topic/really-helps-ctr-conversions-on-review-sites/)󠁿

 [egonitron](https://profiles.wordpress.org/csburdick/) మే 26, 2026

Added this to a couple of my review sites and it’s pretty obvious that if a CTA 
button is always in view, the user doesn’t have to go looking for the link to click.
Definitely helps CTR. The plugin is super lightweight and easy to use. The fact 
that product Schema is included in the free version is crazy cool. The only thing
is you have to configure it for every post, so it takes a while to set up depending
on the size of your site, but that’s also its benefit, so IDK how I’d fix that.

 [ Read all 1 review ](https://wordpress.org/support/plugin/floatingcta/reviews/)

## Contributors & Developers

“Floating CTA – Sticky Product Bar for Affiliate & Review Sites” is open source 
software. The following people have contributed to this plugin.

Contributors

 *   [ Polymetric Labs ](https://profiles.wordpress.org/polymetric/)

[Translate “Floating CTA – Sticky Product Bar for Affiliate & Review Sites” into your language.](https://translate.wordpress.org/projects/wp-plugins/floatingcta)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/floatingcta/), check
out the [SVN repository](https://plugins.svn.wordpress.org/floatingcta/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/floatingcta/) by
[RSS](https://plugins.trac.wordpress.org/log/floatingcta/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 2.2.1

 * Added: a note about the Floating CTA Pro launch discount on the Pro features 
   tab of the plugin’s own settings page. No admin notice, no dashboard widget, 
   and nothing on screens the plugin does not own.

#### 2.2.0

 * Added: live preview in the post editor. The bar is drawn under the fields and
   updates as you type.
 * Added: dismiss memory. Settings > Floating CTA > General can remember a dismissal
   for 1-365 days, stored in the visitor’s browser, so nothing on the server varies
   and page caching still works.
 * Added: settings export and import as a JSON file on the General tab. Plugin settings
   only, not per-post bars.
 * Added: `fcta_frontend_data` filter for the frontend JavaScript config object.
 * Added: `fcta_uninstall_preserved_meta_keys` filter. Add-ons can list postmeta
   keys the free plugin’s uninstall should leave alone, so removing this plugin 
   no longer wipes Floating CTA Pro’s click history and schedules.
 * Hardening: settings import ignores non-scalar values, checks the size of the 
   bytes it actually read, and falls back to a direct read on hosts where WP_Filesystem
   cannot reach the upload directory.
 * Tested up to WordPress 7.1.

#### 2.1.2

 * Fixed: the image picker and validation now load on edit screens for every supported
   post type (pages, products, and Pro custom post types), not just posts.
 * Fixed: a half-star (0.5) rating no longer emits review schema below the declared
   minimum rating, which Google rejected.
 * Fixed: dismissing the review-request notice now sticks instead of reappearing
   on every page.
 * Housekeeping: uninstall now removes all of the plugin’s leftover options.

#### 2.1.1

 * Hardening: JSON-LD schema output now adds JSON_HEX_TAG | JSON_HEX_AMP so it cannot
   break out of the script context.
 * Hardening: the inline-CSS guard in the bar template is now case-insensitive.
 * Use esc_url_raw() in place of the deprecated sanitize_url() for stored button/
   image URLs.

#### 2.1.0

 * Added: “Schema Output” toggle (Settings > General) to turn the Product review
   schema on or off site-wide.
 * Changed: Schema is now a Product with a nested editorial Review (reviewRating
   + author) instead of an AggregateRating with a count of 1. A single critic score
   is a review, not an aggregate – this validates as both a Product snippet and 
   a review snippet, and only emits on bars that have a star rating.
 * Fixed: No longer emits a Product `Offer` (price + availability) by default. On
   affiliate and review sites the Buy button points to a third-party seller, so 
   an Offer on your own URL pulled pages into Google’s Merchant listings program
   and triggered “missing shippingDetails / hasMerchantReturnPolicy / global identifier”
   warnings that an affiliate (or a service such as a financial product) cannot 
   satisfy.
 * Added: `fcta_schema_offer` filter (default false) to restore the Offer node for
   sites that genuinely sell the item on their own domain.

#### 2.0.17

 * Added: Template hook `fcta_after_cta_button` fires between the primary CTA and
   the dismiss button, letting add-ons place secondary buttons next to the primary
   CTA.

#### 2.0.16

 * Added: Review prompt notice after genuine usage (3+ bars configured, or 14+ days
   with at least one bar). Dismissible, never re-nags. Shows on plugin settings,
   Plugins, and Dashboard screens only.
 * Changed: Tags updated for better WordPress.org directory discoverability.
 * Changed: Short description rewritten for broader appeal beyond affiliate-only
   use cases.

#### 2.0.15

 * Changed: Plugin description rewritten in active voice (“Turn product reviews 
   into clicks…”) for the WP-admin plugins list and the WordPress.org listing.
 * Changed: Removed “Badge labels” from the Pro features comparison and Pro teaser.
   The feature is no longer offered in Floating CTA Pro.

#### 2.0.14

 * Added: Template extension hook `fcta_settings_page_top` (fires above the tab 
   nav on Settings > Floating CTA). Lets add-ons render compact header toolbars.
 * Changed: Plugin description trimmed for clarity.

#### 2.0.13

 * Added: Two template extension hooks – `fcta_product_info_top` (inside the product-
   info column above the title) and `fcta_before_price_col` (inside the inner flex
   row immediately before the price column). Lets Pro position badge/coupon-style
   add-ons near the title and price without DOM manipulation. No user-facing changes
   in free.

#### 2.0.12

 * Fixed: Block editor “Save” / “Update” button did nothing when the plugin was 
   active. The validation subscriber dispatched lock/unlock unconditionally on every
   save attempt, which re-entered itself via Gutenberg’s synchronous subscriber 
   emit and overflowed the call stack. Validation is now driven by a re-entry-guarded
   reconcile that only dispatches on real state transitions, so saves go through
   immediately when the bar is disabled and unlock cleanly the moment a previously-
   flagged field is fixed.

#### 2.0.11

 * Added: Five global color settings (bar background, button, button hover, button
   text, title) configurable from Settings > Floating CTA > Colors with hex inputs
   sanitized via sanitize_hex_color()
 * Added: Schema.org Product + Offer + AggregateRating JSON-LD output, hooked into`
   fcta_after_render_bar` with built-in conflict avoidance (skipped automatically
   when another plugin already emitted a Product schema)
 * Added: Three-tab settings layout (General, Colors, Pro features). Add-ons can
   register additional tabs via the `fcta_settings_tabs` filter
 * Changed: Default button color refreshed to #e85b00 (was #F3961D); default title
   color to #0a0a0a
 * Removed: All inline grayed-out Pro teaser sections. Pro features are now described
   in a single feature-comparison table on the Pro features tab
 * New filters: `fcta_settings_tabs`, `fcta_schema_enabled`, `fcta_schema_avoid_conflicts`

#### 2.0.10

 * Fixed: Inline CSS injected via the `fcta_bar_inline_css` filter is now rendered
   correctly inside the `<style>` tag (previous `esc_html()` call HTML-encoded the
   CSS attribute-selector quotes, breaking add-on color overrides). `</style>` breakout
   still defended via string replacement.

#### 2.0.9

 * Added: Extension hooks API (`fcta_meta_fields`, `fcta_supported_post_types`, `
   fcta_should_show_bar`, `fcta_should_render`, `fcta_render_data`, `fcta_bar_classes`,`
   fcta_bar_inline_css`, `fcta_settings_defaults`, `fcta_register_settings`, `fcta_show_pro_section`)
   and action hooks (`fcta_before_render_bar`, `fcta_after_render_bar`, `fcta_bar_inside`,`
   fcta_after_settings_form`, `fcta_meta_box_after_fields`) to let companion plugins
   extend behavior cleanly
 * No user-facing changes

#### 2.0.8

 * Tested with WordPress 7.0
 * Improved: Listing copy and tags refined for clearer positioning (sticky CTA bar
   for Amazon affiliate and product review publishers)
 * No functional changes

#### 2.0.7

 * Compliance: Replaced all disabled form controls in the Pro section of the settings
   page with informational feature cards, so the free plugin contains no locked 
   or restricted UI (WordPress.org Guideline 5)
 * Compliance: Reworded settings-page copy to describe Floating CTA Pro as a separate
   plugin available from floatingcta.com rather than an in-plugin unlock
 * Compliance: Removed “Unlock” language from the upgrade CTA

#### 2.0.6

 * Compliance: Plugin header name matches readme title (Plugin Check)
 * Compliance: Trimmed short description to under 150 characters
 * Compliance: Removed manual load_plugin_textdomain() – WordPress auto-loads translations
   for .org-hosted plugins since 4.6
 * Compliance: Annotated necessary $wpdb queries in uninstall and migration with
   phpcs:ignore + rationale
 * Compliance: Prefixed template-scope variables ($fcta_is_enabled, $fcta_pro_url)
 * Cleanup: Removed unused duplicate uninstall function in main plugin file (uninstall.
   php is canonical)

#### 2.0.5

 * Security: All template output now uses wp_kses_post() for pre-built HTML (image,
   stars, price)
 * Security: All $wpdb queries now use $wpdb->prepare() throughout (migration, uninstall)
 * Fixed: Template rel attribute uses proper if/endif instead of ternary echo
 * Improved: PCP Plugin Repo compliance pass

#### 2.0.4

 * Fixed: $_POST handling now uses wp_unslash() and sanitize_text_field() per WordPress
   coding standards
 * Fixed: Nonce verification uses sanitized input (PCP compliance)
 * Improved: Meta save uses map_deep() for bulk sanitization before field-specific
   sanitizers

#### 2.0.3

 * Changed: Dismiss now hides bar for current page view only (refresh brings it 
   back)
 * Changed: Session/timed dismiss persistence moved to Pro as part of Display Rules
 * Simplified: Frontend JS reduced to minimal dismiss handler (~35 lines)

#### 2.0.2

 * Fixed: Dismiss button no longer overlaps CTA button – now part of flex flow
 * Fixed: Settings page pro teaser sections now render with proper backgrounds, 
   borders, and badges in WordPress admin
 * Fixed: Admin CSS specificity increased to override WordPress admin defaults
 * Fixed: Feature card grid displays correctly as 3-column layout

#### 2.0.1

 * Added: Pro feature teasers on settings page (greyed-out Appearance, Display Rules,
   Conversion & Tracking, Schema & SEO, Per-Post Extras sections)
 * Added: Bottom CTA banner for pro upgrade
 * Added: Admin CSS loads on settings page (previously only loaded on post editor)

#### 2.0.0

 * Complete rewrite with modern architecture
 * Vanilla JavaScript (no jQuery dependency)
 * Proper output escaping and sanitization throughout
 * Accessible: ARIA labels, keyboard navigation, focus management
 * Responsive mobile layout
 * Dismiss button with session persistence
 * Global default settings (button text, currency, link rel)
 * Settings API integration
 * Block editor (Gutenberg) compatibility
 * Migration from v1 meta keys

#### 1.0.1

 * Initial public release

## Meta

 *  Version **2.2.1**
 *  Last updated **5 గంటలు ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.8 or higher **
 *  Tested up to **7.1**
 *  PHP version ** 8.0 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/floatingcta/)
 * Tags
 * [affiliate](https://te.wordpress.org/plugins/tags/affiliate/)[cta](https://te.wordpress.org/plugins/tags/cta/)
   [floating bar](https://te.wordpress.org/plugins/tags/floating-bar/)[notification bar](https://te.wordpress.org/plugins/tags/notification-bar/)
   [sticky bar](https://te.wordpress.org/plugins/tags/sticky-bar/)
 *  [Advanced View](https://te.wordpress.org/plugins/floatingcta/advanced/)

## Ratings

 5 out of 5 stars.

 *  [  1 5-star review     ](https://wordpress.org/support/plugin/floatingcta/reviews/?filter=5)
 *  [  0 4-star reviews     ](https://wordpress.org/support/plugin/floatingcta/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/floatingcta/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/floatingcta/reviews/?filter=2)
 *  [  0 1-star reviews     ](https://wordpress.org/support/plugin/floatingcta/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/floatingcta/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/floatingcta/reviews/)

## Contributors

 *   [ Polymetric Labs ](https://profiles.wordpress.org/polymetric/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/floatingcta/)