@savri/tracker
NPMOfficiellt npm-paket för React, Next.js och vanilla JavaScript. Fullt TypeScript-stöd.
- • Fullt TypeScript-stöd med typdefinitioner
- • Tree-shakable - inkludera bara det du använder
- • React hooks för sömlös integration
- • Ingen global window-förorening
Installation
npm install @savri/tracker
Eller med Yarn:
yarn add @savri/tracker
React / Next.js
Wrappa din app med SavriProvider och använd hooks var som helst i komponentträdet.
SavriProvider
Lägg till providern i din root layout för att aktivera tracking i hela appen.
app/layout.tsx
import { SavriProvider } from '@savri/tracker/react'
export default function RootLayout({ children }) {
return (
<html>
<body>
<SavriProvider siteId="your-site-id">
{children}
</SavriProvider>
</body>
</html>
)
}useTracker()
Få tillgång till trackEvent och trackPageview från vilken komponent som helst.
import { useTracker } from '@savri/tracker/react'
function SignupButton() {
const { trackEvent } = useTracker()
return (
<button onClick={() => trackEvent('Signup Click', { plan: 'pro' })}>
Sign Up
</button>
)
}usePageview(url?)
Tracka en sidvisning när en komponent monteras. Användbart för modaler och flikar.
import { usePageview } from '@savri/tracker/react'
function SignupModal() {
usePageview('/modal/signup')
return <div>...</div>
}useTrackEvent(eventName)
Få en memoizerad callback för att tracka ett specifikt event.
import { useTrackEvent } from '@savri/tracker/react'
function CTAButton() {
const trackClick = useTrackEvent('CTA Click')
return (
<button onClick={() => trackClick({ variant: 'blue' })}>
Click me
</button>
)
}Vanilla JavaScript
För projekt utan React, importera funktionerna direkt.
Initiera och tracka
import { init, trackEvent } from '@savri/tracker'
// Initialize once on page load
init({ siteId: 'your-site-id' })
// Track events anywhere
document.getElementById('signup-btn').addEventListener('click', () => {
trackEvent('Signup Click', { plan: 'pro' })
})Konfigurationsalternativ
Anpassa tracking-beteendet med dessa alternativ:
<SavriProvider siteId="your-site-id" // Required apiUrl="https://savri.io" // Optional, defaults to savri.io trackOutboundLinks // Track external link clicks trackFileDownloads // Track file downloads trackForms // Track form submissions trackScrollDepth // Track scroll milestones debug // Log tracking calls to console > <App /> </SavriProvider>
Utökad tracking
Aktivera dessa funktioner för att automatiskt tracka vanliga användarinteraktioner:
| Funktion | Beskrivning | Event som genereras |
|---|---|---|
trackOutboundLinks | Tracka klick på externa länkar | Outbound Link: Click |
trackFileDownloads | Tracka filnedladdningar (PDF, ZIP, etc.) | File Download |
trackForms | Tracka formulärinskickningar | Form Submit |
trackScrollDepth | Tracka scroll-milstolpar (25%, 50%, 75%, 100%) | Scroll Depth |
TypeScript
Fullt TypeScript-stöd ingår. Importera typer från paketet:
import type { SavriConfig, EventProps } from '@savri/tracker'
const config: SavriConfig = {
siteId: 'your-site-id',
trackOutboundLinks: true,
}
const props: EventProps = {
productId: 'abc123',
price: 99.99,
}Föredrar du en script-tagg?
Om du hellre inte vill använda npm kan du lägga till vårt tracking-script direkt i din HTML.
Visa script-tagg-guide →