=== MkWebTech CTA Studio === Contributors: mkwebtech Tags: call to action, popup, countdown timer, sticky bar, lead generation Requires at least: 5.9 Tested up to: 6.9 Requires PHP: 7.4 Stable tag: 2.2.1 License: GPL-2.0-or-later License URI: https://www.gnu.org/licenses/gpl-2.0.html Create high-converting CTAs, popups, sticky bars, and countdown timers with built-in click tracking and a visual WordPress CTA builder. == Description == = Build conversion-focused CTAs, popups, sticky bars, and countdown timers in WordPress = MkWebTech CTA Studio is a WordPress call-to-action builder for creating inline CTAs, popup CTAs, sticky announcement bars, countdown timer offers, and conversion-focused buttons without writing code. Use it to promote limited-time offers, collect more clicks, highlight lead magnets, drive visitors to sales pages, announce discounts, or add urgency with normal and evergreen countdown timers. Unlike simple button plugins, MkWebTech CTA Studio includes a visual builder, live preview, device visibility controls, animation options, and built-in analytics for impressions, clicks, and conversion rate. Perfect for bloggers, marketers, agencies, WooCommerce store owners, course creators, SaaS sites, and small businesses that need lightweight CTA blocks, promotional popups, and sticky bars that look polished and load from your own site. = Create CTAs That Match Your Campaign = Choose from three practical CTA display types: * **Inline** - Embed CTAs directly inside posts and pages * **Sticky Bar** - Show a top or bottom announcement bar across your site * **Popup** - Display timed popup CTAs with overlay and close controls = Countdown Timer and Evergreen Urgency = Create urgency for launches, sales, webinars, coupons, product drops, booking deadlines, and seasonal campaigns. Timer options include: * Normal countdown timers with a fixed end date and time * Evergreen countdown timers for visitor-specific campaigns * Cookie, browser storage, and session-based evergreen detection * Restart options for evergreen campaigns * Timer expiry actions including hide, message, and redirect * Smooth timestamp-based frontend timer rendering to reduce skipped seconds and visual jumps = Built for Conversion Tracking = MkWebTech CTA Studio helps you see how your CTAs perform. Built-in analytics track: * Impressions * Button clicks * Conversion rate Stats are stored in your WordPress database, so you can understand CTA performance without adding an external analytics script just for simple CTA tracking. = Key Features = * Inline CTA blocks, sticky bars, and popup CTAs * Modern visual builder with live preview * Built-in impression, click, and conversion rate tracking * Normal and evergreen countdown timers * Drift-free frontend timer engine with smooth digit rendering * Advanced design controls for backgrounds, typography, spacing, shadows, and radius * Button customization with icons and gradients * Background options: solid color, gradient, image, or transparent * GSAP-powered entrance animations including fade, slide, zoom, and bounce * Display delay and animation duration controls * Device visibility (desktop, tablet, mobile) * Popup overlay click, ESC close, and scroll lock * Close button controls for sticky bars and popups * Shortcode support for manual CTA placement * Lightweight, self-hosted assets (no third-party requests) * Translation-ready and WordPress-friendly code structure = Common Use Cases = * Add a call-to-action box inside blog posts * Show a sticky sale announcement bar * Create a popup for a limited-time offer * Add an evergreen countdown timer to a campaign * Promote coupons, webinars, lead magnets, consultations, or product launches * Track which CTA gets the most clicks = Usage = 1. Go to **CTAs -> Add New**. 2. Choose Inline, Sticky Bar, or Popup. 3. Add your heading, button text, button URL, and optional countdown timer. 4. Customize colors, typography, spacing, background, animation, and close controls. 5. Publish and either: * Enable auto display for Sticky Bar or Popup CTAs, or * Use the shortcode for inline/manual placement: `[mkwebtech_cta id="123"]` == Installation == = Automatic Installation = 1. Go to **Plugins -> Add New** in WordPress admin. 2. Search for **MkWebTech CTA Studio**. 3. Click **Install Now** and then **Activate**. = Manual Installation = 1. Download the plugin ZIP. 2. Upload `mkwebtech-cta-studio` to `/wp-content/plugins/`. 3. Activate from **Plugins** in wp-admin. == Frequently Asked Questions == = Can I place sticky or popup CTAs using shortcode? = Yes. Shortcode works for all CTA types. Sticky and popup CTAs are safely rendered in the footer so fixed positioning is not broken by theme content containers. = Can I create countdown timer CTAs? = Yes. You can add countdown timers to CTAs and choose between a normal fixed-date timer or an evergreen timer for visitor-specific urgency campaigns. = What is an evergreen countdown timer? = An evergreen countdown timer starts for each visitor based on the detection method you choose, such as cookie, browser storage, or session storage. This is useful for automated campaigns where each visitor should see their own deadline. = Does the timer stay accurate if the browser tab is inactive? = Yes. The frontend timer uses timestamp-based rendering instead of decrementing seconds, so it syncs from the target time when the tab becomes active again. = Can I track CTA performance? = Yes. MkWebTech CTA Studio tracks impressions, clicks, and conversion rate inside WordPress. = Does the plugin send data to third-party services? = No. CTA stats are stored in your WordPress database. Frontend assets are served locally from your site. = Where are impressions and clicks stored? = In the custom database table: `wp_mkwebtech_cta_stats` (prefix may vary by installation). = Can I control where CTAs appear by device? = Yes. Each CTA includes desktop, tablet, and mobile visibility controls. = What happens to data on uninstall? = On plugin delete (uninstall), CTA posts, related meta, and stats table data are removed permanently. == Screenshots == 1. Popup CTA demo with countdown timer on custom background. 2. Sticky CTA demo with live preview and settings panels. 3. Content tab for heading, button, icon and link. 4. Design tabs for block, heading, button, and close controls. 5. Behaviour tab for status, delay timer, animation and animation speed controls. 6. Visibility tab for controlling CTA visibility on different screens. == Changelog == = 2.2.1 = * Fixed Evergreen timers so they no longer require a normal end date. * Improved shortcode-only CTA asset loading on singular content. * Fixed desktop, tablet, and mobile visibility settings on the frontend. * Renamed the Evergreen browser-storage detection label for accuracy. * Fixed readme screenshot text typo. * Rebuilt the countdown timer engine with timestamp-based requestAnimationFrame rendering. * Added smooth changed-digit animations, cached DOM references, and duplicate-loop protection. * Improved hidden-tab syncing, pause/resume support, cleanup methods, and expiry callbacks. * Optimized timer CSS for tabular numbers, stable widths, reduced layout shift, and mobile display. = 2.2.0 = * Added timer modes: Normal and Evergreen with dedicated timer type selector. * Added Evergreen duration controls (days, hours, minutes, seconds). * Added Evergreen detection methods: Cookie, Browser Storage, and User Session. * Added Evergreen restart controls: None, Restart Immediately, Restart at next visit, and Restart after a specific time. * Added Restart-after duration inputs and Reset on page reload toggle. * Improved timer runtime for smoother countdown updates and reduced drift/skips. * Added rich content tab grouping (Heading, Button, Timer) for cleaner editing flow. = 2.1.1 = * Added heading visibility toggle with rich text editor support for heading/subheading content. * Added rich text editor for timer expired message with typography and color controls. * Expanded timer expiry actions to: None, Redirect to URL, Hide Timer, Show Message. * Added redirect URL field and frontend redirect handling for timer expiry. = 2.1.0 = * Added built-in countdown timer support for CTAs (now available in this release). * Added advanced timer controls for digits, separators, labels, and case styling. * Improved timer builder UI with grouped settings and live preview parity. * Removed free CTA creation cap; users can now create unlimited CTAs. = 2.0.1 = * Free version now limits CTA creation to 3 saved CTAs. * Added admin upgrade notice with Pro link after the free CTA limit is reached. = 2.0.0 = * Major UI/UX upgrade to the CTA builder and preview workflow. * Added CTA Stats sidebar box (Impressions, Clicks, Conversion Rate). * Reworked design controls into horizontal tabs (Block, Heading, Button, Close). * Added close button settings for sticky and popup layouts. * Improved close button rendering consistency in admin and frontend. * Added background mode selector: Solid, Gradient, Image, None. * Added default background image asset support. * Added and refined controls for border radius, content alignment, content mode, and spacing. * Improved inline mode alignment behavior and frontend/admin parity. * Added animation options: None, Fade, Slide Up, Slide Down, Zoom In, Bounce. * Added animation timing input and default animation set to None for new CTAs. * Switched animation engine to self-hosted GSAP and removed legacy CSS keyframe system. * Added smooth entrance/exit motion handling for sticky and popup close interactions. * Removed unfinished layouts (Floating Button and Sticky Tab) from admin and frontend. * Removed non-functional visibility placeholders (Page Rules/Country Rules). * Improved toggle switch usage in Behaviour and Visibility panels. * Updated defaults, cleaner code paths, and overall codebase cleanup. = 1.0.0 = * Initial release. == Upgrade Notice == = 2.2.1 = Fixes Evergreen timers, shortcode-only asset loading, frontend device visibility, and the Browser Storage detection label. Replaces the countdown runtime with a drift-free timestamp engine and smoother digit rendering. = 2.2.0 = Introduces built-in timer modes (Normal and Evergreen) with advanced Evergreen controls, restart logic, and smoother countdown rendering. = 2.1.1 = Improves heading and timer content editing with rich text support, plus new timer expiry actions including redirect and hide timer. = 2.1.0 = Countdown timer is now available with full design controls and live preview support. = 2.0.1 = Free version now allows up to 3 CTAs. Upgrade to Pro for unlimited CTA creation. = 2.0.0 = Major release with a redesigned builder UI, upgraded animation system, improved preview/frontend parity, and significant settings cleanup. Review CTA behavior and animation defaults after upgrading.