Forked from Blazor-Analytics, itself MIT License, Copyright (c) 2019 Ivan Sanz Carasa.
Developed by Material-Blazor.
First, import the namespaces in _Imports.razor
+@using GoogleAnalytics.BlazorThen, add the GBAnchor component to the end of App.razor.
+ <GBAnchor />Edit _Layout.cshtml:
<script src="_framework/blazor.server.js"></script>
+ <script src="_content/GoogleAnalytics.Blazor/googleanalytics.blazor.js"></script>Edit index.html and apply the following change:
<script src="_framework/blazor.webassembly.js"></script>
+ <script src="_content/GoogleAnalytics.Blazor/googleanalytics.blazor.js"></script>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).
- Inject
IGBAnalyticsManagerwherever you want to trigger the event. - Call
IGBAnalyticsManager.TrackEventpassing theEventNameandEventData(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});- Inject
IGBAnalyticsManagerinto a blazor component.
@using GoogleAnalytics.Blazor
@inject IGBAnalyticsManager AnalyticsManager- Suppress tracking for just the current page.
protected override void OnInitialized()
{
AnalyticsManager.SuppressNextPageHitTracking();
}- Disable page tracking for the whole application.
protected override void OnInitialized()
{
AnalyticsManager.DisableGlobalTracking();
}- Re-enable page tracking for the whole application.
protected override void OnInitialized()
{
AnalyticsManager.EnableGlobalTracking();
}