AI chat and insights on any Matomo report with ChatGPT, plus an agent that queries your live data.
Ask questions about your analytics and get AI insights on any Matomo report with ChatGPT or any OpenAI-compatible API, plus an optional agent that queries your live reports through the Matomo MCP tools.
When a provider is connected in AI Providers and the McpServer plugin is enabled, the chat and the insight panel work as an agent:
The agent mode is optional. Without AI Providers or McpServer, the plugin keeps working with its own settings. With AI Providers but without McpServer, the connected provider answers without tools.
config/config.ini.php.ChatGPT.getResponse, ChatGPT.getStreamingResponse, ChatGPT.getInsights, ChatGPT.getSiteSettings, ChatGPT.setSiteSettings and ChatGPT.setSystemSettings.>=6.0.0-b1,<7.0.0-b1)Optionally, as a server administrator, tune the plugin in a [ChatGPT] section of config/config.ini.php. Every key is optional:
[ChatGPT]
; name shown in the top menu, on the chat page and in the insights panel, 40 characters max
display_name = "Company AI"
; AI requests per user and per website within the window, 0 disables the limit
rate_limit_requests = 30
; length of the window, in seconds
rate_limit_window = 3600
Then open the ChatGPT page in the main menu, or click the Insights button in the header of a report.
[email] and [ip], and URL query strings are removed, in the report data and in the results of the Matomo tools. Both are on by default and can be turned off in the same Privacy card.Openmost is an official Matomo Implementation Partner. We connect Matomo to AI assistants, BI tools and the rest of your stack with Matomo integrations built on official APIs, with documented and privacy-checked data flows.
When a provider is connected in AI Providers and the McpServer plugin is enabled, the chat and the insight panel work as an agent:
The agent mode is optional. Without AI Providers or McpServer, the plugin keeps working with its own settings. With AI Providers but without McpServer, the connected provider answers without tools.
config/config.ini.php.ChatGPT.getResponse, ChatGPT.getStreamingResponse, ChatGPT.getInsights, ChatGPT.getSiteSettings, ChatGPT.setSiteSettings and ChatGPT.setSystemSettings.>=6.0.0-b1,<7.0.0-b1)Optionally, as a server administrator, tune the plugin in a [ChatGPT] section of config/config.ini.php. Every key is optional:
[ChatGPT]
; name shown in the top menu, on the chat page and in the insights panel, 40 characters max
display_name = "Company AI"
; AI requests per user and per website within the window, 0 disables the limit
rate_limit_requests = 30
; length of the window, in seconds
rate_limit_window = 3600
Then open the ChatGPT page in the main menu, or click the Insights button in the header of a report.
[email] and [ip], and URL query strings are removed, in the report data and in the results of the Matomo tools. Both are on by default and can be turned off in the same Privacy card.How do I install and configure this plugin?
You can also download the plugin from GitHub, extract it to your plugins/ folder and activate it.
Can I change the rate limit or the name shown in the menu?
Yes, in a [ChatGPT] section of config/config.ini.php: display_name renames the plugin in the top menu, on the chat page and in the insights panel, for example when you use a self-hosted model. rate_limit_requests sets the AI requests per user and per website (30 by default, 0 disables the limit) and rate_limit_window the length of the window in seconds (3600 by default). These values are kept when the plugin is updated.
The chat says that data sharing is not allowed
No Matomo data leaves your instance without an explicit decision: a super user must check Allow sending Matomo data to the AI provider in Administration > System > ChatGPT, Privacy card. Other users are asked to contact a super user.
What do I need to make it work?
One of: an OpenAI API key (https://platform.openai.com/), an OpenAI-compatible endpoint served over HTTPS, or a provider connected in AI Providers. On a custom host, the API key is optional: without a key, no Authorization header is sent.
Which API key is used?
One key is enough. The plugin uses, in this order: the API key set for the website in Administration > Websites > ChatGPT, then the provider connected in Administration > System > AI Providers, then the API key of the general settings. Keys are never copied from one place to another.
When AI Providers is connected, it takes over: the host, API key and model of the general settings are displayed read-only, and are used again if AI Providers is deactivated. A key set for a website still overrides AI Providers for that website.
How do I remove a saved API key?
Use the Delete key button of the Connection card, on the general settings page or on the settings page of the website. Leaving the field empty keeps the saved key.
Can I use models other than OpenAI's?
Yes. Any OpenAI-compatible chat completions endpoint served over HTTPS works, such as Azure OpenAI or a self-hosted server. You can also connect any provider supported by AI Providers. Type the model name in the Model (Custom) field when it is not in the preset list.
Which models are in the preset list?
Reasoning models (o-series), *-pro and *-codex variants are not listed: they are tuned for one-shot analysis or code, not for a conversation about report data.
The chat says my model is not available
OpenAI retires old models, and some models are not available to every account. Choose another model in the settings, for example "Latest recommended". The chat links to the settings page you can change.
What is the agent mode?
When a provider is connected in AI Providers and the McpServer plugin is enabled, the chat and the insight panel work as an agent: they query your live reports, websites, goals, dimensions and segments through the Matomo tools to answer with real figures. A timeline shows each tool used.
To enable it, connect a provider in AI Providers, then install, activate and enable McpServer in Administration > System > General settings > McpServer. The chat recommends each missing step, with a direct link for super users.
Can the agent change things in Matomo?
Only if McpServer allows write methods (Raw Matomo API tool access), and only with your confirmation: before any create, update or delete, the agent describes the exact change and waits for your explicit confirmation in the conversation. This rule cannot be removed by a custom prompt. The agent never has more access than the current user.
Do I need to expose my Matomo instance or configure OAuth for the agent?
No. The agent calls the Matomo tools inside your Matomo, with the permissions of the logged in user. It also works on private and intranet instances.
Does the plugin work without the agent mode?
Yes. Without AI Providers or McpServer, the chat and the insights use the host, API key and model of the plugin settings. With AI Providers but without McpServer, the connected provider answers without tools.
What do insights analyse?
The whole report you are looking at, not only the visible rows: its rows, totals and metrics, with the active segment, period and comparisons. Insights work on data tables, evolution graphs, goals, custom reports and the other reports Matomo declares as widgets.
Can I customise the prompts?
Yes, in the Prompts card of the general settings or of a website. The Reset to default button restores the default prompts, and on a website, Use the general prompts makes it follow the general prompts again. Default prompts of previous versions are upgraded automatically, custom prompts are kept.
Is my data sent to OpenAI?
Insights send the data of the report you are looking at (labels, metrics, totals, period, segment and comparisons) and the conversation to the configured endpoint: OpenAI by default, your custom host, or the provider connected in AI Providers. In agent mode, the results of the tools the agent calls are sent too. Raw visitor data is never sent, unless the report itself contains it, such as the Visits Log. Conversations are not stored by the plugin.
Is there a usage limit?
Yes, 30 AI requests per hour, per user and per website, to protect your API budget.
Which languages are supported?
English, Arabic, Chinese (Simplified and Traditional), Dutch, French, German, Italian, Japanese, Polish, Portuguese, Spanish and Swedish.
What are the requirements?
How do I get support?
Email ronan@openmost.com, or open an issue on GitHub. More on https://openmost.com/matomo/extensions/chatgpt.
Version
6.2.0
License
Keywords
chat, chatgpt, GPT, ai, assistant, assistants, insight, insights
Last Updated
Oct 22nd 2026
Requirements
Matomo >=6.0.0-b1,<7.0.0-b1
PHP >=8.1.0
Matomo 4.x, Matomo 5.x, Matomo 6.x
Downloads
45411
Changelog
Authors
Websites
Activity
62 commits by 2 developers (last commit 9 days ago)
Developer
Support
View and download this plugin for a specific Matomo version: