GoogleAnalytics.Blazor 1.0.3

.NET 7.0
dotnet add package GoogleAnalytics.Blazor --version 1.0.3
NuGet\Install-Package GoogleAnalytics.Blazor -Version 1.0.3
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="GoogleAnalytics.Blazor" Version="1.0.3" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add GoogleAnalytics.Blazor --version 1.0.3
#r "nuget: GoogleAnalytics.Blazor, 1.0.3"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install GoogleAnalytics.Blazor as a Cake Addin
#addin nuget:?package=GoogleAnalytics.Blazor&version=1.0.3

// Install GoogleAnalytics.Blazor as a Cake Tool
#tool nuget:?package=GoogleAnalytics.Blazor&version=1.0.3

GoogleAnalytics.Blazor

Blazor extensions for Google Analytics

Forked from Blazor-Analytics, itself MIT License, Copyright (c) 2019 Ivan Sanz Carasa.

Developed by Material-Blazor.


NuGet version NuGet version NuGet downloads


License: MIT GitHub issues GitHub forks GitHub stars GitHub stars

GithubActionsRelease GithubActionsWIP

Configuration

All Projects

First, import the namespaces in _Imports.razor

+@using GoogleAnalytics.Blazor

Then, add the GBAnchor component to the end of App.razor.

+   <GBAnchor />

ServerSide Specific Configuration

Edit _Layout.cshtml:

    <script src="_framework/blazor.server.js"></script>
+   <script src="_content/GoogleAnalytics.Blazor/googleanalytics.blazor.js"></script>

WebAssembly Specific Configuration

Edit index.html and apply the following change:

    <script src="_framework/blazor.webassembly.js"></script>
+   <script src="_content/GoogleAnalytics.Blazor/googleanalytics.blazor.js"></script>

Setting up GoogleAnalytics

Inside Program.cs, call AddGBService. This will configure [YOUR_GTAG_ID] automatically. You can elect to omit the tag id and call SetTargetId from the service injected into a component or service at a later stage; this is helpful if for instance you need to run a back end query in order to determine the tag.

+   builder.Services.AddGBService("[YOUR_GTAG_ID]");

You may wish to set additional config info and/or globally applicable event params (i.e. applied to every call to TrackEvent):

+   builder.Services.AddGBService(
+       "[YOUR_GTAG_ID]",
+       additionalConfigInfo: new Dictionary<string, object>()
+       {
+           { "user_id", "[YOUR_USER_ID]" }
+       },
+       globalEventParams: new Dictionary<string, object>()
+       {
+           { "user_id", "YOUR_USER_ID" }
+       });

You can set all three of these items using IGBAnalyticsManager.SetTrackingId(), IGBAnalyticsManager.SetAdditionalConfigInfo() and IGBAnalyticsManager.SetGlobalEventParams() respectively, after having injected the IGBAnalyticsManager service into a component or another service (either scoped or transient).

How to trigger an Analytics Event

  1. Inject IGBAnalyticsManager wherever you want to trigger the event.
  2. Call IGBAnalyticsManager.TrackEvent passing the EventName and EventData (an object containing the event data).

Or

Call IGBAnalyticsManager.TrackEvent passing the EventName, Value and Category (optional).

@using GoogleAnalytics.Blazor

@inject IGBAnalyticsManager AnalyticsManager

AnalyticsManager.TrackEvent("generate_lead", new {currency = "USD", value = 99.99});

How to disable tracking on any page

  1. Inject IGBAnalyticsManager into a blazor component.
@using GoogleAnalytics.Blazor

@inject IGBAnalyticsManager AnalyticsManager
  1. Suppress tracking for just the current page.
protected override void OnInitialized()
{
    AnalyticsManager.SuppressNextPageHitTracking();
}
  1. Disable page tracking for the whole application.
protected override void OnInitialized()
{
    AnalyticsManager.DisableGlobalTracking();
}
  1. Re-enable page tracking for the whole application.
protected override void OnInitialized()
{
    AnalyticsManager.EnableGlobalTracking();
}
Product Versions
.NET net7.0 net7.0-android net7.0-ios net7.0-maccatalyst net7.0-macos net7.0-tvos net7.0-windows
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.3 104 1/22/2023
1.0.2 1,780 9/15/2022
1.0.1 221 9/15/2022
1.0.0 295 9/2/2022
1.0.0-preview.5 113 8/30/2022
1.0.0-preview.4 45 8/30/2022
1.0.0-preview.3 1,068 6/25/2022
1.0.0-preview.2 65 6/24/2022
1.0.0-preview.1 66 6/23/2022