Matomo Form Analytics API
Exposes the Form Analytics API for managing tracked forms and retrieving form performance reports. Use these endpoints to create, update, archive, and delete configured forms, inspect form metadata, and query aggregated reports about form usage, field interactions, conversions, and real-time activity.
Operations 26
Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay
GET
/index.php?module=API&method=FormAnalytics.addForm
Start tracking a new form · Form analytics add form
#
Ask an LLM
“How do I set up a new form to track in Matomo Form Analytics?”
“Can a tracked form count as converted when a goal is reached?”
Tell an agent
Add a form named {name} to site {idSite}.
Create form {name} on site {idSite} linked to goal {idGoal}.
GET
/index.php?module=API&method=FormAnalytics.updateForm
Edit a tracked form's settings · Form analytics update form
#
Ask an LLM
“Can I rename a form I'm already tracking or change its matching rules?”
“How do I change which goal an existing tracked form converts on?”
Tell an agent
Rename form {idForm} on site {idSite} to {name}.
Update existing form {idForm} on site {idSite}, keeping name {name}, with new page rules {matchPageRules}.
GET
/index.php?module=API&method=FormAnalytics.getForm
Get one tracked form's configuration · Form analytics get form
#
Ask an LLM
“What rules and settings does a specific tracked form have?”
“Can I look up a single form by its ID?”
Tell an agent
Get the configuration of form {idForm} on site {idSite}.
Show me the settings for tracked form {idForm} (site {idSite}).
GET
/index.php?module=API&method=FormAnalytics.getForms
List all tracked forms on a site · Form analytics get forms
#
Ask an LLM
“Which forms are being tracked on my website?”
“Can I list every form configured for an app or site?”
Tell an agent
List all tracked forms for site {idSite}.
Show every form configured on site {idSite}, regardless of status.
GET
/index.php?module=API&method=FormAnalytics.getFormsByStatuses
List tracked forms by status · Form analytics get forms by statuses
#
Ask an LLM
“Can I see only the archived forms, or only the running ones?”
“How do I filter my tracked forms by status?”
Tell an agent
List forms on site {idSite} with status {statuses}.
Show only the {statuses} forms for site {idSite}.
GET
/index.php?module=API&method=FormAnalytics.deleteForm
Delete a tracked form · Form analytics delete form
#
Ask an LLM
“How do I delete a form I no longer want to track?”
“Can a tracked form be removed entirely rather than archived?”
Tell an agent destructive · confirm first
Delete form {idForm} from site {idSite}.
Permanently remove tracked form {idForm} on site {idSite}.
GET
/index.php?module=API&method=FormAnalytics.archiveForm
Archive a tracked form · Form analytics archive form
#
Ask an LLM
“Can I archive a form to stop tracking it without deleting it?”
“What's the way to retire an old form but keep it around?”
Tell an agent
Archive form {idForm} on site {idSite}.
Move form {idForm} for site {idSite} to archived status.
GET
/index.php?module=API&method=FormAnalytics.get
Get the form overview report · Form analytics get
#
Ask an LLM
“How are my forms performing overall in terms of starts, submissions and conversions?”
“Can I get the overview metrics for one form for last month?”
Tell an agent
Get the form overview report for site {idSite} for {period} {date}.
Show overview metrics for form {idForm} on site {idSite}, {period} {date}.
GET
/index.php?module=API&method=FormAnalytics.getSummary
Compare all forms side by side for a period · Form analytics get summary
#
Ask an LLM
“Which of my forms converts best this week?”
“Can I get one row of metrics per form for a period?”
Tell an agent
Get the per-form summary for site {idSite}, {period} {date}.
Compare every form on site {idSite} for {period} {date} in one table.
GET
/index.php?module=API&method=FormAnalytics.getEntryFields
See which fields users start a form with · Form analytics get entry fields
#
Ask an LLM
“Which field do visitors usually interact with first on my form?”
“Do people start my form at the top field or somewhere else?”
Tell an agent
Get the entry fields report for form {idForm} on site {idSite}, {period} {date}.
Show which fields people begin form {idForm} with (site {idSite}, {period} {date}).
GET
/index.php?module=API&method=FormAnalytics.getDropOffFields
Find the fields where users abandon a form · Form analytics get drop off fields
#
Ask an LLM
“At which field do visitors give up on my form?”
“What's causing people to abandon my signup form?”
Tell an agent
Get the drop-off fields for form {idForm} on site {idSite}, {period} {date}.
Show where visitors abandoned form {idForm} on site {idSite} during {period} {date}.
GET
/index.php?module=API&method=FormAnalytics.getPageUrls
Compare a form's performance per page · Form analytics get page urls
#
Ask an LLM
“My form is embedded on several pages, which page converts it best?”
“Can I break a form's metrics down by the page URL it appeared on?”
Tell an agent
Break down form {idForm} metrics by page URL for site {idSite}, {period} {date}.
Show how form {idForm} performs on each page it's embedded on (site {idSite}, {period} {date}).
GET
/index.php?module=API&method=FormAnalytics.getFieldTimings
See how long users spend on each field · Form analytics get field timings
#
Ask an LLM
“Which form fields take visitors the longest to fill in?”
“How long do people hesitate before typing into a field?”
Tell an agent
Get field timings for form {idForm} on site {idSite}, {period} {date}.
Show time spent and hesitation per field of form {idForm} (site {idSite}, {period} {date}).
GET
/index.php?module=API&method=FormAnalytics.getFieldSize
See how much users type into text fields · Form analytics get field size
#
Ask an LLM
“How many characters do visitors typically type into my text fields?”
“Is my comment box being used for long answers or short ones?”
Tell an agent
Get the field size report for form {idForm} on site {idSite}, {period} {date}.
Show average typed characters per text field in form {idForm} (site {idSite}, {period} {date}).
GET
/index.php?module=API&method=FormAnalytics.getUneededFields
Find fields users leave blank · Form analytics get uneeded fields
#
Ask an LLM
“Which fields do people usually leave empty when they submit my form?”
“Are there form fields I could probably remove?”
Tell an agent
Get the unneeded fields report for form {idForm} on site {idSite}, {period} {date}.
Show fields left blank on submission of form {idForm} (site {idSite}, {period} {date}).
GET
/index.php?module=API&method=FormAnalytics.getMostUsedFields
See which form fields get the most interaction · Form analytics get most used fields
#
Ask an LLM
“Which fields on my form are interacted with and changed most often?”
“What are the busiest fields in a form?”
Tell an agent
Get the most used fields of form {idForm} on site {idSite}, {period} {date}.
Rank fields of form {idForm} by interactions (site {idSite}, {period} {date}).
GET
/index.php?module=API&method=FormAnalytics.getFieldCorrections
See which fields users correct most · Form analytics get field corrections
#
Ask an LLM
“Which fields make visitors hit backspace or refocus the most?”
“Where are people making mistakes and fixing them in my form?”
Tell an agent
Get the field corrections report for form {idForm} on site {idSite}, {period} {date}.
Show the most corrected fields in form {idForm} (site {idSite}, {period} {date}).
GET
/index.php?module=API&method=FormAnalytics.updateFormFieldDisplayName
Set friendly display names for form fields · Form analytics update form field display name
#
Ask an LLM
“Can I give my form fields readable labels instead of their raw HTML names?”
“How do I rename how a field shows up in form reports?”
Tell an agent
Set field display names {fields} for form {idForm} on site {idSite}.
Label the fields of form {idForm} on site {idSite} with friendly names.
GET
/index.php?module=API&method=FormAnalytics.getCounters
Get real-time form counters · Form analytics get counters
#
Ask an LLM
“How are my forms doing in the last 30 minutes?”
“Can I see live form activity counts for a site right now?”
Tell an agent
Get form counters for site {idSite} over the last {lastMinutes} minutes.
Show real-time form starts and submissions on site {idSite} for the past {lastMinutes} minutes.
GET
/index.php?module=API&method=FormAnalytics.getCurrentMostPopularForms
See the most popular forms right now · Form analytics get current most popular forms
#
Ask an LLM
“Which forms are getting the most use right this moment?”
“Can I see the top few forms by activity over the last hour?”
Tell an agent
List the most popular forms on site {idSite} over the last {lastMinutes} minutes.
Show the top {filter_limit} forms by live activity on site {idSite} in the past {lastMinutes} minutes.
GET
/index.php?module=API&method=FormAnalytics.getAutoCreationSettings
Check form auto-creation settings · Form analytics get auto creation settings
#
Ask an LLM
“Are forms created automatically when they're detected on my site?”
“What are the auto-creation settings for forms on a site?”
Tell an agent
Get the form auto-creation settings for site {idSite}.
Tell me whether site {idSite} auto-creates forms.
GET
/index.php?module=API&method=FormAnalytics.getAvailableStatuses
List valid form statuses · Form analytics get available statuses
#
Ask an LLM
“What statuses can a tracked form have?”
“Which status values can I filter forms by?”
Tell an agent
List the valid form statuses.
Show me every status a tracked form can be in.
GET
/index.php?module=API&method=FormAnalytics.getAllGoals
List a site's goals for form conversion · Form analytics get all goals
#
Ask an LLM
“Which goals could I link a form's conversion to?”
“What goals are configured on this site?”
Tell an agent
List all goals configured for site {idSite}.
Show the goals on site {idSite} I can use as form conversions.
GET
/index.php?module=API&method=FormAnalytics.getAvailableFormRules
List form-matching rule patterns · Form analytics get available form rules
#
Ask an LLM
“What patterns can I use to identify which HTML form to track?”
“Can a form be matched by its ID or name attribute?”
Tell an agent
List the available form matching rule patterns.
Show the rule types for identifying a form element.
GET
/index.php?module=API&method=FormAnalytics.getAvailablePageRules
List page rule patterns for forms · Form analytics get available page rules
#
Ask an LLM
“What page URL patterns can restrict where a form is tracked?”
“Which rule patterns are available for a form's conversion page?”
Tell an agent
List the available page rule patterns for configuring a form.
Show the URL-matching patterns I can use in form page rules.
GET
/index.php?module=API&method=FormAnalytics.getAvailableConversionRuleOptions
List form conversion rule options · Form analytics get available conversion rule options
#
Ask an LLM
“What options are there for deciding when a form counts as converted?”
“Can a form conversion be based on a goal instead of a submit?”
Tell an agent
List the available form conversion rule options.
Show the choices for how form conversions are counted.
Documentation
📖
Documentation
https://developer.matomo.org/api-reference/reporting-api
📖
Documentation
https://developer.matomo.org/api-reference/reporting-api#Live
📖
Documentation
https://developer.matomo.org/api-reference/reporting-api#Goals
📖
Documentation
https://developer.matomo.org/api-reference/reporting-api-segmentation