@technoapple/ga4
Version:
TypeScript Node.js library to support GA4 analytics.
66 lines (48 loc) • 1.17 kB
Markdown
Use this setup for plain JavaScript or TypeScript browser apps.
```bash
npm install @technoapple/ga4
```
```ts
import {
ga4,
EventTracker,
OutboundLinkTracker,
UrlChangeTracker,
} from '@technoapple/ga4';
ga4.init({ targetId: 'G-XXXXXXX' });
ga4.use(EventTracker);
ga4.use(OutboundLinkTracker);
ga4.use(UrlChangeTracker, { trackReplaceState: true });
// Custom event
ga4.send('app_loaded', {
app_name: 'marketing_site',
});
```
```html
<button
data-ga4-on="click"
data-ga4-event-name="cta_click"
data-ga4-cta-name="hero_primary"
>
Get Started
</button>
```
With `EventTracker`, this emits:
```ts
gtag('event', 'cta_click', {
cta_name: 'hero_primary',
});
```
If the page shell hot-swaps modules or widgets, remove listeners before re-initializing:
```ts
ga4.removeAll();
```
- Initialize once at app startup.
- Register plugins after `ga4.init(...)`.
- Avoid duplicate page-view logic if another script already tracks history changes.