All Projects → isc30 → blazor-analytics

isc30 / blazor-analytics

Licence: MIT license
Blazor extensions for Analytics: Google Analytics, GTAG, ...

Programming Languages

C#
18002 projects
typescript
32286 projects
HTML
75241 projects

Projects that are alternatives of or similar to blazor-analytics

AzureMapsControl.Components
Razor Components for azure-maps-control
Stars: ✭ 13 (-87.13%)
Mutual labels:  blazor, razor-components
Matblazor
Material Design components for Blazor and Razor Components
Stars: ✭ 2,599 (+2473.27%)
Mutual labels:  blazor, razor-components
Razor.SweetAlert2
A Razor class library for interacting with SweetAlert2
Stars: ✭ 98 (-2.97%)
Mutual labels:  blazor, razor-components
blazor-ui
A collection of examples related to Telerik UI for Blazor Components: https://www.telerik.com/blazor-ui
Stars: ✭ 182 (+80.2%)
Mutual labels:  blazor, razor-components
Home
Home for Blazor Extensions
Stars: ✭ 51 (-49.5%)
Mutual labels:  blazor, blazor-extensions
blazor-ui-messages
Localization messages for Telerik UI for Blazor components: https://www.telerik.com/blazor-ui
Stars: ✭ 24 (-76.24%)
Mutual labels:  blazor, razor-components
Awesome Blazor
Resources for Blazor, a .NET web framework using C#/Razor and HTML that runs in the browser with WebAssembly.
Stars: ✭ 6,063 (+5902.97%)
Mutual labels:  blazor, razor-components
blazor-docs
Public Documentation for Telerik UI for Blazor components.
Stars: ✭ 42 (-58.42%)
Mutual labels:  blazor, razor-components
nextjs-google-analytics
Google Analytics for Next.js
Stars: ✭ 242 (+139.6%)
Mutual labels:  google-analytics, gtag
bUnit
bUnit is a testing library for Blazor components that make tests look, feel, and runs like regular unit tests. bUnit makes it easy to render and control a component under test’s life-cycle, pass parameter and inject services into it, trigger event handlers, and verify the rendered markup from the component using a built-in semantic HTML comparer.
Stars: ✭ 857 (+748.51%)
Mutual labels:  blazor, razor-components
RazorComponents.Markdown
Razor component for Markdown rendering.
Stars: ✭ 30 (-70.3%)
Mutual labels:  blazor, razor-components
Blazor.PersianDatePicker
A free JavaScript Jalali (Persian) and Gregorian (Miladi) dual datepicker library for Blazor applications
Stars: ✭ 40 (-60.4%)
Mutual labels:  blazor, razor-components
Blazaco
A Blazor Component utilizing the Monaco editor by Microsoft
Stars: ✭ 23 (-77.23%)
Mutual labels:  blazor, blazor-extensions
hyde-hyde
A cool theme inspired by spf13's Hyde theme
Stars: ✭ 234 (+131.68%)
Mutual labels:  google-analytics
BlazorLazyLoad
BlazorLazyLoad is a concept of assembly lazy load in Blazor WASM application.
Stars: ✭ 16 (-84.16%)
Mutual labels:  blazor
streamlit-analytics
👀 Track & visualize user interactions with your streamlit app
Stars: ✭ 92 (-8.91%)
Mutual labels:  google-analytics
smart-blazor
Blazor UI Components & Examples
Stars: ✭ 32 (-68.32%)
Mutual labels:  blazor
ember-google-analytics-embed
An Ember Addon for adding analytics visualizations using the Google Analytics Embed API.
Stars: ✭ 26 (-74.26%)
Mutual labels:  google-analytics
EmbeddedBlazorContent
Library to load embedded content files (js and css) from Blazor libraries in server-side Blazor mode.
Stars: ✭ 39 (-61.39%)
Mutual labels:  blazor
auto-analytics
UNMAINTAINED! - Complete Google Analytics, Mixpanel, KISSmetrics (and more) integration for JavaScript applications.
Stars: ✭ 28 (-72.28%)
Mutual labels:  google-analytics

Blazor extensions for Analytics: Google Analytics, GTAG, etc...
AspNetCore Version: 3.1.8

NuGet Package

https://nuget.org/packages/Blazor-Analytics

Configuration

For Every Tracker

First, import the namespaces in _Imports.razor

@using Blazor.Analytics
@using Blazor.Analytics.Components

Then, add the NavigationTracker component below your Router in App.razor.
The tracker listens to every navigation change while it's rendered on a page.

    <Router ... />
+   <NavigationTracker />

ServerSide Specific Configuration

Edit _Host.cshtml and apply the following change:

    <script src="_framework/blazor.server.js"></script>
+   <script src="_content/Blazor-Analytics/blazor-analytics.js"></script>

WASM Specific Configuration

Edit index.html and apply the following change:

    <script src="_framework/blazor.webassembly.js"></script>
+   <script src="_content/Blazor-Analytics/blazor-analytics.js"></script>

Setting up GoogleAnalytics

Inside your main Startup/Program, call AddGoogleAnalytics. This will configure your GTAG_ID automatically.

+   services.AddGoogleAnalytics("YOUR_GTAG_ID");

How to trigger an Analytics Event

  1. Inject IAnalytics wherever you want to trigger the event.
  2. Call IAnalytics.TrackEvent passing the EventName and EventData (an object containing the event data).
    Or
    Call IAnalytics.TrackEvent passing the EventName, Value and Category (optional).
@inject Blazor.Analytics.IAnalytics Analytics

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

How to disable tracking on any page

1.- Inject ITrackingState on blazor component

@using Blazor.Analytics.Abstractions
@using Blazor.Analytics

@inject ITrackingNavigationState TrackingNavigationState
@inject IAnalytics GlobalTracking

2.- Disable tracking on initialized

2.1 For current page

protected override void OnInitialized()
{
    TrackingNavigationState.DisableTracking();
}

2.2 For whole application

protected override void OnInitialized()
{
    GlobalTracking.Disable();
}

Changelog

v3.8.0

  • Support for globally enable/disable tracking for the whole application

v3.7.0

  • Support for disable tracking on any page

v3.1.0

  • Support for Events

v3.0.0

  • Added support for
    • ServerSide (pre-rendering)
    • ServerSide (runtime)
    • WASM (runtime)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].