Should you use a floating CTA?
Use one when the page has a single, high-intent next step that remains relevant while the visitor scrolls. Booking, calling, requesting a quote, opening WhatsApp, and buying a clearly explained product are good candidates.
Skip it when the page has several equally important paths, when the action needs more explanation, or when another sticky element already owns the same screen edge. A floating CTA is not a conversion strategy by itself. It is a shortcut for someone who is already ready to act.
Quick fit check
| Situation | Recommendation | Reason |
|---|---|---|
| Long service page with one booking goal | Use it | The action stays available after the proof sections |
| Mobile page with a sticky checkout bar | Usually skip it | Two persistent controls compete for space |
| Article with a relevant lead magnet | Test it | Useful only if the offer matches the article intent |
| Homepage with several audiences | Usually skip it | One floating action may force the wrong path |
What is a floating CTA technically?
Most floating CTAs use CSS fixed positioning. A fixed element is positioned relative to the viewport and remains in the same place while the document moves behind it.
That is different from CSS sticky positioning. A sticky element behaves like normal content until it reaches a threshold, then stays within its scrolling container. Marketing articles often use “floating” and “sticky” interchangeably, but the implementation affects overlap, stacking, and where the control stops.
Where should the button go?
Start at the bottom-right on desktop because it usually avoids reading flow and matches the location people associate with persistent help controls. On mobile, bottom-right or bottom-center can work. The correct choice is the one that does not cover navigation, consent choices, checkout controls, form fields, or browser UI.
Do not decide from a clean design mockup. Test the real page with its cookie banner, chat widget, validation messages, sticky header, and longest translated button label.
How large should a floating CTA be?
WCAG 2.2 Level AA sets a 24 by 24 CSS pixel minimum for pointer targets, with spacing and other exceptions. That is a compliance floor, not my design recommendation for a primary mobile action. I would aim for at least 44 by 44 CSS pixels, which matches the stricter WCAG Level AAA target and gives fingers more room.
The visible icon can be smaller than the interactive area. What matters is the actual link or button box. This is also consistent with Fitts's Law: larger, closer targets are faster to acquire.
What should the CTA say?
Name the action and make the destination honest. “Book a Call,” “Get a Quote,” “Call Now,” and “Chat on WhatsApp” tell visitors what the click does. “Start Now” and “Learn More” are weaker when the next step is specific.
The label and destination must agree. Do not promise “Instant Quote” if the click opens a five-field form. A persistent button repeats that promise on every screen, so vague or misleading copy becomes more irritating than it would in normal page content.
Should the button animate?
Usually not continuously. A short entrance transition can establish where the control appeared; endless pulsing or shaking competes with the page and can be uncomfortable for people with motion sensitivity.
If you add non-essential animation, include a prefers-reduced-motion rule. The browser can then reduce or remove motion when the visitor has enabled that preference at operating-system level.
What does a good lightweight implementation look like?
This version is deliberately small. It uses a normal link because the control navigates to another URL, includes a visible keyboard focus state, and removes its transition for reduced-motion users.
<a class="floating-cta" href="https://example.com/book">Book a Call</a>
<style>
.floating-cta {
position: fixed;
right: 24px;
bottom: 24px;
z-index: 1000;
display: inline-flex;
min-height: 48px;
align-items: center;
padding: 0 22px;
border-radius: 999px;
background: #1d4ed8;
color: #fff;
font: 700 16px/1.2 system-ui, sans-serif;
text-decoration: none;
box-shadow: 0 10px 28px rgb(0 0 0 / 20%);
transition: transform 160ms ease, background-color 160ms ease;
}
.floating-cta:hover { background: #1e40af; }
.floating-cta:focus-visible { outline: 3px solid #facc15; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
.floating-cta { transition: none; }
}
</style>How should you test it before launch?
Test the action, not just the appearance:
- Open every important template at desktop and mobile widths.
- Navigate to the button with a keyboard and confirm the focus indicator is obvious.
- Zoom the page to 200 percent and check that the label still fits.
- Enable reduced motion and confirm unnecessary animation stops.
- Trigger cookie banners, form errors, chat widgets, and cart bars to find collisions.
- Verify the destination and any pre-filled phone, email, or chat data.
After launch, track clicks separately from completed bookings or purchases. A high click rate with weak completion usually means the destination did not deliver what the button promised.
Ready to build your button?
Design it visually, export clean code, and paste it into your site.
Open the GeneratorFrequently Asked Questions
Is a floating CTA the same as a sticky button?
Not technically. Floating CTAs commonly use fixed positioning against the viewport. Sticky elements remain in normal flow until they reach a threshold and stay within their container.
Do floating CTAs hurt SEO?
Not inherently. Problems come from poor implementations that cover content, create layout or interaction issues, or add unnecessary third-party code.
Can a page have more than one floating CTA?
It can, but multiple persistent actions quickly become a menu rather than a CTA. Use an intentional expandable menu or choose the single most important action.
Sources and contextual notes
- CSS positioning: MDN reference used to distinguish fixed positioning from sticky positioning.
- WCAG 2.2 target size minimum: W3C guidance used for the 24 by 24 CSS pixel Level AA minimum and its exceptions.
- WCAG enhanced target size: W3C guidance used for the stricter 44 by 44 CSS pixel Level AAA target.
- prefers-reduced-motion: MDN reference used for respecting a visitor's reduced-motion preference.
- Fitts's Law in UX: Nielsen Norman Group explanation used for the relationship between target size, distance, and acquisition time.