{"id":291496,"date":"2026-03-27T06:11:59","date_gmt":"2026-03-27T06:11:59","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/smart-campaign-manager\/"},"modified":"2026-05-21T12:45:30","modified_gmt":"2026-05-21T12:45:30","slug":"codeatoz-campaign-manager","status":"publish","type":"plugin","link":"https:\/\/cl.wordpress.org\/plugins\/codeatoz-campaign-manager\/","author":23453096,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.4.1","stable_tag":"1.4.1","tested":"7.0","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"CodeAtoz Campaign Manager for WooCommerce","header_author":"CodeAtoz","header_description":"Flash sales & promotions for WooCommerce stores.","assets_banners_color":"1e3d4d","last_updated":"2026-05-21 12:45:30","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/codeatoz.com\/smart-campaign-manager-pro-woocommerce\/","header_author_uri":"https:\/\/codeatoz.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":300,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"codeatoz","date":"2026-03-27 06:41:01"},"1.2.0":{"tag":"1.2.0","author":"codeatoz","date":"2026-04-14 08:31:16"},"1.3.0":{"tag":"1.3.0","author":"codeatoz","date":"2026-04-14 11:18:07"},"1.3.1":{"tag":"1.3.1","author":"codeatoz","date":"2026-04-14 11:40:40"},"1.3.2":{"tag":"1.3.2","author":"codeatoz","date":"2026-05-08 07:20:42"},"1.4.0":{"tag":"1.4.0","author":"codeatoz","date":"2026-05-08 08:09:18"},"1.4.1":{"tag":"1.4.1","author":"codeatoz","date":"2026-05-21 12:45:30"}},"upgrade_notice":{"1.4.1":"<p>Compatibility release: tested with WordPress 7.0 and WooCommerce 10.7. Countdown block declares its label attribute as content for WP 7.0 pattern overrides. No database migration required.<\/p>","1.4.0":"<p>Major free-version upgrade: countdown shortcodes, Gutenberg block, low-stock urgency badges, last-hour mode, bar position toggle, email notifications, WPML\/Polylang and Schema.org sale markup. No database migration required.<\/p>","1.1.0":"<p>This release adds test mode, minimum cart value, exclude on-sale items, and social proof fields. A database migration runs automatically on upgrade to add the new columns.<\/p>","1.0.0":"<p>First public release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3492355,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3492329,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3492355,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3492329,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"codeatoz\/scm-countdown":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"codeatoz\/scm-countdown","title":"SCM Campaign Countdown","category":"widgets","description":"Display a live countdown timer for an active or specific campaign.","keywords":["countdown","timer","sale","campaign","woocommerce"],"icon":"clock","textdomain":"codeatoz-campaign-manager","supports":{"html":false,"align":["wide","full"]},"attributes":{"campaignId":{"type":"string","default":"active"},"label":{"type":"string","default":"Sale ends in","role":"content"},"showLabel":{"type":"boolean","default":true}},"editorScript":"file:.\/index.js"}},"tagged_versions":["1.0.0","1.2.0","1.3.0","1.3.1","1.3.2","1.4.0","1.4.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3492356,"resolution":"1","location":"assets","locale":"","width":1920,"height":862},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3492356,"resolution":"2","location":"assets","locale":"","width":1920,"height":1645},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3492356,"resolution":"3","location":"assets","locale":"","width":1920,"height":896}},"screenshots":[]},"plugin_section":[262246],"plugin_tags":[7553,172746,12724,50558,173004],"plugin_category":[45],"plugin_contributors":[256075],"plugin_business_model":[],"class_list":["post-291496","plugin","type-plugin","status-publish","hentry","plugin_section-dashboard-widgets","plugin_tags-announcement-bar","plugin_tags-countdown-block","plugin_tags-countdown-timer","plugin_tags-flash-sale","plugin_tags-woocommerce-sale","plugin_category-ecommerce","plugin_contributors-codeatoz","plugin_committers-codeatoz"],"banners":{"banner":"https:\/\/ps.w.org\/codeatoz-campaign-manager\/assets\/banner-772x250.png?rev=3492329","banner_2x":"https:\/\/ps.w.org\/codeatoz-campaign-manager\/assets\/banner-1544x500.png?rev=3492355","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/codeatoz-campaign-manager\/assets\/icon-128x128.png?rev=3492355","icon_2x":"https:\/\/ps.w.org\/codeatoz-campaign-manager\/assets\/icon-256x256.png?rev=3492329","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/codeatoz-campaign-manager\/assets\/screenshot-1.png?rev=3492356","caption":""},{"src":"https:\/\/ps.w.org\/codeatoz-campaign-manager\/assets\/screenshot-2.png?rev=3492356","caption":""},{"src":"https:\/\/ps.w.org\/codeatoz-campaign-manager\/assets\/screenshot-3.png?rev=3492356","caption":""}],"raw_content":"<!--section=description-->\n<p>\ud83d\udcd6 <strong>Full documentation:<\/strong> https:\/\/codeatoz.com\/docs\/campaign-manager-pro\/<\/p>\n\n<p>CodeAtoz Campaign Manager for WooCommerce is a lightweight WooCommerce plugin built for small and growing stores that want to run effective flash sales without complex marketing tools or recurring fees.<\/p>\n\n<p>From a single, clean admin screen you can:<\/p>\n\n<ul>\n<li>Create multiple <strong>campaigns<\/strong> (Flash Sale, Weekend Deal, Clearance)<\/li>\n<li>Apply <strong>percentage or fixed amount discounts<\/strong> across your entire catalog \u2013 or limit discounts to selected product categories \u2013 without touching product data<\/li>\n<li>Schedule campaign <strong>start and end dates<\/strong> \u2013 including weekend promos and short flash drops<\/li>\n<li>Show a sticky <strong>announcement bar with countdown timer<\/strong> on all storefront pages (top <strong>or bottom<\/strong> position)<\/li>\n<li>Add <strong>urgency badges<\/strong> on product cards and an urgency message in the cart<\/li>\n<li>Show <strong>\"Only X left in stock!\"<\/strong> low-stock urgency badges on product cards and product pages during a campaign<\/li>\n<li>Embed a countdown anywhere with the <strong><code>[scm_countdown]<\/code> shortcode<\/strong> or the <strong>SCM Campaign Countdown<\/strong> Gutenberg block<\/li>\n<li>Use the <strong><code>[scm_banner]<\/code> shortcode<\/strong> to drop the announcement bar inline on landing pages<\/li>\n<li>Get a <strong>last-hour urgency mode<\/strong> \u2014 the bar automatically intensifies when less than 60 minutes remain<\/li>\n<li>Receive <strong>email notifications<\/strong> when a scheduled campaign auto-starts or auto-expires<\/li>\n<li>Get <strong>Schema.org JSON-LD sale markup<\/strong> with <code>priceValidUntil<\/code> so Google can show your sale snippet<\/li>\n<li>Translate campaign strings with <strong>WPML and Polylang<\/strong> (string translation support built in)<\/li>\n<li>See all campaigns in a simple <strong>dashboard list<\/strong> with status badges, <strong>quick activate\/deactivate<\/strong>, and one-click <strong>Duplicate<\/strong><\/li>\n<\/ul>\n\n<p>All pricing logic uses standard WooCommerce price filters \u2013 no direct database writes \u2013 so your original prices remain safe. The plugin is fully translatable and follows WordPress.org coding and security best practices.<\/p>\n\n<h3>Key Features<\/h3>\n\n<ul>\n<li><p><strong>Flash Sale Engine<\/strong><\/p>\n\n<ul>\n<li>Percentage or fixed discounts on all products, or only on selected product categories<\/li>\n<li>Works with simple and variable products<\/li>\n<li>Leaves original product prices intact (no direct DB changes)<\/li>\n<\/ul><\/li>\n<li><p><strong>Smart Campaign Scheduling<\/strong><\/p>\n\n<ul>\n<li>Set start and end date\/time for each campaign<\/li>\n<li>Scheduled campaigns auto-activate and auto-expire<\/li>\n<li>Cron health check with admin notice if WP-Cron or Action Scheduler is not running<\/li>\n<\/ul><\/li>\n<li><p><strong>Conversion-Focused Storefront UI<\/strong><\/p>\n\n<ul>\n<li>Sticky announcement bar with live countdown timer<\/li>\n<li>Urgency badges on product cards (Flash Sale, Weekend Deal, Clearance)<\/li>\n<li>Cart urgency message with live countdown<\/li>\n<li>Product page \u201csale ends\u201d message under the add to cart button<\/li>\n<\/ul><\/li>\n<li><p><strong>3 Built-In Templates<\/strong><\/p>\n\n<ul>\n<li>\u26a1 <strong>Flash Sale<\/strong> \u2013 20% off, red bar, 24-hour flash sale style<\/li>\n<li>\ud83d\udd25 <strong>Weekend Deal<\/strong> \u2013 15% off, orange bar, ideal for Friday\u2013Sunday promos<\/li>\n<li>\ud83d\udca5 <strong>Clearance<\/strong> \u2013 30% off, purple bar, 7-day clearance style<\/li>\n<li>One-click template selection pre-fills the campaign form (you can still adjust all fields)<\/li>\n<\/ul><\/li>\n<li><p><strong>Performance &amp; Compatibility<\/strong><\/p>\n\n<ul>\n<li>Uses the WordPress Transients API to cache the active campaign<\/li>\n<li>WooCommerce HPOS compatible<\/li>\n<li>No external API calls and no tracking in the free version<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<h3>Who Is It For?<\/h3>\n\n<p>CodeAtoz Campaign Manager for WooCommerce is perfect for:<\/p>\n\n<ul>\n<li>Small WooCommerce stores running <strong>occasional flash sales<\/strong><\/li>\n<li>Brands that want a <strong>simple promotion tool<\/strong> instead of heavy marketing suites<\/li>\n<li>Store owners who care about <strong>performance, safety and clean code<\/strong><\/li>\n<\/ul>\n\n<h3>Documentation<\/h3>\n\n<p>The complete user guide, setup walkthroughs, screenshots, and troubleshooting tips are available at:<\/p>\n\n<p><strong>https:\/\/codeatoz.com\/docs\/campaign-manager-pro\/<\/strong><\/p>\n\n<p>The docs cover:<\/p>\n\n<ul>\n<li>Step-by-step campaign setup (Flash Sale, Weekend Deal, Clearance)<\/li>\n<li>How discounts are applied via WooCommerce price filters<\/li>\n<li>Scheduling, time zones, and Action Scheduler troubleshooting<\/li>\n<li>Customising the announcement bar, badges, and cart urgency message<\/li>\n<li>Compatibility notes (HPOS, themes, page builders)<\/li>\n<li>Developer hooks and the <code>scm_campaign_templates<\/code> filter<\/li>\n<\/ul>\n\n<p>You can also find the <strong>Documentation<\/strong> link directly in the WordPress admin \u2014 on the Plugins screen and inside the Smart Campaigns dashboard.<\/p>\n\n<h3>Usage<\/h3>\n\n<h3>Creating a new campaign<\/h3>\n\n<ol>\n<li>Go to <code>WooCommerce \u2192 Smart Campaigns<\/code> and click <strong>Add New Campaign<\/strong>.<\/li>\n<li>(Optional) Choose a <strong>template<\/strong> at the top (Flash Sale, Weekend Deal, Clearance) to prefill common settings.<\/li>\n<li>Fill out the <strong>Campaign Details<\/strong> card:\n\n<ul>\n<li><strong>Campaign Name<\/strong> \u2013 internal name shown in the admin list.<\/li>\n<li><strong>Campaign Type<\/strong> \u2013 Flash Sale, Weekend Deal, or Clearance (used for labels and badges).<\/li>\n<li><strong>Announcement Bar Text<\/strong> \u2013 the message shown in the storefront bar.<\/li>\n<li><strong>Status<\/strong> \u2013 Draft, Scheduled, Active or Expired.<\/li>\n<\/ul><\/li>\n<li>Configure the <strong>Discount Settings<\/strong> card:\n\n<ul>\n<li><strong>Discount Type<\/strong> \u2013 Percentage or Fixed Amount.<\/li>\n<li><strong>Discount Value<\/strong> \u2013 required; for example <code>20<\/code> for 20% or <code>15<\/code> for a 15\u2011unit fixed discount.<\/li>\n<li><strong>Limit to Categories<\/strong> \u2013 leave blank to apply to all products, or select one or more product categories to target only those items.<\/li>\n<\/ul><\/li>\n<li>Configure the <strong>Schedule &amp; Appearance<\/strong> card:\n\n<ul>\n<li><strong>Start Date &amp; Time<\/strong> \u2013 when the campaign should begin (optional; leave empty to start immediately when set to Active).<\/li>\n<li><strong>End Date &amp; Time<\/strong> \u2013 when the campaign should end (optional; leave empty for open\u2011ended campaigns).<\/li>\n<li><strong>Quick fill<\/strong> buttons \u2013 24 hours, This Weekend, or Next 7 Days to speed up date entry.<\/li>\n<li><strong>Bar Background Color<\/strong> &amp; <strong>Countdown Timer Color<\/strong> \u2013 control the storefront bar appearance; the live preview updates as you type.<\/li>\n<\/ul><\/li>\n<\/ol>\n\n<h3>Advanced options<\/h3>\n\n<p>These options appear in the Discount Settings or Schedule &amp; Appearance areas:<\/p>\n\n<ul>\n<li><strong>Test Mode<\/strong> (checkbox) \u2013 when enabled, the campaign is only visible and applied to users who can manage WooCommerce (store admins). Use this to preview the bar, badges and discounts before going live.<\/li>\n<li><strong>Minimum Cart Value<\/strong> \u2013 if set above zero, the discount only applies when the cart subtotal is at least this amount.<\/li>\n<li><strong>Exclude Products Already On Sale<\/strong> \u2013 if enabled, products that already have a WooCommerce sale price keep their own sale and are not further discounted by the campaign.<\/li>\n<li><strong>Social Proof Text<\/strong> \u2013 small line of text shown in the announcement bar (for example \u201cOver 500 orders placed this week!\u201d).<\/li>\n<\/ul>\n\n<h3>How discounts are applied<\/h3>\n\n<ul>\n<li>Discounts are applied <strong>dynamically via WooCommerce price filters<\/strong> \u2013 the plugin never modifies product prices in the database.<\/li>\n<li>Only <strong>one active campaign<\/strong> is used for pricing at a time (the most recently created active campaign).<\/li>\n<li>If <strong>Limit to Categories<\/strong> is empty, discounts and urgency UI apply to <strong>all products<\/strong> (subject to minimum cart value, test mode and exclude\u2011on\u2011sale settings).<\/li>\n<li>If one or more categories are selected, discounts and urgency elements (badge, price HTML, product urgency text) only appear on products belonging to those categories.<\/li>\n<\/ul>\n\n<h3>Scheduled campaigns<\/h3>\n\n<ul>\n<li>Set <strong>Status = Scheduled<\/strong> and fill <strong>Start Date<\/strong> and\/or <strong>End Date<\/strong>.<\/li>\n<li>The plugin uses <strong>Action Scheduler<\/strong> to:\n\n<ul>\n<li>Automatically switch the campaign to <strong>Active<\/strong> at the start time.<\/li>\n<li>Automatically switch it to <strong>Expired<\/strong> at the end time.<\/li>\n<\/ul><\/li>\n<li>If WP\u2011Cron or Action Scheduler are not running correctly, the Smart Campaigns admin screen shows a clear warning with a link to documentation.<\/li>\n<\/ul>\n\n<h3>Embedding a countdown with shortcodes or a block<\/h3>\n\n<p>You can drop a campaign countdown into any post, page, page-builder layout, or sidebar widget.<\/p>\n\n<p><strong>Shortcodes:<\/strong><\/p>\n\n<ul>\n<li><code>[scm_countdown]<\/code> \u2014 uses the currently active campaign.<\/li>\n<li><code>[scm_countdown id=\"5\"]<\/code> \u2014 countdown for campaign #5.<\/li>\n<li><code>[scm_countdown id=\"active\" label=\"Sale ends in\" show_label=\"1\"]<\/code> \u2014 customise the label.<\/li>\n<li><code>[scm_banner]<\/code> \u2014 render the full announcement bar inline (not fixed) for a specific section of a landing page.<\/li>\n<\/ul>\n\n<p><strong>Gutenberg block:<\/strong> Search for <strong>\"SCM Campaign Countdown\"<\/strong> in the block inserter. Set the campaign ID (or <code>active<\/code>) and label in the sidebar.<\/p>\n\n<h3>Low-stock urgency<\/h3>\n\n<p>When a campaign is active, products with WooCommerce stock management enabled will show a small \"Only X left in stock!\" badge once their <code>stock_quantity<\/code> is at or below the configured threshold (default: 10). Configure under <strong>Smart Campaigns \u2192 Settings<\/strong>.<\/p>\n\n<h3>Email notifications<\/h3>\n\n<p>Enable <strong>Smart Campaigns \u2192 Settings \u2192 Email me on campaign start \/ end<\/strong> to receive a plain-text email at your site admin address whenever a scheduled campaign auto-starts or auto-expires.<\/p>\n\n<h3>Bar position<\/h3>\n\n<p>Choose top or bottom of page under <strong>Smart Campaigns \u2192 Settings \u2192 Announcement bar position<\/strong>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li><p><strong>Upload the plugin<\/strong><\/p>\n\n<ul>\n<li>Download the plugin ZIP and upload via <code>Plugins \u2192 Add New \u2192 Upload Plugin<\/code>, or<\/li>\n<li>Upload the <code>codeatoz-campaign-manager<\/code> folder to <code>\/wp-content\/plugins\/<\/code> via FTP.<\/li>\n<\/ul><\/li>\n<li><p><strong>Activate the plugin<\/strong><\/p>\n\n<ul>\n<li>Go to <code>Plugins \u2192 Installed Plugins<\/code> and click <strong>Activate<\/strong> on CodeAtoz Campaign Manager for WooCommerce.<\/li>\n<\/ul><\/li>\n<li><p><strong>Verify WooCommerce<\/strong><\/p>\n\n<ul>\n<li>Make sure WooCommerce is installed and activated. If not, the plugin will show an admin notice.<\/li>\n<\/ul><\/li>\n<li><p><strong>Create your first campaign<\/strong><\/p>\n\n<ul>\n<li>Go to <code>WooCommerce \u2192 Smart Campaigns<\/code>.<\/li>\n<li>Click <strong>Add New Campaign<\/strong>.<\/li>\n<li>Either pick a <strong>template<\/strong> at the top or fill the form manually:\n\n<ul>\n<li>Campaign Name<\/li>\n<li>Type (Flash Sale, Weekend Deal, Clearance)<\/li>\n<li>Discount Type &amp; Value<\/li>\n<li>Announcement Bar Text<\/li>\n<li>Bar Background Color &amp; Timer Color<\/li>\n<li>Start Date &amp; Time, End Date &amp; Time<\/li>\n<li>Status (Draft, Scheduled, Active)<\/li>\n<\/ul><\/li>\n<li>Click <strong>Create Campaign<\/strong>.<\/li>\n<\/ul><\/li>\n<li><p><strong>Test on the storefront<\/strong><\/p>\n\n<ul>\n<li>Visit your shop and product pages.<\/li>\n<li>When a campaign is active you should see:\n\n<ul>\n<li>Storefront announcement bar with countdown<\/li>\n<li>Sale prices and badges on products<\/li>\n<li>Urgency messages in the cart and on product pages<\/li>\n<\/ul><\/li>\n<\/ul><\/li>\n<\/ol>\n\n<!--section=faq-->\n<p>For detailed guides, screenshots, and troubleshooting, see the full documentation: <strong>https:\/\/codeatoz.com\/docs\/campaign-manager-pro\/<\/strong><\/p>\n<dl>\n<dt id=\"does%20this%20plugin%20modify%20my%20product%20prices%20in%20the%20database%3F\"><h3>Does this plugin modify my product prices in the database?<\/h3><\/dt>\n<dd><p>No. CodeAtoz Campaign Manager for WooCommerce uses standard WooCommerce price filters to apply discounts at runtime. Your original product prices remain unchanged in the database.<\/p><\/dd>\n<dt id=\"can%20i%20run%20more%20than%20one%20campaign%20at%20the%20same%20time%3F\"><h3>Can I run more than one campaign at the same time?<\/h3><\/dt>\n<dd><p>The plugin supports multiple campaigns but only one active campaign is applied\nto pricing at a time \u2014 the most recently created active campaign takes priority.\nFuture Pro versions may add advanced targeting and multiple concurrent campaigns.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20wp-cron%20or%20action%20scheduler%20is%20not%20working%3F\"><h3>What happens if WP-Cron or Action Scheduler is not working?<\/h3><\/dt>\n<dd><p>The plugin checks WP-Cron and Action Scheduler health on the Smart Campaigns admin screen. If something looks wrong (cron disabled or Action Scheduler not run recently), it shows a clear warning with a link to the official WordPress cron documentation.<\/p><\/dd>\n<dt id=\"will%20this%20slow%20down%20my%20store%3F\"><h3>Will this slow down my store?<\/h3><\/dt>\n<dd><p>CodeAtoz Campaign Manager for WooCommerce caches the active campaign using the Transients API for 60 seconds, so WooCommerce product price lookups don\u2019t hit the database on every request. The frontend assets are small and loaded only on WooCommerce pages.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20woocommerce%20hpos%20%28high-performance%20order%20storage%29%3F\"><h3>Does it work with WooCommerce HPOS (High-Performance Order Storage)?<\/h3><\/dt>\n<dd><p>Yes. The plugin declares compatibility with WooCommerce HPOS using <code>\\WooCommerce\\Utilities\\FeaturesUtil::declare_compatibility()<\/code>.<\/p><\/dd>\n<dt id=\"can%20i%20customize%20the%20templates%20or%20add%20my%20own%3F\"><h3>Can I customize the templates or add my own?<\/h3><\/dt>\n<dd><p>Yes. The three default templates are defined in PHP and exposed through the <code>scm_campaign_templates<\/code> filter. Developers can hook into this filter to add, remove or modify templates in custom code or a Pro add-on.<\/p><\/dd>\n<dt id=\"does%20the%20free%20version%20call%20any%20external%20apis%20or%20track%20my%20store%3F\"><h3>Does the free version call any external APIs or track my store?<\/h3><\/dt>\n<dd><p>No. The free version does not make any outgoing HTTP requests or track usage. All logic runs inside your WordPress and WooCommerce installation.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.4.1<\/h4>\n\n<ul>\n<li>Compatibility: Tested with WordPress 7.0 and WooCommerce 10.7.<\/li>\n<li>Improved: SCM Campaign Countdown block declares the <code>label<\/code> attribute with <code>role: \"content\"<\/code> so it remains editable inside pattern overrides (contentOnly mode) on WordPress 7.0+. No database migration required.<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Added: <code>[scm_countdown]<\/code> and <code>[scm_banner]<\/code> shortcodes \u2014 embed a campaign countdown or inline announcement bar in any post, page, page-builder layout, or sidebar widget.<\/li>\n<li>Added: SCM Campaign Countdown Gutenberg block \u2014 server-rendered, no build step required.<\/li>\n<li>Added: Low-stock urgency badges \u2014 \"Only X left in stock!\" overlay on product cards and product pages during a campaign (uses WooCommerce manage_stock, configurable threshold).<\/li>\n<li>Added: Auto Last-Hour urgency mode \u2014 when less than 60 minutes remain on a campaign, the announcement bar automatically swaps to a high-urgency style with a pulsing accent.<\/li>\n<li>Added: Announcement bar position toggle (top or bottom) under Smart Campaigns \u2192 Settings.<\/li>\n<li>Added: Email notifications when a scheduled campaign auto-activates or auto-expires (opt-in under Settings).<\/li>\n<li>Added: WPML and Polylang basic compatibility \u2014 bar text and social proof strings are registered for translation automatically when a campaign is saved.<\/li>\n<li>Added: Schema.org JSON-LD sale markup with <code>priceValidUntil<\/code> on single product pages so Google can show your sale price snippet in search results.<\/li>\n<li>Added: Settings sub-page for bar position, low-stock options, and email notifications.<\/li>\n<li>Improved: Campaign Duplicate row action and handler (one-click clone of any campaign as a draft).<\/li>\n<li>Improved: Plugin tags refreshed to surface countdown block and shortcode discoverability on WordPress.org.<\/li>\n<\/ul>\n\n<h4>1.3.2<\/h4>\n\n<ul>\n<li>Added: Documentation link on the Plugins admin screen (next to View details \/ Visit plugin site).<\/li>\n<li>Added: Documentation link in the Smart Campaigns admin page header.<\/li>\n<li>Added: Documentation link in the dashboard widget footer.<\/li>\n<li>Added: Dedicated Documentation section in the readme pointing to https:\/\/codeatoz.com\/docs\/campaign-manager-pro\/.<\/li>\n<li>Improved: Plugin tags refreshed for better discoverability on WordPress.org.<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Fixed: Campaign form now correctly redirects to edit page after saving \u2014 no more empty form on create.<\/li>\n<li>Fixed: Admin page background and styling now apply correctly (CSS class mismatch resolved).<\/li>\n<li>Fixed: Timezone handling for campaign dates \u2014 dates entered in site timezone are now saved and displayed correctly.<\/li>\n<li>Fixed: Announcement bar now loads on all frontend pages, not just WooCommerce pages.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Added: Full campaign form fields now visible in free version \u2014 Discount Type, Discount Value, Status, Bar Text, Start\/End Dates, Bar Color, Timer Color, Test Mode.<\/li>\n<li>Added: Date quick-pick presets \u2014 24 Hours, This Weekend, Next 7 Days.<\/li>\n<li>Added: Live status dot on campaign status field (green\/grey\/blue\/red).<\/li>\n<li>Added: Future start date warning \u2014 shows clear notice when campaign is Active but start date is in the future.<\/li>\n<li>Added: Browse all 50 PRO templates button shown when Pro is active.<\/li>\n<li>Fixed: Frontend announcement bar now loads on all pages (homepage, blog, custom pages), not just WooCommerce pages.<\/li>\n<li>Fixed: Timezone bug \u2014 campaign dates now correctly saved and displayed in the WordPress site timezone.<\/li>\n<li>Fixed: Action Scheduler jobs now fire at correct local time regardless of server timezone.<\/li>\n<li>Fixed: Test mode checkbox now saves correctly.<\/li>\n<li>Fixed: Pro upgrade links updated to correct URL.<\/li>\n<li>Improved: New single-column full-width admin UI matching Pro plugin design.<\/li>\n<li>Security: index.php silence files added to all subdirectories.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added test mode for previewing campaigns as admin before going live.<\/li>\n<li>Added minimum cart value condition \u2014 discount only applies when cart reaches threshold.<\/li>\n<li>Added exclude on-sale items option \u2014 protects already-discounted products.<\/li>\n<li>Added social proof text field displayed in the announcement bar.<\/li>\n<li>Improved admin UI with live preview, campaign templates, and modern card layout.<\/li>\n<li>Fixed scheduled campaign auto-activation and expiration.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Campaign CRUD admin UI with WP_List_Table.<\/li>\n<li>Flash sale discount engine using WooCommerce price filters.<\/li>\n<li>Storefront announcement bar with countdown timer.<\/li>\n<li>Action Scheduler integration for scheduled campaigns.<\/li>\n<li>Urgency badges, cart message and product page urgency text.<\/li>\n<li>3 built-in templates for quick campaign setup.<\/li>\n<\/ul>","raw_excerpt":"Run flash sales &amp; WooCommerce promotions with countdown timers, urgency badges, and a clean campaign dashboard. No recurring fees.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/cl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/291496","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/cl.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/cl.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=291496"}],"author":[{"embeddable":true,"href":"https:\/\/cl.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/codeatoz"}],"wp:attachment":[{"href":"https:\/\/cl.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=291496"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/cl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=291496"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/cl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=291496"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/cl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=291496"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/cl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=291496"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/cl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=291496"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}