{"id":367259,"date":"2026-09-22T11:48:00","date_gmt":"2026-09-22T11:48:00","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/yozo-widget\/"},"modified":"2026-09-22T11:47:13","modified_gmt":"2026-09-22T11:47:13","slug":"yozo-ai-marketing-agent","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/yozo-ai-marketing-agent\/","author":22042343,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.0","stable_tag":"1.1.0","tested":"7.1.2","requires":"6.4","requires_php":"7.4","requires_plugins":null,"header_name":"Yozo AI Marketing Agent","header_author":"Yozo","header_description":"Show the Yozo AI chat, popups and bars on your site and capture contacts for your email, SMS and WhatsApp campaigns. Requires a Yozo account.","assets_banners_color":"b4d64f","last_updated":"2026-09-22 11:47:13","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/yozo.ai","rating":0,"author_block_rating":0,"active_installs":0,"downloads":39,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.0":{"tag":"1.1.0","author":"cortechsai","date":"2026-09-22 11:47:13","revision":3707215}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3707215,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3707215,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3707215,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3707215,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[191735,14160,2364,307,491],"plugin_category":[],"plugin_contributors":[282034],"plugin_business_model":[],"class_list":["post-367259","plugin","type-plugin","status-publish","hentry","plugin_tags-ai-chatbot","plugin_tags-chat-widget","plugin_tags-chatbot","plugin_tags-engagement","plugin_tags-popup","plugin_contributors-cortechsai","plugin_committers-cortechsai"],"banners":{"banner":"https:\/\/ps.w.org\/yozo-ai-marketing-agent\/assets\/banner-772x250.png?rev=3707215","banner_2x":"https:\/\/ps.w.org\/yozo-ai-marketing-agent\/assets\/banner-1544x500.png?rev=3707215","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/yozo-ai-marketing-agent\/assets\/icon-128x128.png?rev=3707215","icon_2x":"https:\/\/ps.w.org\/yozo-ai-marketing-agent\/assets\/icon-256x256.png?rev=3707215","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Yozo AI Marketing Agent is the official WordPress connector for\n<a href=\"https:\/\/yozo.ai\">Yozo<\/a>, a hosted (SaaS) marketing platform for online stores.\nYozo brings email, SMS and WhatsApp campaigns, automated flows and an AI chat\nassistant together in one place, so you can capture a visitor on your site and\nfollow up on whichever channel they prefer.<\/p>\n\n<p>This plugin is the on-site half of that. It shows your Yozo widgets to your\nvisitors: the AI chat assistant, welcome popups (email\/SMS capture,\nspin-the-wheel, scratch card) and announcement bars. Contacts those popups\ncollect become part of your Yozo audience, which is what your campaigns and\nflows send to. The campaigns themselves are built and sent from your Yozo\ndashboard, not from WordPress.<\/p>\n\n<p>The plugin contains no widget code of its own: once activated it loads the Yozo\nwidget script on every front-end page, and everything your visitors see is\nrendered and controlled by Yozo's servers, so it can change without a plugin\nupdate.<\/p>\n\n<p><strong>A Yozo account is required.<\/strong> Sign up at https:\/\/yozo.ai, connect your site's\ndomain in your Yozo dashboard (Integrations), and then activate this plugin.\nThe widget identifies your site by its domain, so there is no key or ID to\npaste into WordPress. Yozo offers a free plan and paid subscriptions; depending\non your plan, Yozo may limit or pause features such as the AI chat on its side,\nwithout any change to this plugin. All of the plugin's code is included;\nnothing in it is locked, time-limited or unlocked by payment. Without a\nconnected Yozo account the widget shows nothing.<\/p>\n\n<p>The plugin adds no settings page, stores no options and writes nothing to your\ndatabase. \"Widget\" here means a floating on-page widget; the plugin does not add\na sidebar or block widget. Product-review widgets and cart tracking are\ncurrently Shopify-only and are not active on WordPress.<\/p>\n\n<p>If your site enforces a Content Security Policy (CSP), allow:\nscript-src https:\/\/agents.yozo.ai; connect-src https:\/\/agent.yozo.ai\nhttps:\/\/<em>.firebaseio.com wss:\/\/<\/em>.firebaseio.com https:\/\/api.country.is\nhttps:\/\/get.geojs.io; style-src and font-src https:\/\/fonts.googleapis.com\nhttps:\/\/fonts.gstatic.com; img-src https:\/\/flagcdn.com.<\/p>\n\n<h3>External Services<\/h3>\n\n<p>This plugin relies on Yozo, a third-party service operated by Yozo\n(https:\/\/yozo.ai), and does nothing without it. Please read this section before\nactivating: it explains which servers your visitors' browsers will contact, what\ndata is sent, and when.<\/p>\n\n<p><strong>When:<\/strong> As soon as the plugin is active, on every front-end page view, for\nevery visitor, before any interaction and without any prompt or opt-in shown to\nthe visitor. Nothing is loaded in the WordPress admin.<\/p>\n\n<p><strong>What is loaded:<\/strong> The widget script\n    https:\/\/agents.yozo.ai\/widgets\/yozo-widgets.js is requested from the\nvisitor's browser on every front-end page. The script is maintained and updated\nby Yozo.<\/p>\n\n<p><strong>Servers contacted by the visitor's browser, and why:<\/strong><\/p>\n\n<ul>\n<li><code>agents.yozo.ai<\/code> - serves the widget script.<\/li>\n<li><code>agent.yozo.ai<\/code> - Yozo's API. The widget fetches your widget configuration on\nevery page load (and re-checks it about once a minute while the page is\nopen), reports widget impressions, and sends chat messages and form\nsubmissions.<\/li>\n<li><code>*.firebaseio.com<\/code> (Google Firebase) - real-time delivery of chat messages. A\nconnection is opened on page load whenever the chat is enabled in your Yozo\naccount.<\/li>\n<li><code>api.country.is<\/code> - a third-party IP-geolocation lookup used to pre-select the\nphone country code in popups. It is called on page load whenever a welcome\npopup is configured in your Yozo account.<\/li>\n<li><code>get.geojs.io<\/code> - a second IP-geolocation lookup, called only when the AI chat\nshows a lead form with a phone field.<\/li>\n<li><code>fonts.googleapis.com<\/code> and <code>fonts.gstatic.com<\/code> (Google Fonts) - loaded when a\ncustom font is set in your Yozo brand settings.<\/li>\n<li><code>flagcdn.com<\/code> - country-flag images shown next to phone-number fields.<\/li>\n<\/ul>\n\n<p>Every server listed receives the visitor's IP address and browser details\n(user agent) as part of the request.<\/p>\n\n<p><strong>Data sent to Yozo:<\/strong><\/p>\n\n<ul>\n<li>On every page load: a random visitor identifier and session identifier\ngenerated by the widget (see Browser storage), your site's domain, and the\nvisitor's IP address and user agent. When a popup, bar or bubble is shown,\nthe widget reports that impression.<\/li>\n<li>When a visitor uses the chat: every message they type, together with the\nidentifiers above.<\/li>\n<li>When a visitor submits a popup, bar or in-chat lead form: the email address,\nphone number and\/or name they enter, the page URL where they submitted it,\nand, for SMS forms, the SMS-marketing consent text that was shown to them.\nContacts collected this way are stored in your Yozo account as marketing\ncontacts, and you can send them email, SMS and WhatsApp campaigns and\nautomated flows from your Yozo dashboard.<\/li>\n<li>When a visitor taps a product card in the chat: which product was tapped.<\/li>\n<\/ul>\n\n<p>Cart, checkout and product page-view tracking in the widget only run on Shopify\nstores and are not active on WordPress\/WooCommerce sites.<\/p>\n\n<p><strong>Browser storage:<\/strong> No cookies are set. The widget stores the following in the\nvisitor's browser: localStorage <code>yozo-identifier<\/code> (persistent visitor ID),\n    yozo-session (30-minute session ID), <code>yozo-widget-storage<\/code> (email\/phone the\nvisitor submitted, so they are not asked again) and <code>yozo-popup-shown-session<\/code>;\nsessionStorage <code>yozo-impression-sent<\/code> and <code>yozo_opening_msg_dismissed<\/code>.<\/p>\n\n<p><strong>Branding:<\/strong> The chat panel shows the text \"Powered by Yozo\" and popups show\n\"powered by yozo.ai\". This is rendered by the Yozo service and cannot be turned\noff from the plugin.<\/p>\n\n<p><strong>Page changes:<\/strong> The widget inserts a <code>&lt;yozo-widgets&gt;<\/code> element into the page\n(its UI is isolated in a Shadow DOM) and, when a custom font is configured, a\n     tag in <code>&lt;head&gt;<\/code>. The SMS popup's \"Privacy Policy &amp; Terms\" link points\nto <code>\/policies\/privacy-policy<\/code> on your own domain; create a page at that address\nso the link works.<\/p>\n\n<p><strong>Your responsibilities:<\/strong> Because the widget contacts these servers for all\nvisitors without asking them, you are responsible for covering this in your own\nprivacy policy and, where required (for example under GDPR\/ePrivacy), for your\nown cookie\/consent set-up. Do not activate the plugin unless you accept this.<\/p>\n\n<p><strong>Service links:<\/strong><\/p>\n\n<ul>\n<li>Service: https:\/\/yozo.ai<\/li>\n<li>Terms of Service: https:\/\/yozo.ai\/terms-of-service<\/li>\n<li>Privacy Policy: https:\/\/yozo.ai\/privacy-policy<\/li>\n<\/ul>\n\n<p>By activating this plugin you agree to Yozo's Terms of Service and Privacy\nPolicy on behalf of your site.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Create a Yozo account at https:\/\/yozo.ai and connect this site's domain in\nyour Yozo dashboard.<\/li>\n<li>Upload the <code>yozo-ai-marketing-agent<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or\ninstall the zip from Plugins &gt; Add New &gt; Upload Plugin.<\/li>\n<li>Activate the plugin through the Plugins menu. The widget now loads on every\nfront-end page for every visitor (see External Services).<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20yozo%20account%3F\"><h3>Do I need a Yozo account?<\/h3><\/dt>\n<dd><p>Yes. The plugin only loads Yozo's hosted widget; the chat, popups and bars are\nconfigured and served from your Yozo account, and the contacts they capture,\nyour campaigns and your flows all live there too. Yozo has a free plan and paid\nsubscriptions.<\/p><\/dd>\n<dt id=\"do%20i%20need%20a%20store%20id%20or%20api%20key%3F\"><h3>Do I need a store ID or API key?<\/h3><\/dt>\n<dd><p>No. The widget resolves your site by its domain, so there is no key to paste.\nJust make sure your domain is connected in your Yozo dashboard.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20make%20external%20requests%3F\"><h3>Does this plugin make external requests?<\/h3><\/dt>\n<dd><p>Yes - that is its only function. It loads\n    https:\/\/agents.yozo.ai\/widgets\/yozo-widgets.js on every front-end page, and\nthe widget then communicates with <code>agent.yozo.ai<\/code> and the other servers listed\nunder External Services.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20collect%20any%20data%3F\"><h3>Does this plugin collect any data?<\/h3><\/dt>\n<dd><p>The plugin itself stores nothing in WordPress. The Yozo widget it loads collects\nthe visitor data listed under External Services in order to provide the chat,\npopups and bars. Please review Yozo's Privacy Policy and update your own privacy\npolicy and consent tooling accordingly.<\/p><\/dd>\n<dt id=\"how%20do%20i%20stop%20the%20widget%20from%20loading%3F\"><h3>How do I stop the widget from loading?<\/h3><\/dt>\n<dd><p>Deactivate the plugin. Developers can also return an empty string from the\n    yozo_widget_script_url filter to suppress the script (for example until a\nvisitor has given consent in your consent tool), or block the inline loader\nsnippet by its tag id <code>yozo-widgets-bootstrap<\/code>.<\/p><\/dd>\n<dt id=\"can%20i%20point%20the%20plugin%20at%20a%20different%20yozo%20environment%3F\"><h3>Can I point the plugin at a different Yozo environment?<\/h3><\/dt>\n<dd><p>Developers can override the script URL with the <code>YOZO_WIDGET_SCRIPT_URL<\/code>\nconstant in <code>wp-config.php<\/code> or the <code>yozo_widget_script_url<\/code> filter. Only use\nURLs provided by Yozo.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Loads the widget through a small inline snippet in the page head instead of a fixed script tag, so page caches and optimizer plugins cannot pin visitors to an old version of the widget, and marks the snippet so caching, optimizer and Cloudflare Rocket Loader tools skip it.<\/li>\n<li>Connect the site to your Yozo account from a new Yozo AI admin page (automatic, or by pasting a token from the Yozo dashboard).<\/li>\n<li>Sends WooCommerce cart, checkout and order events to Yozo for the connected account.<\/li>\n<li>Adds a cart restore link for recovery messages.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release: loads the Yozo widget script on every front-end page.<\/li>\n<\/ul>","raw_excerpt":"Show the Yozo AI chat, popups and bars on your site and capture contacts for your email, SMS and WhatsApp campaigns. Requires a Yozo account.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/367259","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=367259"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/cortechsai"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=367259"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=367259"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=367259"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=367259"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=367259"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=367259"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}