{"id":292273,"date":"2026-04-11T15:09:02","date_gmt":"2026-04-11T15:09:02","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/meyvora-convert-conversion-rate-optimizer-for-woocommerce\/"},"modified":"2026-04-15T16:15:35","modified_gmt":"2026-04-15T16:15:35","slug":"meyvora-convert","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/meyvora-convert\/","author":23474420,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"6.9.4","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"Meyvora Convert \u2013 Conversion Rate Optimizer for WooCommerce","header_author":"kalkiautomation","header_description":"Complete conversion rate optimization for WooCommerce \u2014 exit intent popups, abandoned cart recovery, sticky cart, shipping bar, trust badges, dynamic offers, A\/B testing, and analytics. Built for Meyvora stores and beyond.","assets_banners_color":"23253d","last_updated":"2026-04-15 16:15:35","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/kalkiautomation.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":74,"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":"kalkiautomation","date":"2026-04-11 15:16:32"},"1.0.1":{"tag":"1.0.1","author":"kalkiautomation","date":"2026-04-15 16:15:35"}},"upgrade_notice":{"1.0.1":"<p>Maintenance and UX release: spin wheel rendering and alignment, variable-product sticky cart, admin live preview wheel, minified asset parity, and Plugin Check fixes. Recommended for all sites on 1.0.0.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3504031,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3504031,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3504031,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3504031,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3504031,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3504031,"resolution":"2","location":"assets","locale":""}},"screenshots":{"1":"Dashboard overview \u2014 KPI cards showing conversions, revenue influenced, active A\/B tests, and abandoned carts","2":"Visual campaign builder with live template preview, trigger settings, and targeting rules","3":"Cart optimizer \u2014 trust strip, free shipping progress bar, and urgency messaging","4":"Checkout optimizer \u2014 secure checkout badge, guarantee note, and trust elements","5":"Dynamic offers rule builder with cart threshold, customer type, and lifetime spend conditions","6":"System Status panel \u2014 WooCommerce compatibility, DB table health, cron status, and conflict detection"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[15962,984,1002,491,286],"plugin_category":[45,55],"plugin_contributors":[259981],"plugin_business_model":[],"class_list":["post-292273","plugin","type-plugin","status-publish","hentry","plugin_tags-abandoned-cart","plugin_tags-conversion","plugin_tags-exit-intent","plugin_tags-popup","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_category-seo-and-marketing","plugin_contributors-kalkiautomation","plugin_committers-kalkiautomation"],"banners":{"banner":"https:\/\/ps.w.org\/meyvora-convert\/assets\/banner-772x250.png?rev=3504031","banner_2x":"https:\/\/ps.w.org\/meyvora-convert\/assets\/banner-1544x500.png?rev=3504031","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/meyvora-convert\/assets\/icon-128x128.png?rev=3504031","icon_2x":"https:\/\/ps.w.org\/meyvora-convert\/assets\/icon-256x256.png?rev=3504031","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/meyvora-convert\/assets\/screenshot-1.png?rev=3504031","caption":"Dashboard overview \u2014 KPI cards showing conversions, revenue influenced, active A\/B tests, and abandoned carts"},{"src":"https:\/\/ps.w.org\/meyvora-convert\/assets\/screenshot-2.png?rev=3504031","caption":"Visual campaign builder with live template preview, trigger settings, and targeting rules"}],"raw_content":"<!--section=description-->\n<p>Meyvora Convert adds conversion-focused features to your WooCommerce store without bloat:<\/p>\n\n<ul>\n<li><strong>Conversion campaigns<\/strong> \u2013 Exit intent and scroll-triggered popups to capture emails and offer coupons<\/li>\n<li><strong>On-page boosters<\/strong> \u2013 Sticky add-to-cart, free shipping progress bar, trust badges, low-stock urgency<\/li>\n<li><strong>Cart optimizer<\/strong> \u2013 Trust strip, urgency messaging, and optional offer banner on cart<\/li>\n<li><strong>Checkout optimizer<\/strong> \u2013 Secure checkout badge, guarantee note, trust strip on checkout<\/li>\n<li><strong>Dynamic offers<\/strong> \u2013 Rule-based personalized coupons (cart threshold, first-time\/returning customer, lifetime spend, roles)<\/li>\n<li><strong>Blocks support<\/strong> \u2013 All conversion elements render inside WooCommerce Cart and Checkout blocks (Gutenberg)<\/li>\n<li><strong>Classic support<\/strong> \u2013 Same elements via hooks on classic shortcode cart\/checkout<\/li>\n<li><strong>Editor support<\/strong> \u2013 Insert campaigns via shortcode [meyvc_campaign id=\"123\"] or the Gutenberg block \"Meyvora Convert \/ Campaign\"; Classic editor \"Add Meyvora Convert Campaign\" button<\/li>\n<\/ul>\n\n<p>Performance-first: assets load only on WooCommerce and feature-relevant pages unless overridden by the <code>meyvc_should_enqueue_assets<\/code> filter. No \"Pro\" or upgrade prompts.<\/p>\n\n<h3>Third Party Services<\/h3>\n\n<p>This plugin optionally connects to the following external services. All\nconnections are opt-in and only made when you have explicitly enabled and\nconfigured the relevant feature.<\/p>\n\n<p><strong>Anthropic (Claude AI)<\/strong>\nUsed when you enable AI features and enter an API key under Settings \u2192 AI.\nRequests are sent to api.anthropic.com. The plugin sends store context you\nchoose (for example anonymous aggregate stats or campaign copy you type in\nthe UI). No bulk customer PII is sent automatically.\nPrivacy policy: https:\/\/www.anthropic.com\/legal\/privacy\nTerms of service: https:\/\/www.anthropic.com\/legal\/aup<\/p>\n\n<p><strong>Klaviyo<\/strong>\nUsed when you enable the Klaviyo integration under Settings \u2192 Integrations.\nWhen a visitor submits their email in a campaign popup, their email address\nis sent to a.klaviyo.com to create or update a profile and subscribe them to\nyour chosen Klaviyo list. No data is sent until a visitor actively submits\ntheir email.\nPrivacy policy: https:\/\/www.klaviyo.com\/legal\/privacy\nTerms of service: https:\/\/www.klaviyo.com\/legal\/terms<\/p>\n\n<p><strong>Mailchimp<\/strong>\nUsed when you enable the Mailchimp integration under Settings \u2192 Integrations.\nWhen a visitor submits their email in a campaign popup, their email address\nis sent to your Mailchimp data centre (*.api.mailchimp.com) to subscribe them\nto your chosen audience. No data is sent until a visitor actively submits\ntheir email.\nPrivacy policy: https:\/\/mailchimp.com\/legal\/privacy\/\nTerms of service: https:\/\/mailchimp.com\/legal\/terms\/<\/p>\n\n<p><strong>DM Sans (bundled fonts)<\/strong>\nUsed only when you enable \"Load Google Fonts\" under Settings \u2192 General\n(disabled by default). When enabled, the plugin loads DM Sans from WOFF2\nfiles shipped inside the plugin (no external font requests).\nFont license: SIL Open Font License (see packages from https:\/\/github.com\/fontsource\/font-files).<\/p>\n\n<p><strong>SortableJS<\/strong> (bundled, no external connection)\nUsed in the admin campaign builder and sequences admin for drag-to-reorder.\nLoaded locally from the plugin \u2014 no external requests.\nSource and license: https:\/\/github.com\/SortableJS\/Sortable (MIT License)<\/p>\n\n<h3>Source Code<\/h3>\n\n<p>This plugin uses compiled JavaScript for the WooCommerce Blocks checkout extension.\nThe uncompiled source code is available at:\nhttps:\/\/github.com\/niket-thapa\/meyvora-convert<\/p>\n\n<p>Build tools used: Node.js, npm, webpack (@wordpress\/scripts)<\/p>\n\n<p>To build: run <code>npm install &amp;&amp; npm run build<\/code> inside <code>blocks\/cart-checkout-extension\/<\/code><\/p>\n\n<h3>Source Code and Build Tools (detail)<\/h3>\n\n<p>The compiled file <code>blocks\/cart-checkout-extension\/build\/index.js<\/code> is\ngenerated from the source files in <code>blocks\/cart-checkout-extension\/src\/<\/code>\nusing <code>@wordpress\/scripts<\/code> (webpack).<\/p>\n\n<p>To rebuild:\n1. Run <code>npm install<\/code> in the <code>blocks\/cart-checkout-extension\/<\/code> directory.\n2. Run <code>npm run build<\/code> to generate production assets or <code>npm run start<\/code>\n   for development with watch mode.<\/p>\n\n<p>All other plugin files are plain PHP, JavaScript, and CSS with no build step.<\/p>\n\n<h3>Privacy Policy<\/h3>\n\n<p>Meyvora Convert stores the following data to operate its features:<\/p>\n\n<ul>\n<li><strong>Visitor state cookie<\/strong> (<code>meyvc_visitor_state<\/code>): stores which campaigns a visitor has seen or dismissed. Contains no personally identifiable information. Expires after 30 days.<\/li>\n<li><strong>Abandoned cart emails<\/strong>: stored in the plugin database only when a visitor voluntarily submits their email address. Requires explicit consent before storage.<\/li>\n<li><strong>Analytics events<\/strong>: anonymised impression and conversion events (campaign ID, page type, device type). IP addresses are only stored when full analytics tracking is enabled by the site owner, and can be further anonymised (last octet truncated) using the \"Anonymise IP addresses\" setting.<\/li>\n<li><strong>Klaviyo integration<\/strong> (opt-in): when enabled, visitor email addresses submitted through campaign popups are transmitted to Klaviyo servers (a.klaviyo.com). See Klaviyo's privacy policy at https:\/\/www.klaviyo.com\/legal\/privacy.<\/li>\n<li><strong>Mailchimp integration<\/strong> (opt-in): when enabled, visitor email addresses submitted through campaign popups are transmitted to Mailchimp servers (*.api.mailchimp.com). See Mailchimp's privacy policy at https:\/\/mailchimp.com\/legal\/privacy\/.<\/li>\n<li><strong>AI features<\/strong> (opt-in): when enabled, store context data entered by the site owner is transmitted to Anthropic servers (api.anthropic.com). No customer PII is sent automatically. See https:\/\/www.anthropic.com\/legal\/privacy.<\/li>\n<\/ul>\n\n<p>Meyvora Convert supports WordPress's built-in personal data export and erasure tools (Tools \u2192 Export Personal Data \/ Erase Personal Data). Use these tools to export or erase any personal data stored in the plugin's database tables for a given email address.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code> or install via WordPress admin \u2192 Plugins \u2192 Add New \u2192 Upload.<\/li>\n<li>Activate \"Meyvora Convert\" from the Plugins screen.<\/li>\n<li>Ensure WooCommerce is installed and active.<\/li>\n<li>Go to Meyvora Convert in the admin menu to configure campaigns, boosters, cart\/checkout settings, and offers.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20support%20wordpress%20multisite%3F\"><h3>Does this plugin support WordPress Multisite?<\/h3><\/dt>\n<dd><p>Yes, with per-site activation only. Activate Meyvora Convert on each site\nindividually from that site's Plugins page. Network-wide (bulk) activation\nis blocked. Each site on the network gets its own isolated database tables,\ncampaigns, and settings.<\/p><\/dd>\n<dt id=\"does%20this%20work%20with%20woocommerce%20blocks%20%28block-based%20cart%2Fcheckout%29%3F\"><h3>Does this work with WooCommerce Blocks (block-based cart\/checkout)?<\/h3><\/dt>\n<dd><p>Yes. The plugin registers an Integration with WooCommerce Blocks so trust strip, guarantee note, shipping progress, and offer banner render inside both Cart and Checkout block pages. Enable \"Blocks debug mode\" in Settings to confirm the extension is loaded (shows a small badge on cart\/checkout).<\/p><\/dd>\n<dt id=\"can%20i%20use%20the%20classic%20shortcode%20cart%20and%20checkout%3F\"><h3>Can I use the classic shortcode cart and checkout?<\/h3><\/dt>\n<dd><p>Yes. The same conversion elements (trust strip, shipping progress, offer banner, etc.) are rendered via WooCommerce hooks when you use the classic cart and checkout shortcodes.<\/p><\/dd>\n<dt id=\"how%20do%20i%20show%20a%20campaign%20on%20a%20specific%20page%3F\"><h3>How do I show a campaign on a specific page?<\/h3><\/dt>\n<dd><p>Use the shortcode <code>[meyvc_campaign id=\"123\"]<\/code> with your campaign ID, or add the \"Meyvora Convert \/ Campaign\" block (Gutenberg) or use \"Add Meyvora Convert Campaign\" in the Classic editor and pick a campaign.<\/p><\/dd>\n<dt id=\"are%20generated%20offer%20coupons%20secure%3F\"><h3>Are generated offer coupons secure?<\/h3><\/dt>\n<dd><p>Yes. Coupons use the format MYV-{offer_id}-{random6}, are single-use, and are rate-limited (one per visitor per offer per 6 hours). Admins and shop managers do not receive generated coupons.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<p><strong>Spin-to-win (gamified wheel)<\/strong>\n* Fixed canvas not initializing when the campaign ID was read with jQuery <code>.data()<\/code> \u2014 scripts now use the <code>data-campaign-id<\/code> attribute so the wheel draws reliably on the storefront and in minified assets.\n* Fixed final spin rotation so the on-screen pointer (12 o\u2019clock) lines up with the winning slice returned by the server (canvas arc math).\n* Detect wheel campaigns when <code>template_type<\/code> is stored as <code>gamified_wheel<\/code> or <code>gamified-wheel<\/code> so spin scripts and styles load correctly.\n* More robust parsing of <code>data-slices<\/code> JSON on the canvas (including HTML-encoded attributes).\n* Kept production <code>.min.css<\/code> \/ <code>.min.js<\/code> in sync with sources; release zip build regenerates minified public assets before packaging.\n* Inline campaign embeds: styles so the gamified wheel is visible inside <code>.meyvc-campaign-shortcode<\/code> without the overlay controller.\n* Preview URLs (<code>?meyvc_preview=1<\/code>): load and initialize the spin wheel when the campaign is previewed off a draft.<\/p>\n\n<p><strong>Sticky add-to-cart<\/strong>\n* Variable products: variation dropdowns in the sticky bar and AJAX add-to-cart with <code>variation_id<\/code> and selected attributes.\n* More reliable sticky bar when <code>meyvcStickyCart<\/code> is built from DOM (<code>data-ajax-url<\/code>, <code>data-nonce<\/code>, attribute-based product ID) and broader enqueue rules on single product pages.<\/p>\n\n<p><strong>Admin \u2014 campaign builder live preview<\/strong>\n* Fixed empty spin wheel in the right-hand Live Preview (and in split iframe mode) by resolving <code>data-campaign-id<\/code> correctly and drawing the wheel after HTML injection.<\/p>\n\n<p><strong>Code quality<\/strong>\n* Plugin Check: use <code>wp_parse_url()<\/code> instead of <code>parse_url()<\/code>, plugin text domain for sticky variation placeholder copy, avoid unnecessary writes to the global <code>$product<\/code> in sticky-cart resolution.<\/p>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First public release \u2014 conversion campaigns (exit intent, scroll, time, spin-to-win wheel with server-signed tokens), boosters (sticky cart, shipping bar, trust badges, stock urgency, social proof, recommendations), cart\/checkout optimizations, dynamic offers, A\/B testing, abandoned cart email recovery, sequences, geo and UTM\/referrer targeting, cookie-consent awareness, analytics and live dashboard panel, REST API, shortcode and block, Klaviyo\/Mailchimp integrations, optional AI (Anthropic), onboarding and presets, System Status and uninstall options.<\/li>\n<\/ul>","raw_excerpt":"Conversion rate optimization for WooCommerce: exit intent popups, sticky cart, shipping bar, dynamic offers, A\/B testing, and analytics.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/292273","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=292273"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/kalkiautomation"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=292273"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=292273"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=292273"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=292273"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=292273"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=292273"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}