Sample applications demonstrating how to use the Piwik PRO .NET SDK (PiwikPRO NuGet package) for analytics queries, server-side tracking, and JavaScript tracking code generation.
- .NET 8.0 SDK or later
- A Piwik PRO account with API access (Client ID, Client Secret, and Website ID). Get a Piwik PRO trial here
| Project | Description |
|---|---|
| Blazor Sample | Full-featured analytics dashboard PWA built with Blazor WebAssembly and MudBlazor. Demonstrates the Analytics Query API, Sessions API, Events API, and Real-Time Events API. |
| Console Sample | Console application showing SDK basics: queries, streaming, date ranges, server-side tracking, JavaScript code generation, goals, and custom dimensions. |
dotnet add package PiwikPROThis meta-package includes both PiwikPRO.Analytics and PiwikPRO.Tracking.
using PiwikPRO.Analytics.Extensions;
using PiwikPRO.Tracking.Extensions;
// Analytics (queries, sessions, goals, events)
services.AddPiwikProAnalytics(options =>
{
options.BaseUrl = "https://your-instance.piwik.pro";
options.ClientId = "your-client-id";
options.ClientSecret = "your-client-secret";
options.WebSiteId = "your-website-id";
});
// Tracking (server-side page views, events, goals, downloads)
services.AddPiwikProTracking();# Blazor dashboard
dotnet run --project samples/PiwikPROSamples.BlazorSample.Server
# Console examples
dotnet run --project samples/PiwikPROSamples.ConsoleSampleImportant: For the Blazor sample, always start the
BlazorSample.Serverproject (set it as startup project in Visual Studio). The Server hosts the Blazor WebAssembly client and provides a YARP reverse proxy that forwards API calls to Piwik PRO — without it, browser CORS restrictions will block all API requests.
- Analytics Query API - Fluent query builder, dimensions, metrics, filtering, streaming
- Sessions API - Raw session data with configurable columns and filters
- Goals API - Goal management, conversions, and funnel analysis
- Tracking API - Server-side tracking, JavaScript code generation, Tag Manager integration
# Build all samples
dotnet build PiwikPROSamples.slnx
# Build individual projects
dotnet build samples/PiwikPROSamples.BlazorSample.Server
dotnet build samples/PiwikPROSamples.ConsoleSample- Log into your Piwik PRO account
- Go to Menu > Profile > API Keys or Settings > API
- Create a new API client (or use an existing one)
- Copy the Client ID and Client Secret
- Find your Website ID in Administration > Sites & Apps
See the LICENSE file for details.