diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index ac76ed5..3a60c51 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -44,8 +44,9 @@ jobs: fail-fast: false matrix: umbraco-version: - - 17.4.0 - - 18.0.0 + - 17.1.0 + - 17.* + - 18.* steps: - name: Check out repository uses: actions/checkout@v7 @@ -56,7 +57,41 @@ jobs: dotnet-version: 10.0.x - name: Test package - run: dotnet test tests/TheBuilder.WebAnalytics.Tests/TheBuilder.WebAnalytics.Tests.csproj -p:UmbracoVersion=${{ matrix.umbraco-version }} + run: dotnet test tests/TheBuilder.WebAnalytics.Tests/TheBuilder.WebAnalytics.Tests.csproj '-p:UmbracoVersion=${{ matrix.umbraco-version }}' - name: Build example - run: dotnet build samples/TheBuilder.WebAnalytics.Example/TheBuilder.WebAnalytics.Example.csproj -p:UmbracoVersion=${{ matrix.umbraco-version }} + run: dotnet build samples/TheBuilder.WebAnalytics.Example/TheBuilder.WebAnalytics.Example.csproj '-p:UmbracoVersion=${{ matrix.umbraco-version }}' + + package: + name: Package + runs-on: ubuntu-latest + steps: + - name: Check out repository + uses: actions/checkout@v7 + + - name: Set up .NET + uses: actions/setup-dotnet@v5 + with: + dotnet-version: 10.0.x + + - name: Set up Node.js + uses: actions/setup-node@v6 + with: + node-version: 24 + + - name: Enable Corepack + run: corepack enable + + - name: Install backoffice dependencies + working-directory: src/TheBuilder.WebAnalytics/Client + run: corepack pnpm install --frozen-lockfile + + - name: Pack NuGet package + run: >- + dotnet pack src/TheBuilder.WebAnalytics/TheBuilder.WebAnalytics.csproj + --configuration Release + --output artifacts + -p:ContinuousIntegrationBuild=true + + - name: Validate NuGet archive + run: unzip -t artifacts/*.nupkg diff --git a/README.md b/README.md index ebbe874..3e3bd2a 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,26 @@ # Web Analytics -`TheBuilder.WebAnalytics` displays [Vercel Web Analytics](https://vercel.com/docs/analytics) in the Umbraco backoffice. +[![NuGet version](https://img.shields.io/nuget/v/TheBuilder.WebAnalytics)](https://www.nuget.org/packages/TheBuilder.WebAnalytics) +[![NuGet downloads](https://img.shields.io/nuget/dt/TheBuilder.WebAnalytics)](https://www.nuget.org/packages/TheBuilder.WebAnalytics) +[![License](https://img.shields.io/github/license/thebuilder/web-analytics)](https://github.com/thebuilder/web-analytics/blob/main/LICENSE) + +Web Analytics brings [Vercel Web Analytics](https://vercel.com/docs/analytics) into Umbraco, giving editors site-wide and page-level insights without leaving the backoffice. ![Web Analytics overview in the Umbraco backoffice](https://raw.githubusercontent.com/thebuilder/web-analytics/refs/heads/main/docs/screenshots/analytics-overview.png) -It provides: +## What you get -- A global **Analytics** section for traffic, audience, referrers, pages, routes, UTM data, and custom events. -- An **Analytics** workspace view on configured, published documents, filtered to the document's route. +- A dedicated **Analytics** section for visitors, page views, traffic trends, audience, referrers, pages, routes, campaigns, custom events, and feature flags. +- Page-level analytics on configured, published documents, automatically filtered to the document's route. +- Date comparisons and drill-down views that turn site-wide trends into useful content context. - Multiple Vercel project connections for multi-site Umbraco installations. -- Server-side Vercel API access so the access token is never sent to the browser. +- Server-side Vercel API access, keeping access tokens out of the browser and Umbraco content. -The package reads analytics already collected by Vercel. It does not add Vercel tracking to the public website. +The package reads analytics already collected by Vercel. It does not add or replace the tracking on your website. ## Requirements -- Umbraco CMS 17.1 or later. +- Umbraco CMS 17.1–18.x. - A Vercel project with [Web Analytics enabled and installed](https://vercel.com/docs/analytics/quickstart). - A [Vercel access token](https://vercel.com/kb/guide/how-do-i-use-a-vercel-api-access-token) scoped to the personal account or team that owns the project. - The Vercel project ID (`prj_...`). diff --git a/samples/TheBuilder.WebAnalytics.Example/TheBuilder.WebAnalytics.Example.csproj b/samples/TheBuilder.WebAnalytics.Example/TheBuilder.WebAnalytics.Example.csproj index bde1b33..5fdca1b 100644 --- a/samples/TheBuilder.WebAnalytics.Example/TheBuilder.WebAnalytics.Example.csproj +++ b/samples/TheBuilder.WebAnalytics.Example/TheBuilder.WebAnalytics.Example.csproj @@ -5,7 +5,7 @@ enable false 17.4.0 - $(DefineConstants);UMBRACO_18_OR_LATER + $(DefineConstants);UMBRACO_18_OR_LATER diff --git a/src/TheBuilder.WebAnalytics/TheBuilder.WebAnalytics.csproj b/src/TheBuilder.WebAnalytics/TheBuilder.WebAnalytics.csproj index 9144376..3b7a3f7 100644 --- a/src/TheBuilder.WebAnalytics/TheBuilder.WebAnalytics.csproj +++ b/src/TheBuilder.WebAnalytics/TheBuilder.WebAnalytics.csproj @@ -4,7 +4,7 @@ enable enable / - [17.4.0,19.0.0) + [17.1.0,19.0.0) diff --git a/umbraco-marketplace-readme.md b/umbraco-marketplace-readme.md index 1bac30d..1d61e19 100644 --- a/umbraco-marketplace-readme.md +++ b/umbraco-marketplace-readme.md @@ -1,32 +1,14 @@ -# Web Analytics - -> [Vercel Web Analytics](https://vercel.com/docs/analytics) inside the Umbraco backoffice. - -**Web Analytics brings Vercel Web Analytics into the Umbraco backoffice.** View traffic, audience, referrers, pages, campaigns, and custom events without leaving Umbraco. - ![Web Analytics overview in the Umbraco backoffice](https://raw.githubusercontent.com/thebuilder/web-analytics/refs/heads/main/docs/screenshots/analytics-overview.png) -## Features - -- Analytics section with totals, traffic history, audience, referrers, pages, routes, campaigns, and custom events. -- Page-level analytics in the document workspace, automatically filtered to the published route. -- Clear date controls and drill-down views that follow familiar Umbraco backoffice patterns. - -## Built for real Umbraco installations - -- Map multiple Umbraco sites to different Vercel projects. -- Choose which document types expose page-level analytics. -- Control global Analytics access through Umbraco user groups and preserve normal document permissions. -- Store Vercel access tokens in server-side configuration. Tokens are never sent to the browser or stored in Umbraco. - -The package reads analytics already collected by Vercel. **It does not add tracking scripts to your website.** +Web Analytics brings [**Vercel Web Analytics**](https://vercel.com/docs/analytics) into the Umbraco backoffice, giving editors useful traffic and content insights without sending them to another tool. -## Requirements +## Key features -- Umbraco CMS 17.1–18.x -- A Vercel project with Web Analytics enabled -- A Vercel access token +- **Site-wide analytics:** Follow visitors, page views, traffic trends, audience, referrers, campaigns, custom events, and feature flags. +- **Page-level insight:** Open analytics on a published document to see data automatically filtered to that page's route. +- **Useful comparisons:** Compare date ranges and drill into the audience, content, and activity behind the headline numbers. +- **Multi-site support:** Connect multiple Umbraco sites to their Vercel projects and bring them together in one Analytics section. -Installation, configuration, permissions, and troubleshooting are covered in the [documentation](https://github.com/thebuilder/web-analytics#readme). +Web Analytics fits into the Umbraco permissions and editorial workflows teams already know, making analytics available where content decisions happen. -Web Analytics is open source under the MIT License. Bugs and feature requests are welcome on [GitHub](https://github.com/thebuilder/web-analytics/issues). +Ready to bring your analytics into the backoffice? See the [installation and configuration guide](https://github.com/thebuilder/web-analytics#readme). diff --git a/umbraco-marketplace.json b/umbraco-marketplace.json index 64f4db5..41a81e8 100644 --- a/umbraco-marketplace.json +++ b/umbraco-marketplace.json @@ -9,7 +9,7 @@ }, "Category": "Analytics & Insights", "Title": "Web Analytics", - "Description": "View Vercel Web Analytics inside the Umbraco backoffice. Explore traffic, visitors, referrers, pages, routes, campaigns, UTM parameters, and custom events, with route-filtered analytics available directly on published documents.", + "Description": "Vercel Web Analytics inside the Umbraco backoffice.", "DocumentationUrl": "https://github.com/thebuilder/web-analytics#readme", "IssueTrackerUrl": "https://github.com/thebuilder/web-analytics/issues", "LicenseTypes": [