{"id":293644,"date":"2026-07-31T17:45:19","date_gmt":"2026-07-31T17:45:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/marketing-analytics-chat\/"},"modified":"2026-07-31T17:44:48","modified_gmt":"2026-07-31T17:44:48","slug":"specflux-marketing-analytics-chat","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/specflux-marketing-analytics-chat\/","author":22006989,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.2.2","stable_tag":"0.2.2","tested":"7.0.2","requires":"7.0","requires_php":"8.1","requires_plugins":null,"header_name":"Specflux Marketing Analytics Chat","header_author":"Stephen Paul Samynathan","header_description":"Chat with your marketing analytics data using AI. Connects Google Analytics 4, Search Console, Microsoft Clarity, and more.","assets_banners_color":"c9cdeb","last_updated":"2026-07-31 17:44:48","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.specflux.com\/","header_plugin_uri":"https:\/\/github.com\/specflux\/marketing-analytics-chat","header_author_uri":"https:\/\/www.specflux.com\/author\/stephen\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":25,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.2.2":{"tag":"0.2.2","author":"specflux","date":"2026-07-31 17:44:48"}},"upgrade_notice":{"0.2.2":"<p>Repairs the broken documentation links on the dashboard and abilities catalog. No functional changes otherwise.<\/p>","0.2.1":"<p>Chat now runs entirely through the WordPress AI Client, so no AI provider keys are stored by this plugin. Every external service the plugin contacts is documented in the readme. Requires WordPress 7.0+.<\/p>","0.2.0":"<p>Important security and reliability update: sensitive settings now require admin capability, chat history is private per user, and several chat and dashboard bugs are fixed. Requires WordPress 7.0+. Recommended for all users.<\/p>","0.1.2":"<p>New onboarding wizard, dashboard widget, and abilities catalog. Recommended update for all users.<\/p>","0.1.0":"<p>Initial release. Please backup your site before installing.<\/p>"},"ratings":[],"assets_icons":{"icon-124x124.png":{"filename":"icon-124x124.png","revision":3630319,"resolution":"124x124","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3630319,"resolution":"256x256","location":"assets","locale":"","width":250,"height":250},"icon-64x64.png":{"filename":"icon-64x64.png","revision":3630319,"resolution":"64x64","location":"assets","locale":"","width":64,"height":64}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3630319,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3630319,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.2.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3630319,"resolution":"1","location":"assets","locale":"","width":4400,"height":2898},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3630319,"resolution":"2","location":"assets","locale":"","width":4400,"height":2848},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3630319,"resolution":"3","location":"assets","locale":"","width":4400,"height":2958},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3630319,"resolution":"4","location":"assets","locale":"","width":4400,"height":2954}},"screenshots":{"1":"Dashboard overview with connected platforms","2":"MCP Abilities Catalog showing available analytics abilities","3":"Google Analytics 4 connection setup","4":"Settings page with API configuration"}},"plugin_section":[262246],"plugin_tags":[2353,5707,35311,242115],"plugin_category":[41],"plugin_contributors":[274074,235985],"plugin_business_model":[],"class_list":["post-293644","plugin","type-plugin","status-publish","hentry","plugin_section-dashboard-widgets","plugin_tags-ai","plugin_tags-chat","plugin_tags-marketing-analytics","plugin_tags-mcp","plugin_category-communication","plugin_contributors-specflux","plugin_contributors-stephen1204paul","plugin_committers-specflux"],"banners":{"banner":"https:\/\/ps.w.org\/specflux-marketing-analytics-chat\/assets\/banner-772x250.png?rev=3630319","banner_2x":"https:\/\/ps.w.org\/specflux-marketing-analytics-chat\/assets\/banner-1544x500.png?rev=3630319","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/specflux-marketing-analytics-chat\/assets\/icon-256x256.png?rev=3630319","icon_2x":"https:\/\/ps.w.org\/specflux-marketing-analytics-chat\/assets\/icon-256x256.png?rev=3630319","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/specflux-marketing-analytics-chat\/assets\/screenshot-1.png?rev=3630319","caption":"Dashboard overview with connected platforms"},{"src":"https:\/\/ps.w.org\/specflux-marketing-analytics-chat\/assets\/screenshot-2.png?rev=3630319","caption":"MCP Abilities Catalog showing available analytics abilities"},{"src":"https:\/\/ps.w.org\/specflux-marketing-analytics-chat\/assets\/screenshot-3.png?rev=3630319","caption":"Google Analytics 4 connection setup"},{"src":"https:\/\/ps.w.org\/specflux-marketing-analytics-chat\/assets\/screenshot-4.png?rev=3630319","caption":"Settings page with API configuration"}],"raw_content":"<!--section=description-->\n<p>Specflux Marketing Analytics Chat lets you have conversations with your marketing data using AI. Connect your analytics platforms and ask questions in plain English to get instant insights and recommendations.<\/p>\n\n<h4>Supported Platforms<\/h4>\n\n<ul>\n<li><strong>Google Analytics 4<\/strong> - Traffic metrics, user behavior, conversions, real-time data<\/li>\n<li><strong>Google Search Console<\/strong> - Search performance, queries, indexing status<\/li>\n<li><strong>Microsoft Clarity<\/strong> - Session recordings, heatmaps, user behavior insights<\/li>\n<\/ul>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li><strong>Built-in AI Chat<\/strong> - Chat with your analytics data through the WordPress AI Client built into core. You pick your AI provider once under Settings &gt; Connectors; this plugin stores no AI keys of its own<\/li>\n<li><strong>MCP-Native Architecture<\/strong> - Exposes analytics as MCP abilities for any compatible AI assistant<\/li>\n<li><strong>Interactive Onboarding Wizard<\/strong> - Step-by-step setup with guided configuration<\/li>\n<li><strong>Analytics at a Glance Dashboard<\/strong> - Dashboard widget with sparkline trends<\/li>\n<li><strong>Admin Bar Pulse Indicator<\/strong> - Quick analytics status in the WordPress admin bar<\/li>\n<li><strong>Smart Prompt Templates<\/strong> - Auto-installed prompts for common analytics questions<\/li>\n<li><strong>MCP Abilities Catalog<\/strong> - Browse all available analytics abilities in one place<\/li>\n<li><strong>Connection Depth Prompts<\/strong> - Contextual prompts that adapt to your connected platforms<\/li>\n<li><strong>Multi-Platform Support<\/strong> - Connect all your marketing data sources<\/li>\n<li><strong>Secure Credentials<\/strong> - OAuth 2.0 and encrypted API key storage<\/li>\n<li><strong>Smart Caching<\/strong> - Reduce API calls with intelligent caching<\/li>\n<li><strong>Cross-Platform Analysis<\/strong> - Compare data across all connected platforms<\/li>\n<\/ul>\n\n<h4>How It Works<\/h4>\n\n<ol>\n<li>Connect your analytics platforms via OAuth or API keys<\/li>\n<li>Use the built-in AI chat right inside WordPress (works out of the box on WordPress 7.0)<\/li>\n<li>Ask questions like \"How did my traffic change this week?\"<\/li>\n<li>Get AI-powered insights and recommendations<\/li>\n<\/ol>\n\n<p>Prefer to use an external AI client (Claude Desktop, ChatGPT, Cursor)? Install the optional MCP Adapter plugin (see Requirements) to expose these tools over the Model Context Protocol.<\/p>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WordPress 7.0 or higher (includes Abilities API and AI Client in core)<\/li>\n<li>MCP Adapter plugin (optional; only needed to connect external AI clients such as Claude Desktop or Cursor). It is available from GitHub at https:\/\/github.com\/WordPress\/mcp-adapter and is not required for the built-in chat.<\/li>\n<li>PHP 8.1 or higher<\/li>\n<li>SSL certificate (HTTPS) for OAuth connections<\/li>\n<li>PHP extensions: json, curl, openssl, sodium<\/li>\n<\/ul>\n\n<h4>External Services<\/h4>\n\n<p>This plugin sends data to the external services listed below. Each service is\ncontacted only after you connect the corresponding platform on the plugin's\nConnections screen. A site with no connections configured makes no external\nrequests.<\/p>\n\n<p><strong>Google Analytics 4 and Google Search Console<\/strong> (provided by Google LLC)<\/p>\n\n<p>What it is used for: reading your own analytics and search-performance data so\nit can be shown in the plugin dashboard, exposed as MCP abilities, and used to\nanswer questions in chat.<\/p>\n\n<p>What is sent and when: connecting an account sends your authorisation request to\naccounts.google.com, and access and refresh tokens are exchanged against\noauth2.googleapis.com. Once connected, report requests go to\nanalyticsdata.googleapis.com (GA4 traffic, behaviour, and conversion metrics),\nanalyticsadmin.googleapis.com (the list of your GA4 properties, requested during\nconnection setup), and searchconsole.googleapis.com (search queries, clicks,\nimpressions, and indexing status). Each request carries your OAuth access token,\nthe GA4 property ID or Search Console site URL being queried, and the date range\nand metrics requested. Requests are made when you open a plugin screen whose\ncached data has expired, when you refresh the dashboard widget, and when an\nability is run from the built-in chat or an external MCP client. No post\ncontent, visitor records, or other personal data from your WordPress site is\nsent.<\/p>\n\n<p>Terms of service: https:\/\/developers.google.com\/terms\nPrivacy policy: https:\/\/policies.google.com\/privacy<\/p>\n\n<p><strong>Microsoft Clarity<\/strong> (provided by Microsoft Corporation)<\/p>\n\n<p>What it is used for: reading your own Clarity project's behavioural metrics,\nincluding session counts, engagement and scroll data, and the insights Clarity\nderives from session recordings and heatmaps.<\/p>\n\n<p>What is sent and when: the plugin calls the Clarity Data Export API at\nwww.clarity.ms. Each request carries your Clarity API token and project ID,\ntogether with the number of days and the dimensions requested. Requests are made\nwhen cached Clarity data has expired and a plugin screen, a dashboard widget\nrefresh, or an MCP ability asks for it. Clarity permits ten export requests per\nproject per day, so responses are cached for one hour.<\/p>\n\n<p>Terms of use: https:\/\/clarity.microsoft.com\/terms\nPrivacy statement: https:\/\/privacy.microsoft.com\/privacystatement<\/p>\n\n<p><strong>AI chat responses<\/strong><\/p>\n\n<p>This plugin does not contact any AI provider directly and stores no AI provider\ncredentials. The built-in chat calls the AI Client included in WordPress 7.0,\nwhich sends your chat messages and the analytics results described above to\nwhichever provider you have configured for your site under Settings &gt;\nConnectors. That provider's own terms of service and privacy policy govern that\ntransfer, and WordPress stores its credentials.<\/p>\n\n<h3>Privacy Policy<\/h3>\n\n<p>This plugin:\n* Stores encrypted API credentials for the analytics platforms you connect in your WordPress database\n* Connects only to the analytics services you configure, as detailed under External Services above\n* Does not track your site's visitors and sends no data to the plugin author\n* Does not store analytics data permanently; results are fetched on demand and cached temporarily\n* Stores no AI provider credentials; chat is handled by the WordPress AI Client using the provider configured for your site<\/p>\n\n<!--section=installation-->\n<h4>Prerequisites<\/h4>\n\n<ol>\n<li>Ensure you are running WordPress 7.0 or higher (includes Abilities API and AI Client)<\/li>\n<li>Optional, for external AI clients only: install and activate the \"MCP Adapter\" plugin from GitHub (https:\/\/github.com\/WordPress\/mcp-adapter). The built-in chat works without it.<\/li>\n<\/ol>\n\n<h4>Plugin Installation<\/h4>\n\n<ol>\n<li>Upload the <code>specflux-marketing-analytics-chat<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress<\/li>\n<li>Go to Marketing Analytics &gt; Settings &gt; Google API to configure OAuth credentials<\/li>\n<li>Connect your analytics platforms from the Connections page<\/li>\n<li>Configure your MCP client (e.g., Claude Desktop) to use the plugin endpoint<\/li>\n<\/ol>\n\n<h4>Configuring MCP Client<\/h4>\n\n<p>Add this to your Claude Desktop configuration:<\/p>\n\n<pre><code>{\n  \"mcpServers\": {\n    \"wordpress-marketing\": {\n      \"transport\": {\n        \"type\": \"http\",\n        \"url\": \"https:\/\/your-site.com\/wp-json\/mcp\/mcp-adapter-default-server\",\n        \"headers\": {\n          \"Authorization\": \"Basic base64(username:application-password)\"\n        }\n      }\n    }\n  }\n}\n<\/code><\/pre>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20does%20the%20ai%20chat%20work%3F\"><h3>How does the AI chat work?<\/h3><\/dt>\n<dd><p>The plugin exposes your analytics data as MCP abilities. Any MCP-compatible AI assistant (Claude Desktop, ChatGPT, Cursor) can query your data by calling these abilities. Just type a question like \"What are my top traffic sources?\" and get an instant answer.<\/p><\/dd>\n<dt id=\"do%20i%20need%20to%20pay%20for%20api%20access%3F\"><h3>Do I need to pay for API access?<\/h3><\/dt>\n<dd><p>The plugin itself is free. However, you may need API access for:\n* Google Analytics and Search Console - Free with Google Cloud account\n* Microsoft Clarity - Free<\/p><\/dd>\n<dt id=\"is%20my%20data%20secure%3F\"><h3>Is my data secure?<\/h3><\/dt>\n<dd><p>Yes. All API credentials are encrypted using libsodium before storage. OAuth tokens are handled securely with CSRF protection. No analytics data is stored permanently - it's fetched on demand.<\/p><\/dd>\n<dt id=\"what%20can%20i%20ask%20the%20ai%3F\"><h3>What can I ask the AI?<\/h3><\/dt>\n<dd><p>You can ask questions like:\n* \"How did my traffic change compared to last week?\"\n* \"What are my top performing pages?\"\n* \"Show me my search console queries\"\n* \"Compare my GA4 and Clarity data\"<\/p><\/dd>\n<dt id=\"what%20wordpress%20versions%20are%20supported%3F\"><h3>What WordPress versions are supported?<\/h3><\/dt>\n<dd><p>WordPress 7.0 and higher is required. The plugin uses the Abilities API and the AI Client, both included in WordPress 7.0 core, so the built-in chat works out of the box. Connecting external AI clients (Claude Desktop, Cursor) over MCP is optional and requires the separate MCP Adapter plugin, available from GitHub.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.2.2 - 2026-07-25<\/h4>\n\n<ul>\n<li>Fixed: The \"documentation\" links on the dashboard and the abilities catalog led to a page that does not exist; they now open the plugin's setup documentation<\/li>\n<\/ul>\n\n<h4>0.2.1 - 2026-07-25<\/h4>\n\n<ul>\n<li>Changed: Removed the direct Claude, OpenAI, and Google Gemini chat integrations. Chat now runs solely through the WordPress AI Client, so the provider and its credentials are managed by WordPress at the site level and this plugin stores no AI keys of its own<\/li>\n<li>Changed: Documented every external service the plugin contacts, including the exact domains, the data sent, when it is sent, and links to each provider's terms of service and privacy policy<\/li>\n<li>Security: The Connections screen checks the plugin capability directly before handling the Google OAuth redirect, in addition to the existing OAuth state validation<\/li>\n<li>Changed: Refreshed all bundled libraries to their current stable releases<\/li>\n<\/ul>\n\n<h4>0.2.0 - 2026-07-02<\/h4>\n\n<ul>\n<li>Added: Chat can be powered by the WordPress AI Client in core, with the AI provider configured once under Settings &gt; Connectors<\/li>\n<li>Added: Behavior annotations (read-only, non-destructive, idempotent) on all registered abilities for better AI agent safety hints<\/li>\n<li>Security: Settings page (role permissions, Google OAuth client, debug mode) now requires the manage_options capability instead of plugin access alone<\/li>\n<li>Security: The chat view now verifies conversation ownership, preventing users from reading another user's chat history by ID<\/li>\n<li>Security: Credential values (API tokens and keys) are redacted before any debug logging, and error logging is gated behind debug mode<\/li>\n<li>Security: New conversations are always owned by the current user; a client-supplied user ID is ignored<\/li>\n<li>Fixed: Dashboard widget refresh no longer triggers a fatal error caused by mismatched analytics client arguments<\/li>\n<li>Fixed: AI chat tool-category filtering now matches abilities correctly instead of disabling all tools<\/li>\n<li>Fixed: Chat history now sends the most recent messages to the AI instead of the oldest, keeping long conversations coherent<\/li>\n<li>Fixed: The debug-mode toggle now takes effect<\/li>\n<li>Changed: Minimum required WordPress version is now 7.0 (Abilities API and AI Client in core)<\/li>\n<li>Changed: Admin notices now use the wp_admin_notice() core function<\/li>\n<li>Changed: Trimmed unused Google API service classes and refreshed bundled libraries to reduce package size<\/li>\n<\/ul>\n\n<h4>0.1.6 - 2026-05-09<\/h4>\n\n<ul>\n<li>Fixed: Downgraded PHPUnit to ^10.5 for PHP 8.1 compatibility in CI<\/li>\n<li>Fixed: Updated menu slugs to use full specflux-marketing-analytics-chat prefix<\/li>\n<\/ul>\n\n<h4>0.1.5 - 2026-05-09<\/h4>\n\n<ul>\n<li>Fixed: Upgraded jetpack-autoloader (5.0.16 \u2192 5.0.17) and google\/apiclient (2.19.0 \u2192 2.19.3)<\/li>\n<li>Fixed: Removed inline &lt;style&gt; tag, replaced with wp_add_inline_style()<\/li>\n<li>Fixed: Sanitized $_COOKIE name\/value before passing to WP_Http_Cookie<\/li>\n<li>Fixed: Added sanitize_text_field() before json_decode() in AJAX handler and prompts view<\/li>\n<li>Fixed: Prefixed all JS globals with specfluxMac to prevent naming conflicts<\/li>\n<\/ul>\n\n<h4>0.1.4 - 2026-04-20<\/h4>\n\n<ul>\n<li>Fixed WordPress.org review issues<\/li>\n<li>Removed mcp-adapter from Requires Plugins (now optional recommendation)<\/li>\n<li>Fixed Plugin URI to correct repository URL<\/li>\n<li>Included composer.json in distribution<\/li>\n<li>Improved function prefixing for consistency<\/li>\n<\/ul>\n\n<h4>0.1.2 - 2025-12-13<\/h4>\n\n<ul>\n<li>Added interactive onboarding wizard with guided setup<\/li>\n<li>Added Analytics at a Glance dashboard widget with sparkline trends<\/li>\n<li>Added admin bar analytics pulse indicator<\/li>\n<li>Added auto-installed smart prompt templates<\/li>\n<li>Added MCP Abilities Catalog page<\/li>\n<li>Added connection depth prompts for contextual suggestions<\/li>\n<li>Improved cross-platform summary abilities<\/li>\n<\/ul>\n\n<h4>0.1.1 - 2025-12-13<\/h4>\n\n<ul>\n<li>Release version 0.1.1<\/li>\n<\/ul>\n\n<h4>0.1.0 - 2025-12-06<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>MCP-native analytics abilities for AI assistants<\/li>\n<li>Google Analytics 4 integration<\/li>\n<li>Google Search Console integration<\/li>\n<li>Microsoft Clarity integration<\/li>\n<li>Secure OAuth and credential management<\/li>\n<li>Cross-platform comparison tools<\/li>\n<li>Smart caching system<\/li>\n<\/ul>","raw_excerpt":"Expose Google Analytics 4, Search Console, and Microsoft Clarity data to AI assistants via the Model Context Protocol.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/293644","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=293644"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/specflux"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=293644"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=293644"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=293644"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=293644"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=293644"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=293644"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}