Matomo Api
by enuno
Matomo (Piwik) analytics platform API. Use for web analytics, tracking implementation, reporting API integration, plugin development, PHP/JavaScript tracking clients, and database schema understanding.
Skill Details
Repository Files
6 files in this skill directory
name: matomo-api description: Matomo (Piwik) analytics platform API. Use for web analytics, tracking implementation, reporting API integration, plugin development, PHP/JavaScript tracking clients, and database schema understanding.
Matomo API Skill
Comprehensive API reference for Matomo (formerly Piwik), the open-source web analytics platform. Covers tracking APIs, reporting APIs, JavaScript/PHP clients, and database schema.
When to Use This Skill
This skill should be triggered when:
- Implementing Matomo tracking on websites or applications
- Building integrations with Matomo's Reporting API
- Querying analytics data programmatically
- Setting up event tracking, goal conversions, or ecommerce tracking
- Working with Matomo's JavaScript or PHP tracking clients
- Understanding Matomo's database structure for custom queries
- Implementing consent management and privacy controls
- Debugging Matomo tracking issues
Quick Reference
Tracking HTTP API Endpoint
https://your-matomo-domain.example/matomo.php
Required Parameters:
idsite- Website ID being trackedrec=1- Required to enable tracking
Common Parameters:
action_name- Page title for pageviewsurl- Full URL of the current action_id- 16-character hexadecimal visitor IDrand- Random value to prevent cachingapiv=1- API version
Event Tracking Parameters
e_c- Event categorye_a- Event actione_n- Event namee_v- Event value (numeric)
Goal Conversion
idgoal- Goal ID to trigger conversionrevenue- Monetary value for conversion
Ecommerce Parameters
ec_id- Order IDec_items- JSON array of itemsrevenue- Total order valueec_st- Subtotalec_tx- Taxec_sh- Shippingec_dt- Discount
Reporting API Endpoint
https://your-matomo-domain.example/index.php?module=API&method=MODULE.METHOD&format=FORMAT
Standard Parameters:
| Parameter | Values | Purpose |
|---|---|---|
idSite |
Integer or comma-separated | Website ID(s) |
period |
day, week, month, year, range | Time period |
date |
YYYY-MM-DD or magic keywords | Specific date |
format |
xml, json, csv, tsv, html, rss | Output format |
token_auth |
Your API token | Authentication |
Date Magic Keywords:
today,yesterdaylastWeek,lastMonth,lastYearlastX(e.g.,last7)previousX(e.g.,previous30)
JavaScript Tracking
// Page view
_paq.push(['trackPageView', 'Custom Page Title']);
// Event
_paq.push(['trackEvent', 'Category', 'Action', 'Name', Value]);
// Goal conversion
_paq.push(['trackGoal', goalId, customRevenue]);
// Site search
_paq.push(['trackSiteSearch', 'keyword', 'category', resultsCount]);
// Ecommerce order
_paq.push(['trackEcommerceOrder', orderId, grandTotal, subTotal, tax, shipping, discount]);
PHP Tracking
use MatomoTracker;
$tracker = new MatomoTracker($idSite, 'https://matomo.example.com/');
$tracker->setTokenAuth($token);
$tracker->setUserId($userId);
$tracker->doTrackPageView('Page Title');
$tracker->doTrackEvent('Category', 'Action', 'Name', $value);
$tracker->doTrackGoal($idGoal, $revenue);
Consent Management (JavaScript)
// Require consent before tracking
_paq.push(['requireConsent']);
// When user gives consent
_paq.push(['setConsentGiven']);
// Cookie-specific consent
_paq.push(['requireCookieConsent']);
_paq.push(['rememberCookieConsentGiven', hoursToExpire]);
// Opt-out
_paq.push(['optUserOut']);
Reference Files
This skill includes comprehensive documentation in references/:
- tracking-http-api.md - HTTP Tracking API specification
- reporting-api.md - Reporting API methods and parameters
- javascript-client.md - JavaScript Tracking Client reference
- php-client.md - PHP Tracking Client reference
- database-schema.md - Database tables and relationships
Common Patterns
Bulk Tracking (HTTP)
POST https://matomo.example.com/matomo.php
{
"requests": [
"?idsite=1&rec=1&url=https://example.org/page1",
"?idsite=1&rec=1&url=https://example.org/page2"
],
"token_auth": "your_token_here"
}
Bulk API Requests (Reporting)
?module=API&method=API.getBulkRequest
&urls[0]=method%3DVisitsSummary.get%26idSite%3D1%26period%3Dday%26date%3Dtoday
&urls[1]=method%3DActions.getPageUrls%26idSite%3D1%26period%3Dday%26date%3Dtoday
Segmentation
# Visits from mobile devices in United States
&segment=deviceType==smartphone;countryCode==us
# Visits with specific event
&segment=eventCategory==Video;eventAction==Play
PHP Bulk Tracking
$tracker->enableBulkTracking();
$tracker->doTrackPageView('Page 1');
$tracker->doTrackPageView('Page 2');
$tracker->doTrackEvent('Category', 'Action');
$tracker->doBulkTrack(); // Send all at once
Key API Modules
Visitor Analytics
VisitsSummary- Overall visit metricsUserCountry- Geographic dataDevicesDetection- Device and browser infoUserLanguage- Language preferences
Actions & Content
Actions- Pages, downloads, outlinksEvents- Custom event trackingContents- Content impression tracking
Conversions
Goals- Goal conversions and revenueEcommerce- Ecommerce transactions
Traffic Sources
Referrers- Traffic source analysisMarketingCampaignsReporting- Campaign tracking
Real-time
Live- Real-time visitor dataLive.getLastVisitsDetails- Recent visitor details
Core Metrics
| Metric | Description |
|---|---|
nb_uniq_visitors |
Unique visitors |
nb_visits |
Total visits (30-min session) |
nb_actions |
Page views, downloads, outlinks |
bounce_rate |
Single-page visit percentage |
avg_time_on_page |
Average page duration |
revenue |
Goal/ecommerce revenue |
conversion_rate |
Goal achievement ratio |
Database Tables
Log Data (Raw)
log_visit- Individual visitslog_link_visit_action- Actions within visitslog_action- Action definitions (URLs, titles)log_conversion- Goal conversionslog_conversion_item- Ecommerce items
Archive Data (Aggregated)
archive_numeric_YYYY_MM- Numeric metricsarchive_blob_YYYY_MM- Report data (compressed)
Configuration
site- Website configurationgoal- Goal definitionssegment- Saved segmentsuser- User accountsaccess- User permissions
Authentication
Token Authentication
&token_auth=YOUR_TOKEN_HERE
- Create tokens in: Administration > Personal > Security > Auth tokens
- Never share URLs containing tokens publicly
- Use POST requests with token in body for enhanced security
Features Requiring Auth
- IP address override (
cip) - Custom timestamp (
cdt) - Geolocation override (
country,region,city,lat,long)
Performance Tips
- Use Bulk Tracking - Batch multiple tracking calls
- Cache API Responses - Set appropriate cache headers
- Use Segments Sparingly - Complex segments impact performance
- Archive Data - Query archive tables for historical reports
- Limit Results - Use
filter_limitto restrict row counts
Resources
- Official API Documentation
- Tracking HTTP API
- Reporting API
- JavaScript Client
- PHP Client
- Database Schema
Notes
- Matomo was formerly known as Piwik
- API supports both Matomo 4.x and 5.x versions
- Session timeout default is 30 minutes
- Visitor ID is 16-character hexadecimal
- All tracking requests should include
rec=1parameter
Related Skills
Xlsx
Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis, and visualization. When Claude needs to work with spreadsheets (.xlsx, .xlsm, .csv, .tsv, etc) for: (1) Creating new spreadsheets with formulas and formatting, (2) Reading or analyzing data, (3) Modify existing spreadsheets while preserving formulas, (4) Data analysis and visualization in spreadsheets, or (5) Recalculating formulas
Clickhouse Io
ClickHouse database patterns, query optimization, analytics, and data engineering best practices for high-performance analytical workloads.
Clickhouse Io
ClickHouse database patterns, query optimization, analytics, and data engineering best practices for high-performance analytical workloads.
Analyzing Financial Statements
This skill calculates key financial ratios and metrics from financial statement data for investment analysis
Data Storytelling
Transform data into compelling narratives using visualization, context, and persuasive structure. Use when presenting analytics to stakeholders, creating data reports, or building executive presentations.
Kpi Dashboard Design
Design effective KPI dashboards with metrics selection, visualization best practices, and real-time monitoring patterns. Use when building business dashboards, selecting metrics, or designing data visualization layouts.
Dbt Transformation Patterns
Master dbt (data build tool) for analytics engineering with model organization, testing, documentation, and incremental strategies. Use when building data transformations, creating data models, or implementing analytics engineering best practices.
Sql Optimization Patterns
Master SQL query optimization, indexing strategies, and EXPLAIN analysis to dramatically improve database performance and eliminate slow queries. Use when debugging slow queries, designing database schemas, or optimizing application performance.
Clinical Decision Support
Generate professional clinical decision support (CDS) documents for pharmaceutical and clinical research settings, including patient cohort analyses (biomarker-stratified with outcomes) and treatment recommendation reports (evidence-based guidelines with decision algorithms). Supports GRADE evidence grading, statistical analysis (hazard ratios, survival curves, waterfall plots), biomarker integration, and regulatory compliance. Outputs publication-ready LaTeX/PDF format optimized for drug develo
Anndata
This skill should be used when working with annotated data matrices in Python, particularly for single-cell genomics analysis, managing experimental measurements with metadata, or handling large-scale biological datasets. Use when tasks involve AnnData objects, h5ad files, single-cell RNA-seq data, or integration with scanpy/scverse tools.
