https://github.com/soenneker/soenneker.blazor.google.analytics
A Blazor interop library for Google Analytics
https://github.com/soenneker/soenneker.blazor.google.analytics
analytics blazor csharp dotnet google googleanalyticsinterop interop
Last synced: about 2 months ago
JSON representation
A Blazor interop library for Google Analytics
- Host: GitHub
- URL: https://github.com/soenneker/soenneker.blazor.google.analytics
- Owner: soenneker
- License: mit
- Created: 2024-07-06T17:31:18.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2026-04-08T13:28:55.000Z (2 months ago)
- Last Synced: 2026-04-08T14:37:31.393Z (2 months ago)
- Topics: analytics, blazor, csharp, dotnet, google, googleanalyticsinterop, interop
- Language: C#
- Homepage: https://soenneker.com
- Size: 1.36 MB
- Stars: 6
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Security: .github/SECURITY.md
Awesome Lists containing this project
README
[](https://www.nuget.org/packages/soenneker.blazor.google.analytics/)
[](https://github.com/soenneker/soenneker.blazor.google.analytics/actions/workflows/publish-package.yml)
[](https://www.nuget.org/packages/soenneker.blazor.google.analytics/)
[](https://github.com/soenneker/soenneker.blazor.google.analytics/actions/workflows/codeql.yml)
#  Soenneker.Blazor.Google.Analytics
### A Blazor interop library for Google Analytics
## Installation
```
dotnet add package Soenneker.Blazor.Google.Analytics
```
## Usage
1. Register the interop within DI (`Program.cs`)
```csharp
public static async Task Main(string[] args)
{
...
builder.Services.AddGoogleAnalyticsInteropAsScoped();
}
```
2. Inject `IGoogleAnalyticsInterop` within your `App.Razor` file
```csharp
@using Soenneker.Blazor.Google.Analytics.Abstract
@inject IGoogleAnalyticsInterop GoogleAnalyticsInterop
```
3. Call the interop from `OnAfterRenderAsync` in `App.razor`.
```csharp
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (!firstRender)
return;
await GoogleAnalyticsInterop.Init("your-key-here");
}
```