analytics

package
v0.0.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 15, 2026 License: MIT Imports: 3 Imported by: 0

Documentation

Overview

Package analytics provides event tracking integration for ForgeUI.

The analytics plugin hooks into ForgeUI's lifecycle to track page views, clicks, form submissions, and custom events.

Basic Usage

registry := plugin.NewRegistry()
registry.Use(analytics.New(analytics.Config{
    Provider: "plausible",
    Domain: "example.com",
}))

Features

  • Page view tracking
  • Click event tracking
  • Form submission tracking
  • Custom event emission
  • Provider adapters (Google Analytics, Plausible, etc.)
  • Privacy-friendly options (no cookies)

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Analytics

type Analytics struct {
	*plugin.PluginBase
	// contains filtered or unexported fields
}

Analytics plugin implements plugin lifecycle hooks.

func New

func New(config Config) *Analytics

New creates a new Analytics plugin.

func (*Analytics) AlpineComponents

func (a *Analytics) AlpineComponents() []plugin.AlpineComponent

AlpineComponents returns analytics components.

func (*Analytics) Directives

func (a *Analytics) Directives() []plugin.AlpineDirective

Directives returns analytics directives.

func (*Analytics) Init

func (a *Analytics) Init(ctx context.Context, registry *plugin.Registry) error

Init initializes the analytics plugin.

func (*Analytics) Magics

func (a *Analytics) Magics() []plugin.AlpineMagic

Magics returns analytics magic properties.

func (*Analytics) Scripts

func (a *Analytics) Scripts() []plugin.Script

Scripts returns analytics tracking scripts.

func (*Analytics) Shutdown

func (a *Analytics) Shutdown(ctx context.Context) error

Shutdown cleanly shuts down the plugin.

func (*Analytics) Stores

func (a *Analytics) Stores() []plugin.AlpineStore

Stores returns analytics stores.

type Config

type Config struct {
	// Provider is the analytics provider ("ga4", "plausible", "matomo", "custom")
	Provider string

	// Domain for the analytics (required for some providers)
	Domain string

	// TrackingID is the tracking ID or measurement ID
	TrackingID string

	// TrackPageViews enables automatic page view tracking
	TrackPageViews bool

	// TrackClicks enables automatic click tracking
	TrackClicks bool

	// TrackForms enables automatic form submission tracking
	TrackForms bool

	// CustomScript for custom analytics implementations
	CustomScript string
}

Config holds analytics configuration.

func DefaultConfig

func DefaultConfig() Config

DefaultConfig returns default analytics configuration.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL