{"id":308879,"date":"2026-07-15T07:24:13","date_gmt":"2026-07-15T07:24:13","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/salesaver\/"},"modified":"2026-07-15T23:50:18","modified_gmt":"2026-07-15T23:50:18","slug":"salesaver","status":"publish","type":"plugin","link":"https:\/\/en-gb.wordpress.org\/plugins\/salesaver\/","author":9532416,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.2","stable_tag":"trunk","tested":"7.0.1","requires":"5.8","requires_php":"8.1","requires_plugins":null,"header_name":"SaleSaver","header_author":"Matt Biscay","header_description":"Send recovery emails to customers with failed orders to increase conversions and reduce cart abandonment.","assets_banners_color":"","last_updated":"2026-07-15 23:50:18","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/mattbiscay.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":48,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":[],"upgrade_notice":{"1.0.2":"<p>Version 1.0.2 adds Pro licensing and feature gating, background email processing, email tracking, AJAX bulk actions, security logs with CSV export, object-cache integration, pending-payment recovery, configurable recovery order types, signed unsubscribe links, and uninstall cleanup. Free users recover failed orders; Pro users can additionally recover pending-payment and on-hold orders.<\/p>","1.0.0":"<p>Initial release of SaleSaver.<\/p>"},"ratings":[],"assets_icons":{"icon.svg":{"filename":"icon.svg","revision":3608342,"resolution":false,"location":"assets","locale":false}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":[],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Admin interface showing failed orders with duplicate detection","2":"Email settings in WooCommerce \u2192 Settings \u2192 Emails","3":"Recovery email template (HTML version)","4":"Order selection and bulk actions"}},"plugin_section":[],"plugin_tags":[9430,236570,215457,271602,286],"plugin_category":[45],"plugin_contributors":[81304],"plugin_business_model":[],"class_list":["post-308879","plugin","type-plugin","status-publish","hentry","plugin_tags-cart-abandonment","plugin_tags-failed-orders","plugin_tags-order-recovery","plugin_tags-salesaver","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-skyminds","plugin_committers-skyminds"],"banners":[],"icons":{"svg":"https:\/\/ps.w.org\/salesaver\/assets\/icon.svg?rev=3608342","icon":"https:\/\/ps.w.org\/salesaver\/assets\/icon.svg?rev=3608342","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>SaleSaver helps you recover lost sales by sending recovery emails to customers whose orders failed during checkout. This WooCommerce extension gives you the tools to re-engage customers and complete their purchases.<\/p>\n\n<p><strong>Key Features:<\/strong><\/p>\n\n<ul>\n<li>Custom email template integrated with WooCommerce email system<\/li>\n<li>Send recovery emails to customers with failed orders<\/li>\n<li>Pro: recover pending-payment and on-hold orders<\/li>\n<li>Bulk email sending from admin interface<\/li>\n<li>Duplicate order detection to avoid spamming customers<\/li>\n<li>Customizable email subject, heading, and content<\/li>\n<li>Both HTML and plain text email formats<\/li>\n<li>Order management tools (bulk delete failed orders)<\/li>\n<li>Tracks last recovery email sent timestamp and count per order<\/li>\n<li>Prevents duplicate sends \u2014 already-emailed orders are skipped automatically<\/li>\n<li>Full WooCommerce email settings integration<\/li>\n<\/ul>\n\n<p><strong>How It Works:<\/strong><\/p>\n\n<ol>\n<li>When an order fails during checkout, it's marked as \"failed\" in WooCommerce<\/li>\n<li>Navigate to SaleSaver in your WordPress admin sidebar<\/li>\n<li>View failed orders with customer details<\/li>\n<li>Select specific orders or send recovery emails to eligible failed orders<\/li>\n<li>Customers receive a recovery email with their order details and a direct link to complete payment<\/li>\n<\/ol>\n\n<p><strong>Pro Features:<\/strong><\/p>\n\n<p>Pro users can also recover pending-payment and on-hold orders, process large sends in the background, track email activity, use AJAX bulk actions, review security logs, and configure persistent object caching where available.<\/p>\n\n<p><strong>Perfect For:<\/strong><\/p>\n\n<ul>\n<li>Recovering failed payment transactions<\/li>\n<li>Reducing cart abandonment<\/li>\n<li>Increasing conversion rates<\/li>\n<li>Re-engaging customers who experienced checkout issues<\/li>\n<\/ul>\n\n<h3>Additional Information<\/h3>\n\n<p><strong>Support:<\/strong> For support, please visit https:\/\/mattbiscay.com<\/p>\n\n<p><strong>Privacy:<\/strong> This plugin does not collect or store any customer data beyond what WooCommerce already stores. Recovery emails are sent using your existing WordPress email system.<\/p>\n\n<p><strong>Compatibility:<\/strong> Tested with WooCommerce 11.0 and WordPress 7.0+<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>salesaver<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress<\/li>\n<li>Make sure WooCommerce is installed and activated<\/li>\n<li>Configure email settings at WooCommerce \u2192 Settings \u2192 Emails \u2192 SaleSaver Recovery Email<\/li>\n<li>Send recovery emails from SaleSaver in the admin sidebar<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20require%20woocommerce%3F\"><h3>Does this plugin require WooCommerce?<\/h3><\/dt>\n<dd><p>Yes, WooCommerce must be installed and activated for this plugin to work.<\/p><\/dd>\n<dt id=\"can%20i%20customize%20the%20email%20template%3F\"><h3>Can I customize the email template?<\/h3><\/dt>\n<dd><p>Yes! You can customize the email subject, heading, and additional content from WooCommerce \u2192 Settings \u2192 Emails \u2192 SaleSaver Recovery Email. For advanced customization, you can override the template files in your theme.<\/p><\/dd>\n<dt id=\"how%20do%20i%20override%20the%20email%20template%3F\"><h3>How do I override the email template?<\/h3><\/dt>\n<dd><p>Copy the template files from <code>plugins\/salesaver\/templates\/emails\/<\/code> to your theme folder at <code>your-theme\/woocommerce\/emails\/<\/code> and customise as needed.<\/p><\/dd>\n<dt id=\"will%20this%20send%20multiple%20emails%20to%20the%20same%20customer%3F\"><h3>Will this send multiple emails to the same customer?<\/h3><\/dt>\n<dd><p>SaleSaver highlights duplicate orders (same email address) so you can avoid sending multiple emails. Use the \"Select Duplicates Only\" button to manage these. Additionally, orders that have already received a recovery email are automatically skipped on subsequent runs.<\/p><\/dd>\n<dt id=\"can%20i%20schedule%20emails%20to%20send%20automatically%3F\"><h3>Can I schedule emails to send automatically?<\/h3><\/dt>\n<dd><p>The current version requires manual sending from the admin interface. Automatic scheduling may be added in a future version.<\/p><\/dd>\n<dt id=\"does%20this%20track%20which%20orders%20received%20recovery%20emails%3F\"><h3>Does this track which orders received recovery emails?<\/h3><\/dt>\n<dd><p>Yes. SaleSaver records the send timestamp and send count per order (visible in the \"Last Sent\" column on the SaleSaver page). An order note is also added for audit purposes.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20plugin%20data%20when%20i%20uninstall%3F\"><h3>What happens to plugin data when I uninstall?<\/h3><\/dt>\n<dd><p>The plugin will clean up its settings when uninstalled. Order notes are preserved by default to maintain order history.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Added Freemius integration for Pro licensing, entitlement checks, and premium feature gating<\/li>\n<li>Added a Pro settings area for configuring recovery and performance features<\/li>\n<li>Added background recovery-email processing through WooCommerce Action Scheduler with staggered delivery<\/li>\n<li>Added recovery-email tracking with send timestamps, send counts, and duplicate-send prevention<\/li>\n<li>Added AJAX bulk email sending and order deletion with batched processing and real-time progress<\/li>\n<li>Added security event logging with user, IP, timestamp, event filtering, 90-day retention, and CSV export<\/li>\n<li>Added persistent object-cache integration with cache invalidation for supported WordPress cache backends<\/li>\n<li>Added a dedicated pending-payment recovery email<\/li>\n<li>Free recovery is limited to failed orders; Pro users can also recover pending-payment and on-hold orders<\/li>\n<li>Applied Pro status selection consistently to sending, background processing, bulk actions, counts, pagination, and caching<\/li>\n<li>Added signed per-order unsubscribe links and administrator re-subscribe controls<\/li>\n<li>Added Freemius-managed uninstall cleanup for plugin settings, scheduled actions, tracking metadata, and security logs<\/li>\n<li>Updated documentation for current free and Pro behavior<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Custom WooCommerce email integration<\/li>\n<li>Bulk email sending functionality<\/li>\n<li>Duplicate order detection<\/li>\n<li>Admin interface for managing failed orders<\/li>\n<li>HTML and plain text email templates<\/li>\n<li>Customizable email settings<\/li>\n<li>Order note tracking<\/li>\n<\/ul>","raw_excerpt":"SaleSaver helps you send recovery emails to customers with failed orders to increase conversions and reduce cart abandonment.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/308879","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=308879"}],"author":[{"embeddable":true,"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/skyminds"}],"wp:attachment":[{"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=308879"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=308879"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=308879"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=308879"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=308879"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=308879"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}