{"id":308439,"date":"2026-05-25T07:36:18","date_gmt":"2026-05-25T07:36:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/zerosoft-upsell-engine-for-woocommerce\/"},"modified":"2026-05-25T07:36:01","modified_gmt":"2026-05-25T07:36:01","slug":"zerosoft-upsell-engine-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/zerosoft-upsell-engine-for-woocommerce\/","author":23476978,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"6.9.4","requires":"6.4","requires_php":"7.4","requires_plugins":null,"header_name":"Zerosoft Upsell Engine for WooCommerce","header_author":"zerosoft","header_description":"Smart upsell, cross-sell, and recommendation engine for WooCommerce.","assets_banners_color":"","last_updated":"2026-05-25 07:36:01","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/tools.zerosofttech.com\/product\/zerosoft-smart-upsell-engine-for-woocommerce\/","header_author_uri":"https:\/\/www.zerosofttech.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":51,"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":"zerosoft2026","date":"2026-05-25 07:36:01"}},"upgrade_notice":{"1.0.0":"<p>Initial public release.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[13788,282,3669,1311,286],"plugin_category":[45,53],"plugin_contributors":[261378],"plugin_business_model":[],"class_list":["post-308439","plugin","type-plugin","status-publish","hentry","plugin_tags-cross-sell","plugin_tags-ecommerce","plugin_tags-recommendations","plugin_tags-upsell","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_category-ratings-and-reviews","plugin_contributors-zerosoft2026","plugin_committers-zerosoft2026"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/zerosoft-upsell-engine-for-woocommerce.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Zerosoft Upsell Engine for WooCommerce gives store owners two fully independent, fully free tools to show relevant products to shoppers:<\/p>\n\n<p><strong>1. Campaign Manager (rule-based)<\/strong><\/p>\n\n<p>Create manual upsell and cross-sell campaigns that target specific products, categories, or tags. Each campaign lets you hand-pick the recommended products and control exactly where and when they appear.<\/p>\n\n<p><strong>2. Smart Recommendations (automated)<\/strong><\/p>\n\n<p>A separate, standalone recommendation engine that automatically suggests products based on shared categories and tags. It runs independently from the Campaign Manager and is configured through its own dedicated settings page: <strong>WooCommerce -&gt; Recommendation<\/strong> in the WordPress admin.<\/p>\n\n<p>Both features are completely free and fully functional. There are no locked features, no upgrade prompts, and no premium tiers.<\/p>\n\n<h4>Campaign Manager Features<\/h4>\n\n<ul>\n<li>Create upsell campaigns (suggest higher-value alternatives) and cross-sell campaigns (suggest complementary products)<\/li>\n<li>Trigger conditions: specific product, product category, or product tag<\/li>\n<li>Display on product pages and\/or the cart page<\/li>\n<li>Choose the exact WooCommerce hook position for each page (e.g. after add-to-cart form, inside product summary, before\/after cart totals)<\/li>\n<li>Set campaign priority to control display order when multiple campaigns match<\/li>\n<li>Enable or disable individual campaigns at any time<\/li>\n<li>Browse and add recommended products by name search or by category<\/li>\n<\/ul>\n\n<h4>Smart Recommendations Features<\/h4>\n\n<p>Smart Recommendations is a fully independent feature with its own admin settings page (<strong>WooCommerce -&gt; Recommendation<\/strong>). It is not part of the Campaign Manager and is configured separately.<\/p>\n\n<ul>\n<li>Automatically suggests products based on shared product categories and tags<\/li>\n<li>Scored relevance algorithm: exact category matches rank higher than related or accessory categories<\/li>\n<li>Supports two recommendation sources: category-based and tag-based (either or both can be enabled)<\/li>\n<li>Two display layouts: grid and slider\/carousel<\/li>\n<li>Configurable product limit (1-12 products)<\/li>\n<li>Enable or disable display on product pages and cart pages independently<\/li>\n<li>Configure the exact WooCommerce hook position for each page separately from campaign positions<\/li>\n<li>Results are cached for performance using WordPress transients<\/li>\n<\/ul>\n\n<h4>Where Recommendations Appear<\/h4>\n\n<p>Both the Campaign Manager and Smart Recommendations support the following display positions:<\/p>\n\n<ul>\n<li><strong>Product page:<\/strong> After add-to-cart form (<code>woocommerce_after_add_to_cart_form<\/code>) or inside product summary (<code>woocommerce_single_product_summary<\/code>)<\/li>\n<li><strong>Cart page:<\/strong> Before cart totals (<code>woocommerce_before_cart_totals<\/code>) or after cart totals (<code>woocommerce_after_cart_totals<\/code>)<\/li>\n<\/ul>\n\n<p>Campaign widgets and Smart Recommendation widgets are rendered separately. If a campaign matches the current page, it is shown first. Smart Recommendations fill in automatically when no matching campaign exists, or alongside campaigns depending on hook position.<\/p>\n\n<h4>Theme Compatibility<\/h4>\n\n<p>All frontend widgets inherit the active WooCommerce theme's colours, fonts, and button styles where possible. No external stylesheets or scripts from third-party CDNs are loaded.<\/p>\n\n<h3>Source Code &amp; Build<\/h3>\n\n<p>The plugin source code is included in this package.<\/p>\n\n<p>For admin assets:<\/p>\n\n<ul>\n<li>Build artifacts: <code>admin-ui\/build\/admin-ui\/index.js<\/code> and <code>admin-ui\/build\/admin-ui\/index.css<\/code><\/li>\n<li>Build metadata: <code>admin-ui\/build\/admin-ui\/index.asset.php<\/code><\/li>\n<li>Build entrypoint\/bootstrap file: <code>admin-ui\/admin-ui.php<\/code><\/li>\n<\/ul>\n\n<p>For source visibility during review, matching source copies of the admin build assets are included in:<\/p>\n\n<ul>\n<li><code>admin-ui\/src\/admin-ui\/index.js<\/code><\/li>\n<li><code>admin-ui\/src\/admin-ui\/admin.css<\/code><\/li>\n<li><code>admin-ui\/src\/admin-ui\/App.js<\/code><\/li>\n<li><code>admin-ui\/src\/admin-ui\/api.js<\/code><\/li>\n<li><code>admin-ui\/src\/admin-ui\/components\/Campaigns.js<\/code><\/li>\n<\/ul>\n\n<p>To rebuild the admin UI from source:<\/p>\n\n<ol>\n<li>Install Node.js (18+) and npm.<\/li>\n<li><p>From the <code>admin-ui\/<\/code> directory, run:<\/p>\n\n<p>npm ci\nnpm run build<\/p><\/li>\n<\/ol>\n\n<p>The build command is defined in <code>admin-ui\/package.json<\/code> as:\n   wp-scripts build src\/admin-ui\/index.js --output-path=build\/admin-ui<\/p>\n\n<h4>Third-Party Libraries<\/h4>\n\n<p>The bundled admin UI is built with the following direct third-party packages, all included under GPL-compatible licenses:<\/p>\n\n<ul>\n<li><code>@wordpress\/i18n<\/code> version <code>6.18.0<\/code> - License: <code>GPL-2.0-or-later<\/code> - Repository: <code>https:\/\/github.com\/WordPress\/gutenberg\/tree\/trunk\/packages\/i18n<\/code><\/li>\n<li><code>@wordpress\/scripts<\/code> version <code>31.8.0<\/code> - License: <code>GPL-2.0-or-later<\/code> - Repository: <code>https:\/\/github.com\/WordPress\/gutenberg\/tree\/trunk\/packages\/scripts<\/code><\/li>\n<\/ul>\n\n<p>Inline admin\/frontend behaviour has been moved to enqueued assets in:<\/p>\n\n<ul>\n<li><code>assets\/css\/upsell-smart-settings-admin.css<\/code><\/li>\n<li><code>assets\/js\/upsell-smart-settings-admin.js<\/code><\/li>\n<li><code>assets\/js\/upsell-frontend.js<\/code><\/li>\n<li><code>assets\/js\/widget-bootstrap.js<\/code><\/li>\n<li><code>assets\/js\/smart-recommendations.js<\/code><\/li>\n<\/ul>\n\n<p>This plugin requires WooCommerce to be installed and active.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to the <code>\/wp-content\/plugins\/<\/code> directory, or install it through the WordPress plugins screen.<\/li>\n<li>Activate the plugin through the <code>Plugins<\/code> screen in WordPress.<\/li>\n<li>Ensure WooCommerce is installed and active.<\/li>\n<li>Go to <strong>WooCommerce -&gt; Upsell &amp; Cross-Sell<\/strong> in the WordPress admin to create rule-based upsell and cross-sell campaigns.<\/li>\n<li>Go to <strong>WooCommerce -&gt; Recommendation<\/strong> to configure the independent Smart Recommendations engine.<\/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 active. The plugin will display an admin notice and skip loading if WooCommerce is not detected.<\/p><\/dd>\n<dt id=\"are%20there%20any%20paid%20features%20or%20premium%20upgrades%3F\"><h3>Are there any paid features or premium upgrades?<\/h3><\/dt>\n<dd><p>No. All features described in this readme are fully included and functional. There are no locked settings, no licence keys, no upgrade prompts, and no premium tier.<\/p><\/dd>\n<dt id=\"what%20is%20the%20difference%20between%20campaigns%20and%20smart%20recommendations%3F\"><h3>What is the difference between Campaigns and Smart Recommendations?<\/h3><\/dt>\n<dd><p>Campaigns are manual rules you create yourself: you choose which products to show, under what conditions, and where. Smart Recommendations is a separate automated engine that analyses product categories and tags to suggest relevant items without any manual configuration. They are two independent systems, each with their own admin screen, and both are fully free.<\/p><\/dd>\n<dt id=\"can%20i%20use%20campaigns%20and%20smart%20recommendations%20at%20the%20same%20time%3F\"><h3>Can I use Campaigns and Smart Recommendations at the same time?<\/h3><\/dt>\n<dd><p>Yes. They operate independently. If a campaign matches the current page context, its widget is rendered. Smart Recommendations render separately based on their own hook position setting. You can enable both simultaneously.<\/p><\/dd>\n<dt id=\"does%20smart%20recommendations%20require%20any%20api%20keys%20or%20external%20services%3F\"><h3>Does Smart Recommendations require any API keys or external services?<\/h3><\/dt>\n<dd><p>No. Smart Recommendations uses only your store's existing WooCommerce product data (categories and tags). No data leaves your server and no third-party service is contacted.<\/p><\/dd>\n<dt id=\"where%20can%20i%20configure%20the%20smart%20recommendations%20display%20position%3F\"><h3>Where can I configure the Smart Recommendations display position?<\/h3><\/dt>\n<dd><p>Go to <strong>WooCommerce -&gt; Recommendation<\/strong> in the WordPress admin. There you will find a \"Display Hook Position\" setting that lets you choose the WooCommerce hook for both product pages and cart pages independently of campaign positions.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20change%20my%20woocommerce%20theme%3F\"><h3>Does the plugin change my WooCommerce theme?<\/h3><\/dt>\n<dd><p>No. The plugin inherits theme styling where possible so its frontend widgets blend into the active WooCommerce theme.<\/p><\/dd>\n<dt id=\"are%20the%20frontend%20assets%20always%20loaded%3F\"><h3>Are the frontend assets always loaded?<\/h3><\/dt>\n<dd><p>Frontend CSS and JavaScript are enqueued only on WooCommerce product pages and the cart page. They are not loaded on other pages.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20store%20any%20personal%20data%3F\"><h3>Does the plugin store any personal data?<\/h3><\/dt>\n<dd><p>This plugin does not collect or transmit personal data.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial public release.<\/li>\n<li>Campaign Manager: rule-based upsell and cross-sell campaigns with product, category, and tag trigger conditions.<\/li>\n<li>Smart Recommendations: independent automated recommendation engine with category and tag scoring, configurable via its own settings page.<\/li>\n<li>Two display layouts for Smart Recommendations: grid and slider\/carousel.<\/li>\n<li>Theme-adaptive frontend widgets with carousel navigation.<\/li>\n<li>Configurable WooCommerce hook positions for both campaigns and Smart Recommendations.<\/li>\n<\/ul>","raw_excerpt":"Smart upsell, cross-sell, and recommendation engine for WooCommerce with rule-based campaigns and an independent Smart Recommendations engine.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/308439","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=308439"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/zerosoft2026"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=308439"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=308439"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=308439"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=308439"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=308439"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=308439"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}