GoogleAnalytics.Blazor 1.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package GoogleAnalytics.Blazor --version 1.0.0
NuGet\Install-Package GoogleAnalytics.Blazor -Version 1.0.0
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.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add GoogleAnalytics.Blazor --version 1.0.0
#r "nuget: GoogleAnalytics.Blazor, 1.0.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. 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.0

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

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

GithubActionsMainPublish GithubActionsDevelop

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 Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
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 7,686 1/22/2023
1.0.2 2,371 9/15/2022
1.0.1 403 9/15/2022
1.0.0 457 9/2/2022
1.0.0-preview.5 147 8/30/2022
1.0.0-preview.4 79 8/30/2022
1.0.0-preview.3 1,125 6/25/2022
1.0.0-preview.2 106 6/24/2022
1.0.0-preview.1 104 6/23/2022